মানচিত্রে রাস্তা জংশন সনাক্তকরণের কার্যকর উপায় কী?


14

আমি আমার প্রকল্পের জন্য যে কোনও উত্স থেকে মানচিত্র পেতে পারি এবং আমি যে সি ++ অ্যালগরিদম তৈরি করছি তার জন্য অ্যালগরিদমটি জেনে রাখা জরুরী যে রাস্তাটি জংশন (যেখানে নোড যেখানে দুটি রাস্তার অংশের বেশি দেখা যায়)। এছাড়াও, আমি যে মানচিত্রগুলি পেয়েছি তার মধ্যে অনেকগুলি রাস্তা ওভারশুটিং এবং আন্ডারশুটিং (যেমন: রাস্তাগুলি সঠিকভাবে সংযুক্ত নয়) রয়েছে। সমস্যা সংশোধন করার একটি উপায় অটোক্যাড ব্যবহার করে রাস্তা নেটওয়ার্ক 'পরিষ্কার' করা। আমার যে প্রশ্নগুলি রয়েছে তা হ'ল:

  1. আমার মানচিত্রকে একটি জিএমএল ফর্ম্যাটে পাওয়ার জন্য কোনও কার্যকর উপায় (কোনও সফ্টওয়্যার এটি করতে পারে?) যা মানচিত্রে রাস্তা জংশন সম্পর্কিত তথ্য রয়েছে? (সম্ভবত একটি জিএমএল ট্যাগ রয়েছে যা বলে যে একটি নির্দিষ্ট নোড একটি জংশন)
  2. রাস্তা নেটওয়ার্ক 'পরিষ্কার' করার অন্য কোনও উপায় আছে কি?

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


2
এটি কি নিজের ছেদ করার রাস্তাগুলি খুঁজে পাওয়া দরকার? এটি ডিজেনরেট জ্যামিতিগুলি কীভাবে পরিচালনা করতে হবে (পলিইলাইন যেখানে সমস্ত শৃঙ্খলাগুলি শূন্য দৈর্ঘ্যের সমান হয়)। মোড় একটি লিনিয়ার অংশ এবং কেবল একটি বিন্দু নয় যেখানে এটি কাকতালিকাগুলি কীভাবে পরিচালনা করবে?
কर्क কুইকেনডাল

@ কির্ক: আপনি যে পরিস্থিতিতে উল্লেখ করেছেন তাতে আমি খানিকটা হতবাক হয়েছি। আমি জিআইএস-এ নতুন, এবং এটিও জানতাম না যে এ জাতীয় সম্ভাবনাগুলির অস্তিত্ব রয়েছে। 1. স্বতঃসংশোধনের জন্য একাধিক বিভাগ প্রয়োজন। এটি ফ্লাইওভার না হলে আমি সেই মোড়কে জংশন হিসাবে বিবেচনা করব। ২. আমি জ্যামিতিটি হ্রাসকারী কী তা কল্পনা করতেও সক্ষম নই, তাই কী উত্তর দিতে হবে তা আমি জানি না। ৩.উপযুক্ত লাইনগুলিকে দুটি পৃথক রাস্তা হিসাবে বিবেচনা করা উচিত কারণ আমি ধারণা করি যে তারা বাস্তব জীবনেও থাকবে।
নাভ

উত্তর:


9

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

আমি এটি পরে পরিষ্কার করার চেষ্টা করব, তবে আপনি নিতে পারেন এমন প্রাথমিক প্রবাহটি এখানে ...

for line in road_layer_lines:
    ilines = get_intersecting_objects(line)
    for iline in ilines:
        road_junctions.extend(get_intersection(line, iline))

ST_ * ফাংশন হ'ল পোস্টজিআইএস-এর মধ্যে এই কাজটি করে

  • এসT_ এনভেলপ : প্রদত্ত জ্যামিতির সীমানা বাক্সটি ধরে ফেলে - এটি অ্যালগোরিদমকে গতি বাড়ানোর জন্য ব্যবহৃত হয়। দ্রুত-তবে-কম-নির্ভুল পাসে বাউন্ডিং বাক্সগুলির সাহায্যে একটি ভৌগলিক অনুসন্ধান সংকীর্ণ করতে পারে এবং তারপরে প্রকৃত জ্যামিতির সাহায্যে ফলাফল স্ক্যান করতে পারে।
  • ST_ তথ্যসূত্র : দুটি জ্যামিতি ছেদ করে কিনা তা নির্ধারণ করে
  • ST_ সংযোগ : দুটি জ্যামিতির ছেদটি ফেরত দেয় Return

