PgRouting - সর্বাধিক ব্যয় পৌঁছানোর সময় লিঙ্কগুলি কীভাবে ক্লিপ করবেন?


13

আমার কাছে একটি পললাইন শেফফাইল রয়েছে যা একটি রোড নেটওয়ার্ক এবং প্রতিনিধিত্বকারী একটি দ্বিতীয় শেফফিল রয়েছে points আমি এই পয়েন্টগুলি থেকে প্রসারিত সাব-নেটওয়ার্ক বা পরিষেবা ক্ষেত্রগুলি সনাক্ত করতে PostGIS (সম্ভবত PgRouting) ব্যবহার করতে চাই।

মূলত, আমি এই প্রশ্নটি জিজ্ঞাসা করার আশা করছি, "দশম পয়েন্ট থেকে শুরু করে, রাস্তার নেটওয়ার্কের অনুসরণ করে মোট 1 কিলোমিটার ভ্রমণের বাজেট দিয়ে আমি কোনও প্রদত্ত দিক থেকে কতদূর যেতে পারি?" ফলাফলটি 1 কিমি ভ্রমণের বাজেট প্রদত্ত, ভ্রমণের সম্ভাবনার মোট পরিসীমা উপস্থাপনকারী ক্লিপড পলিনগুলির একটি সেট হবে।

রেফারেন্সের জন্য, এই গ্রাএসএস বিশ্লেষণটি হ'ল আমি যা করতে চাই তা হ'ল (পোস্টজিআইএস-এ আমি এটি করতে চাই ব্যতীত): http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node57.html#sec: optalloc

এই পরবর্তী উদাহরণটি প্রায় আমি যা করতে চাই তা প্রদর্শিত হবে, যদি এই প্রশ্নের উত্তর না মনে হয় "X দূরত্বের ভ্রমণের বাজেট প্রদত্ত কোন নোডগুলিতে আমি ভ্রমণ করতে পারি?" http://underdark.wordpress.com/2011/02/12/drive-time-isochrones/

দ্বিতীয়টি আমি যে উত্তরটি সন্ধান করছি তা পুরোপুরি নয়, যেমন আমি চাইছি আমার ভ্রমণের দূরত্বে পোলাইনগুলি ক্লিপড - আমি কোনও নোডে সমস্ত উপায় তৈরি করে রাখি কিনা সেদিকে খেয়াল নেই।


আমার কাছে ঘটে যাওয়া একটি বিকল্পটি হ'ল কোনওভাবে আমার পলাইনকে প্রচুর পয়েন্টে বিভক্ত করা। এটি আমাকে সঠিক উত্তরের নিকটবর্তী করে, তবে বেশ হ্যাকি মনে হয় এবং এখনও আমাকে সেখানে পাওয়া যায় না।
পিটার

উত্তর:


2

আমার মনে হয়েছিল যে 1) ড্রাইভিং_ডাস্টিন রুটিন চালাতে হবে এবং 2) পয়েন্টের উপর ভিত্তি করে ড্রাইভিং_ডাস্টিন রুটিনের ভিত্তিতে প্রদত্ত ব্যয় দূরত্বে ক্ষুদ্রতম বহুভুজ (গুলি) আদান-প্রদানের জন্য পিজআরটিং (যেটি বর্ণমালা ফাংশন বলে) থেকে "পয়েন্ট_স_পলিগন" রুটিন ব্যবহার করুন আয়। তারপরে আপনি বহুভুজগুলির মধ্যে এমন সমস্ত রাস্তাগুলি নির্বাচন করতে পারেন যা আপনাকে ভ্রমণের একটি সাধারণ ধারণা দেয়।

আপনি যদি পিজিআউটিং ব্যবহারকারীদের তালিকায় আলোচনা অনুসরণ না করে থাকেন তবে তারা ইদানীং (মে ও জুন ২০১১ থ্রেড) আরও বিকল্প নিয়ে আলোচনা করছেন।


1
আকর্ষণীয় ব্যবহারকারী তালিকা আলোচনা। ড্রাইভিং_ডেসটেন্স ফাংশনটি খুব খারাপ is
আন্ডার ডার্ক

1

যেহেতু এটি সত্যিই একটি গ্রাফ সমস্যা, তাই আপনার যা দরকার তা হ'ল সংযোগ / টপোলজি + ব্যয় সম্পর্কিত তথ্য। Pg_routing এর জন্য, এটি সেই টেবিলটি যা আপনি সংক্ষিপ্ততম পথ অ্যালগরিদমগুলিতে প্রেরণ করেন। এই নিবন্ধটিতে কীভাবে একটি তৈরি করবেন সে সম্পর্কিত তথ্য রয়েছে (আমি ধরে নিলাম আপনার কাছে ইতিমধ্যে একটি রয়েছে)। দুঃখিত pg_routing এ আমি আপনার সঠিক ফাংশনটি দিতে পারছি না যা এটি করে তবে একটি লেখার যোগ্য হওয়া উচিত। তবে, আমি আপনাকে বলতে পারি যে আপনি যদি সংক্ষিপ্ত_পথকে বার বার কল করতে থাকেন এবং আপনার নীচের অ্যালগরিদমটি বার বার করছেন এবং ফলাফল ট্র্যাশ করছেন - মোটেই দক্ষ নয় not

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


1
শেষ ধাপে একটি সূক্ষ্মতা রয়েছে: এর প্রান্তগুলির উভয় দিক থেকে কিছু প্রান্ত পৌঁছে যেতে পারে। এটি উভয় প্রান্তের অংশগুলিকে অন্তর্ভুক্ত করতে বা এমনকি পুরো প্রান্তকে ঘোরার কারণ হতে পারে, যদিও শেষ পয়েন্টগুলির মধ্যে একটি থেকে পুরো প্রান্তটি অতিক্রম করে বাজেটের সীমা অতিক্রম করবে। যেমন, পয়েন্ট থেকে ভ্রমণ বিবেচনা একটি ইউনিট দৈর্ঘ্যের প্রান্ত {(A, B), (A, C), (B, C)} এবং 1.6 একটি বাজেট সহ একটি undirected গ্রাফ করেন। ব্যয় করতে 0.6 বাকী রেখে আপনি 1 এর দামে বা সি পৌঁছাতে পারেন । এটি প্রান্তের সাথে প্রতিটি পয়েন্টকে (বি, সি) অ্যাক্সেসযোগ্য করে তোলে।
হোবার

আপনি সঠিক বলেছেন :) +1
রাগী ইয়াসের বুড়হুম

1

"দশম পয়েন্ট থেকে শুরু করে, রাস্তার নেটওয়ার্ক অনুসরণ করে মোট 1 কিলোমিটার ভ্রমণের বাজেট প্রদত্ত আমি কোনও প্রদত্ত দিকের পথে কতদূর যেতে পারি?"

যেহেতু আপনাকে কেবল একটি ছোট অঞ্চল (সর্বোচ্চ 1 কিলোমিটার ব্যাসার্ধ) বিবেচনা করতে হবে, আপনি সম্ভবত লিঙ্কগুলি একাধিক ছোট টুকরো (আপনি যে সঠিকতাটি অর্জন করতে চান তার উপর নির্ভর করে) এবং প্রয়োজনীয় নোডগুলি তৈরি করে বিভক্ত হয়ে যেতে পারেন। ফলস্বরূপ "উচ্চ-রেজোলিউশন" নেটওয়ার্কগুলি এখনও পরিচালনাযোগ্য হওয়া উচিত।

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