টপোলজি সংরক্ষণ করে একটি লাইন নেটওয়ার্ক কীভাবে সহজ করবেন?


9

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

এটি দেখতে এটির মতো:

http://i.stack.imgur.com/qJ2OJ.png

এবং এটি দেখতে এটির মতো হওয়া উচিত:

http://i.stack.imgur.com/FN4Z6.png

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

শুভেচ্ছান্তে

সম্পাদনা: আমি @ ডকাস্টল এর ধারণাটি বাস্তবায়নের চেষ্টা করেছি এবং নীচের কোডটি (আন্ডারডार्কের ব্লগ http://unddark.wordpress.com থেকে নেওয়া নেটওয়ার্ক জেনারেশন) আমার নেটওয়ার্ক থেকে কেবল অযৌক্তিক নোডগুলি (কেবল 2 সংলগ্ন লাইনস্ট্রিং সহ নোডগুলি) পেতে সক্ষম হয়েছি / ২০১১ / 02/07 / এ-বিগেনার্স-গাইড-টু-পিগ্রাউটিং / ):

SELECT * FROM
   (SELECT tmp.id as gid, node.the_geom FROM 
     (SELECT id, count(*) FROM network 
     JOIN node 
     ON (start_id = id OR end_id = id) AND (end_id = id OR start_id = id)
     GROUP BY id ORDER BY id) as tmp
   JOIN node ON (tmp.id = node.id)
   WHERE tmp.count = 2) as unn_node;

সুতরাং, এখন আমাকে যা করতে হবে তা হ'ল লাইনগুলি মার্জ করা। তবে কীভাবে হয় তা সম্পর্কে আমার কোনও ধারণা নেই। আমি ভাবছি এটি একটি লুপ হতে হবে যা উপরের ক্যোয়ারির ফলাফলের প্রতিটি সারির জন্য সংলগ্ন লাইনগুলি পেয়ে যায় এবং সেগুলিকে একত্রিত করে। তারপরে এটি নেটওয়ার্কটি পুরোপুরি পুনর্নির্মাণ করবে এবং উপরের ক্যোয়ারীটি কোনও খালি ফলাফল না পাওয়া পর্যন্ত প্রক্রিয়াটি পুনরাবৃত্তি করবে।


1
পিজিআরটিংয়ের জন্য আপনাকে কেন এটি করতে হবে? আপনার যদি ইতিমধ্যে উত্স / টার্গেট আইডি নির্ধারিত থাকে তবে আপনি কেবলস্তর এবং টার্গেট আইডি ধারণ করে একটি নতুন জ্যামিতি তৈরি করতে পারেন lin এটি আপনার দ্বিতীয় চিত্রের মতো দেখা উচিত।
dkastl

সমস্যাটি হ'ল লাইনগুলি বিভাগযুক্ত (আপনি পোস্ট করা প্রথম চিত্রটি যদি আপনি দেখেন তবে প্রতিটি পয়েন্ট আপনি দেখেন যে কোনও নতুন বিভাগ শুরু / শেষ হয়), আপনার পদ্ধতির জ্যামিতি (যা ভাল) সরল করে তবে টপোলজিটি নয়।
ক্রিসেরিক

1
আমি মনে করি না যে এটি আপনার চিত্র থেকে সুস্পষ্ট যে প্রতিটি পয়েন্ট একটি নতুন লাইনস্ট্রিং জ্যামিতি শুরু করে। আপনি কি ইতিমধ্যে সোর্স / টার্গেট কলামগুলি পূরণ করার জন্য পিজআরটিংয়ের অ্যাসাইন_ভারটেক্স_আইডি ফাংশনটি চালিয়েছেন? সেক্ষেত্রে আপনি পরে উত্স / টার্গেট আইডি যা কেবলমাত্র দু'বার বিদ্যমান তা সনাক্ত করতে কিছু প্রশ্ন করতে পারেন যার অর্থ আপনার এই মুহুর্তে দুটি লাইন বিভাগকে একত্রে সক্ষম করতে হবে। যদি উত্স / টার্গেট আইডি বেশি থাকে তবে এটি দ্বিগুণ হতে হবে।
dkastl

@ ডকাস্টল: খুব ভাল ধারণা! আমি আমার প্রশ্নটি আপডেট করে দেখিয়েছি যে আমি এর সাথে কতটা পেলাম।
ক্রিসেরিক

উত্তর:


4

আপনার অবশ্যই আপনার লাইনে একটি রমর-ডগ্লাস-পিকার ফিল্টার প্রয়োগ করা উচিত । এটি পোস্টজিআইএস-এস এসস্পিলিফাই ফাংশন হিসাবে উপলব্ধ । টপোলজি সংরক্ষণ সহ সংস্করণ আপনার ক্ষেত্রে আগ্রহী হতে পারে। শুভকামনা!

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