আমার কাছে শেপফিল রয়েছে (ইউরোপীয় প্রধান রাস্তাগুলি নিয়ে গঠিত) প্রায় 250.000 অংশ রয়েছে যা আমাকে পিগ্রাউটিংয়ের জন্য সহজ করতে হবে। তবে আমি এটি সঠিকভাবে করার উপায় খুঁজে পাচ্ছি না।
এটি দেখতে এটির মতো:
এবং এটি দেখতে এটির মতো হওয়া উচিত:
বাকী পয়েন্টগুলির মধ্যে টপোলজিকাল সংযোগ সংরক্ষণ করার সময় আমাকে কোনওভাবেই লাইনগুলির প্রতিটি পয়েন্টগুলি সরিয়ে ফেলতে হবে যা 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;
সুতরাং, এখন আমাকে যা করতে হবে তা হ'ল লাইনগুলি মার্জ করা। তবে কীভাবে হয় তা সম্পর্কে আমার কোনও ধারণা নেই। আমি ভাবছি এটি একটি লুপ হতে হবে যা উপরের ক্যোয়ারির ফলাফলের প্রতিটি সারির জন্য সংলগ্ন লাইনগুলি পেয়ে যায় এবং সেগুলিকে একত্রিত করে। তারপরে এটি নেটওয়ার্কটি পুরোপুরি পুনর্নির্মাণ করবে এবং উপরের ক্যোয়ারীটি কোনও খালি ফলাফল না পাওয়া পর্যন্ত প্রক্রিয়াটি পুনরাবৃত্তি করবে।