আমার কাছে শেষ করার সময় নেই বলে কেবলমাত্র স্নিপেটগুলি নীচে রয়েছে, সম্ভবত আমি এখানে ফিরে আসার আগে কেউ এটিকে সম্পাদনা করতে পারে ...

SELECT id, the_geom FROM road_lines
SELECT roads.id FROM road_lines roads WHERE ST_Intersects(roads.the_geom, my_geom)
SELECT ST_Intersection(roads.the_geom, my_geom) FROM road_lines roads WHERE roads.id = my_id

কেবল ভাগ করে নেওয়া: অন্য একটি ডাটাবেস যা আমি এনেছি তা হ'ল - < oracle.com/technetwork/datedia/berkeleydb/overview/index.html >। স্পষ্টতই প্রশ্নগুলি খুব দ্রুত কারণ প্রশ্নগুলি গ্রন্থাগার হিসাবে পাওয়া যায় যা অ্যাপ্লিকেশনটিতে এম্বেড করা যেতে পারে।
নাভ

1
@ dmsnell- সম্ভবত আপনি এই কাজটি সম্পাদন করতে ব্যবহৃত এসকিউএল কোয়েরির ধরণের উদাহরণ সরবরাহ করতে পারেন?
রায়ানকডাল্টন

11

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

এই ক্ষেত্রে, রাস্তাটিকে অল্প পরিমাণে বাফারিং এবং তারপরে একই পরিমাণের নেতিবাচক দ্বারা বাফারিংয়ের ফলে সমস্ত বাঁক এবং সমস্ত চৌরাস্তাগুলির চারপাশে সামান্য "দ্বীপপুঞ্জ" ছেড়ে যায় । এটি জ্যামিতিকভাবে প্রমাণ করা সহজ।

650 মিটার প্রশস্ত মানচিত্রে 10 মিটার পললাইন বাফার (ধূসর) এবং এর -10 মিটার বাফারের (হালকা লাল) উদাহরণ এখানে রয়েছে:

চিত্র 1

এখন এই দ্বীপ বহুভুজগুলির সাথে মূল পললাইন স্তরটি ছেদ করুন, দ্বীপ শনাক্তকারী দ্বারা বিভাগগুলি একীভূত করুন এবং টুকরোগুলি গণনা করুন:

চিত্র ২

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

বাফারিংয়ের প্রতিসাম্যের কারণে, ছেদ দ্বীপের সেন্ট্রয়েডগুলি ছেদ করার পয়েন্ট।

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


6

হ্যাঁ, আপনি অবশ্যই এফএমই দিয়ে এটি করতে পারতেন। অনেকগুলি "ট্রান্সফর্মার" রয়েছে যা ক্লিনআপ, ছেদগুলি এবং টপোলজি পরিচালনা করে; আমি এই ক্ষেত্রে টপোলজি বিল্ডার ট্রান্সফর্মার চেষ্টা করব try

যে কোনও স্ক্রিপ্টিং সমস্ত গ্রাফিক পরিবেশে সম্পন্ন হয়, তাই এটি করা খুব সহজ।

আপনি সর্বদা www.safe.com থেকে একটি পরীক্ষামূলক সংস্করণ পেতে পারেন

(প্রকাশ: মার্ক আয়ারল্যান্ড, ওরফে এফএমই প্রচারক, নিরাপদ সফটওয়্যার ইনক।)


আমিও একমত. এফএমই এই বিশেষ সমস্যার জন্য দুর্দান্ত, উভয়ই অটোক্যাড থেকে জিএমএলে রূপান্তর এবং টপোলজিক্যাল ক্লিনআপ। এটি প্রয়োগে আশ্চর্যজনকভাবে সর্বজনীন হতে পারে।
blord-castillo


-1

অর্গগিস নেটওয়ার্ক বিশ্লেষক, যা আপনি একটি নিখরচায় পরীক্ষার মাধ্যমে পেতে পারেন, এটি 10 ​​সেকেন্ডেরও কম সময়ে এবং কয়েকটি ক্লিকের মাধ্যমে করে।


-1

প্রক্রিয়াটি নেটওয়ার্ক বিশ্লেষকের সাথে আরকিজিআইএস-এ করা যেতে পারে।

আর্কজিআইএস-এ আরও একটি উপায় রয়েছে: আপনি ফললিউং পদক্ষেপগুলি অতিক্রম করতে পারেন: "আর্টকুলবক্স" Data "ডেটা পরিচালনার সরঞ্জামগুলি" features "বৈশিষ্ট্যগুলি" → "বৈশিষ্ট্যগুলি শীর্ষে বিন্দুতে" এবং সেখানে আপনি যা প্রয়োজন তা করতে পারেন।

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