অ্যালগরিদম: উত্স পললাইনটিকে একটি রেফারেন্স পললিনে সরান (সম্পূর্ণ বা সম্ভবত আংশিক)


10

আমাদের সিস্টেমে প্রয়োজনীয়তাগুলি রয়েছে যে আমরা কিছু উত্স রেখাগুলি (কম নির্ভুলতা সহ) রেফারেন্স লাইনে (উচ্চ নির্ভুলতার সাথে) সরানোতে চাই। নিম্নলিখিত ছবিগুলি ব্যবহারের সাধারণ ক্ষেত্রে দেয়। লাল একটি উত্স রেখা এবং নীল একটি রেফারেন্স লাইন।

লাল একটি উত্স রেখা এবং নীল একটি হল রেফারেন্স লাইন

এই ক্ষেত্রে, উত্স লাইনটি আংশিকভাবে সরানো হবে এবং ফলাফলটি সবুজ রেখার মতো হবে:

সরানো ফলাফল 1

এমন পরিস্থিতি রয়েছে যে উত্স রেখাটি পুরোপুরি সরানো দরকার।

উদাহরণ 2

ফলাফল:

সরান ফলাফল 2

বর্তমানে আমাদের সমাধানটি রেফারেন্স লাইনের উত্স লাইনের প্রধান / শেষ পয়েন্টটি প্রজেক্ট করা এবং তার বিপরীতে, উত্স এবং রেফারেন্স লাইনের উপর অনুমিত পয়েন্টগুলি সন্ধান করুন। এই প্রস্তাবিত পয়েন্টগুলির সাহায্যে আমরা উত্স এবং রেফারেন্স লাইনের প্রয়োজনীয় অংশটি বের করতে পারি এবং তারপরে সেগুলিকে একটি নতুন সাথে সংযুক্ত করতে পারি।

এটি বেশিরভাগ ক্ষেত্রে কাজ করে তবে এমন পদ্ধতি রয়েছে যা এই পদ্ধতিটি কার্যকর করে না। বিশেষত, যখন রেখার উভয়টিরই আকার "সি" থাকে বা শিরোনামটি শেষ বিন্দুর খুব কাছাকাছি থাকে। পরের দুটি ছবি দৃশ্য দেয়।

সি আকৃতির লাইনের মতো

আমার অ্যালগরিদম প্রয়োগ করে, আমরা ফলাফলটি পাই:

ফলাফল

একটি উপায়ে এটি বোধগম্য কারণ বর্তমান অ্যালগোরিদম সবেমাত্র অনুমিত পয়েন্ট এবং এক্সট্রাক্ট লাইনগুলি খুঁজে পায়।

আমরা যা প্রত্যাশা করছিলাম তা হ'ল এইরকম:

প্রত্যাশিত ফলাফল

এটি করার জন্য আমার আরও দৃ rob় অ্যালগরিদম কী প্রয়োজন যাতে এটি পূর্ববর্তীটির মতো বিশেষ কেসগুলিও পরিচালনা করতে পারে। আমি প্রতিটি পয়েন্টটি একটি লাইন থেকে অন্য লাইনে প্রজেক্ট করার চেষ্টা করেছি এবং দুটি অভিক্ষিপ্ত পয়েন্ট সন্ধান করতে চেষ্টা করেছি যা প্রজেক্ট রেখার মাথা / শেষ পয়েন্টের নিকটতম, তবে কোনও ভাগ্য হয়নি। তবুও আমি এমন কেস খুঁজে পেতে পারি যা অপ্রত্যাশিত ফলাফল দেয়।

এর আগে কি কেউ এরকম সমস্যা নিয়ে এসেছেন? এটি খুব ভাল হবে যদি কোনও সফ্টওয়্যার বা লাইব্রেরি একই রকম কাজ করতে পারে। কোন উত্তর প্রশংসা করা হবে।


1
আপনি যখন আর্কজিআইএস-এর টপোলজি কীভাবে বস্তুগুলি কাকতালীয় কিনা তা পরীক্ষা করে দেখলে আপনাকে সহায়তা করবে: help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//… অনুচ্ছেদ "ক্লাস্টার প্রসেসিং"।
জেনস

আপনার উত্তর, জেনস এর জন্য আপনাকে ধন্যবাদ। তবে আমি ভীত যে আমি যা চাই তা নয়।
এমএফদেব

এই লাইন একটি নেটওয়ার্ক উপস্থাপন করে? তাদের মধ্যে কি টপোলজিকাল সম্পর্ক রয়েছে?
জুলিয়ান

এটি কোনও নেটওয়ার্ক এবং সম্ভবত কোনও টপোলজিকাল সম্পর্ক হতে হবে না।
এমএফদেব

উত্তর:


4

আমার অনুমান যে শেষ কেসগুলি প্রায়শই ব্যতিক্রম হবে যা মেশিন প্রোগ্রামেবল নয়। আমি একই সমস্যা নিয়ে কাজ করেছি এবং তাদের সর্বদা একটি নির্দিষ্ট পরিমাণ ম্যানুয়াল সম্পাদনা প্রয়োজন। আপনার যে টিউনটি টিউন করতে হবে তা হ'ল ব্যতিক্রমগুলি যা কেস দ্বারা উত্পাদিত হয় এবং এগুলি একটি শেষ ব্যবহারকারীকে ওয়ার্ক ম্যানেজমেন্ট সিস্টেমে পরিবেশন করে।


এর কিছুটা অনুরূপ উদাহরণ এখানে দেখা যায় : ভিভিডসলিউশনস / জিসিএস জেসিএস জ্যামিতি সংমিশ্রণকে স্বয়ংক্রিয় করতে অনেক এগিয়ে যায় তবে জ্যামিতির জন্য ম্যানুয়াল কিউএও অন্তর্ভুক্ত করে যে এটি সম্পূর্ণরূপে একীভূত হতে পারে না। vividsolutions.com/… এটি থেকে নির্মিত এবং কিউএর জন্য অনুমতি দেয় এবং কঠিন জ্যামিতির জন্য ইস্যু ট্র্যাকিং যুক্ত করে।
ডিপিয়ার্স

1
সমস্ত টপোলজিকাল সমাধান প্রোগ্রামিং দ্বারা স্বয়ংক্রিয় করা যায় না এবং বড় উদ্যোগগুলিতে এই জাতীয় সমাধানগুলির উদাহরণের অনুরূপ বিকাশ ঘটে কারণ এই সংঘাতের ফলস্বরূপ একটি বৃহত পরিবর্তন এবং উচ্চতর পরিবর্তন হার সহ জটিল পরিবহন জ্যামিতিগুলির সাথে প্রকৃতির চক্রাকার হতে পারে।
লুইস

2

এই অ্যালগরিদমের জন্য আপনার একটি স্ন্যাপ সহনশীলতা এবং একটি পালা সহনশীলতা প্রয়োজন হবে (আমি ধরে নিই যে আপনার কাছে ইতিমধ্যে একটি স্ন্যাপ সহনশীলতা রয়েছে)।

উত্স রেখা থেকে রেফারেন্স লাইনে প্রধান পয়েন্টটি প্রজেক্ট করুন। এই প্রস্তাবিত বিন্দুতে রেফারেন্স লাইনটি ভাঙ্গুন।

উত্স রেখাটি ধরে ভ্রমণের দিকনির্দেশ পেতে সোজা পংক্তির থেকে প্রথম পয়েন্ট থেকে উত্স রেখাটি অতিক্রম করুন। আপনার দু'টি রেফারেন্স লাইনটিকে অনুমানিত উত্স বিন্দু থেকে পরবর্তী শীর্ষবিন্দুতে স্থানান্তর করুন। যদি ভ্রমণের দিকটি আপনার উত্স লাইনের প্রধান পয়েন্ট থেকে ভ্রমণের দিকের টার্ন সহনশীলতার মধ্যে থাকে, তবে আপনার অ্যালগরিদমটি সাধারণত প্রয়োগ করুন, তবে কেবল রেফারেন্স লাইনের সেই অংশটি ব্যবহার করুন। যদি অ্যালগরিদম উত্স রেখার শেষ প্রান্তে পৌঁছে যায়, আপনি সম্পন্ন করেছেন। যদি তা না হয় তবে রুপান্তরিত টুকরা এবং অপরিবর্তিত টুকরো (যা শেষ পয়েন্টটি অন্তর্ভুক্ত করবে) এর মধ্যে উত্স রেখাটি ভাঙ্গুন।

এখন অপরিকল্পিত অংশটি নিয়ে আসুন এবং মূল পয়েন্টটি মূল রেফারেন্স লাইনে প্রজেক্ট করুন। আগের মতো একই পদ্ধতিটি করুন ... ভ্রমণের দিকনির্দেশনা অনুসন্ধানের জন্য উত্সটি শেষ বিন্দু থেকে প্রথম শীর্ষে প্রবেশ করুন। প্রকল্পের শেষ বিন্দুতে রেফারেন্স লাইনটি ভাঙ্গুন এবং প্রত্যাশিত শেষ বিন্দু থেকে ভ্রমণের দিকটি টার্ন সহনশীলতার মধ্যে রয়েছে কিনা তা জানতে প্রতিটিকে ট্র্যাক করুন। যদি তা হয় তবে সাধারণত অ্যালগোরিদম প্রয়োগ করতে রেফারেন্স লাইনের সেই অংশটি ব্যবহার করুন।

মনে রাখবেন, এই মুহুর্তে আপনি কেবল অপ্রত্যাশিত টুকরোটি ব্যবহার করছেন, তাই আপনি হেড পয়েন্ট রূপান্তরের সাথে ওভারল্যাপ করবেন না।

পরিশেষে, যদি প্রয়োজন হয় তবে দুটি ফলস্বরূপ লাইন টুকরো একীভূত করুন: হেড পয়েন্টটি রূপান্তরিত মাথা বিন্দু থেকে অপরিকল্পিত ব্রেক ব্রেকের বিন্দুতে রূপান্তরিত করুন এবং তারপরে শেষ বিন্দুটি অপরিবর্তিত বিরতি বিন্দু থেকে অভিক্ষিপ্ত শেষ বিন্দুতে রূপান্তরিত করুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.