পোস্টজিআইএস থেকে কোনও পুনর্নির্দেশিত গ্রাফ কীভাবে তৈরি করা যায়?


9

এই প্রশ্নটি এমন সংস্থানগুলির সাথে সম্পর্কিত যা আমি এখনও সনাক্ত করতে পারি না, যদিও আমি কিছুক্ষণ ধরে ওয়েবে অনুসন্ধান করেছিলাম।

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

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

পাইথনের জন্য নেটওয়ার্কএক্স নামে একটি মডিউল রয়েছে যা গ্রাফগুলি নিয়ে কাজ করে, এবং যদিও এই সমস্যাটি এখানে স্ট্যাকেক্সচেঞ্জে উত্থাপিত হয়েছে , আমি যে গ্রাফটি তৈরির চেষ্টা করছি তা ডিজিট্রাফ নয় বরং একটি অনিচ্ছাকৃত।

আপডেট: 5 দিন আগে বেন রিলির ইউটিলিটি নেট ওয়ার্কটি নেটওয়ার্কএক্স প্রকল্পে যুক্ত করা হয়েছে। ইউটিলিটি ওয়ার্কটি শেফফাইল বৈশিষ্ট্যগুলি থেকে একটি নির্দেশিত গ্রাফ তৈরি করে।
প্রশ্নগুলি পোস্টজিআইএস ডাটাবেস থেকে পাঠ্য বৈশিষ্ট্যগুলির অনুরূপ পদ্ধতির জন্য উন্মুক্ত থাকে।


আপনি pgRouting ব্যবহার করতে চান না?
underdark

আমি পিজারাউটিং ব্যবহার করব, তবে আমি যে অ্যালগরিদমটি প্রয়োগ করতে চাইছি তা দ্বি-দিকীয় একটি তারকা এবং অফ-দ্য শেল্ফ বিকল্প নয়।
ব্যবহারকারী 39901230

উত্তর:


5

নেটওয়ার্কএক্সের নির্দেশিত গ্রাফগুলি পুনঃনির্দেশিতগুলিতে রূপান্তর করার একটি পদ্ধতি রয়েছে

উপরন্তু, কোড একটি shapefile (অথবা shapefiles নির্দেশিকা) পড়তে সত্যিই আউটপুট করার জন্য একটি নির্দেশ লেখচিত্র, দরকার নেই যে ঠিক কি আমি সময়ে প্রয়োজন ছিল। আমি চেষ্টা করিনি, তবে একক লাইনটি প্রতিস্থাপন করছি:

net = nx.DiGraph()

... কেবল কৌশলটি করতে পারে do

নেটওয়ার্কএক্স দেখে মনে হচ্ছে এটি 1.4 ( বৈশিষ্ট্য ) তে বাক্সের বাইরে (ওজিআর সহ) শেফফিলগুলি সমর্থন করবে ।


বিভ্রান্তির জন্য দুঃখিত. আমি আসলে যা করার চেষ্টা করছি তা হল shp2pgsql ব্যবহার করে শেফফায়ালগুলিকে একটি পোস্টজিআইএস ডাটাবেসে রূপান্তর করা এবং তারপরে পোস্টজিআইএস ডাটাবেস থেকে নেটওয়ার্কএক্স গ্রাফে আমদানি করতে।
ব্যবহারকারী 39901230

ধন্যবাদ বেন সবেমাত্র লক্ষ্য করা গেছে যে 5 দিন আগে তারা টিকিট বন্ধ করে দিয়েছে এবং আপনার কোডটি নেটওয়ার্কএক্স প্রকল্পে যুক্ত করা হয়েছে। পোস্টজিআইএস ডাটাবেসের বৈশিষ্ট্যগুলির সাথে একই জিনিসটি করা সম্ভব হবে কিনা তা দেখতে আকর্ষণীয় হত তবে ক্রিসমাসের ছুটির দিনে আমি তার উপর নজর রাখব।
ব্যবহারকারী 39901230

যেহেতু নেটওয়ার্কএক্স মডিউলটি অন্তর্ভুক্ত করেছে তবে এখনও ভি 1.4 প্রকাশিত হয়নি ইউটিলিটিওয়ার্ক ব্যবহারের কিছু নমুনা দেওয়া সম্ভব হবে। এখন পর্যন্ত আমি টেস্টনেট লোডের মাধ্যমে এবং এখানে পাওয়া আপনার নমুনাগুলির মাধ্যমে স্কিমেড করেছি: gis.stackexchange.com/questions/210/al
متبادل-

এটি করতে এখনও অনেক কাজ বাকি আছে, যে কারণে আমি এটি পাইপিতে রাখিনি। : আমি এখন উইকি সর্বজনীন করেছি, এটা ভাল কাজ নমুনা থাকা উচিত bitbucket.org/gallipoli/utilitynetwork/wiki/Home
bwreilly

যেহেতু আমি এটিকে আমার চূড়ান্ত স্নাতক বছরের প্রকল্পে অন্তর্ভুক্ত করার পরিকল্পনা করছি, আমার পক্ষে কি অবদান রাখা সম্ভব হবে?
user39901230


2

আপনি অন্যান্য ফ্রেমওয়ার্কগুলি ব্যবহারে কতটা আগ্রহী তা নিশ্চিত নন, বা যদি আপনি ইতিমধ্যে এটি সমাধান করে ফেলেছেন তবে জিওডজ্যাঙ্গো প্রকল্প জিআইএস ডেটা মডেলগুলিতে ইনস্টলড পোস্টজিআইএস বাইন্ডিং সহ পোস্টগ্রিস সহ বিভিন্ন জিআইএস সক্ষম ডাটাবেসগুলিতে সত্যিকারের দুর্দান্ত ওআরএম বৈশিষ্ট্য যুক্ত করেছে ।

জিওডজ্যাঙ্গো লিঙ্কটি এখানে: http://docs.djangoproject.com/en/dev/ref/contrib/gis/install/#overview

নোট করুন যে জ্যাঞ্জো অজগরটির জন্য একটি ওয়েব কাঠামো, জিওডজ্যাঙ্গো ব্যাকএন্ড ওয়েবডিভেলপমেন্টের জন্য জিআইএস ডেটা সম্পাদনা করতে এবং প্রদর্শন করতে চলেছে, তবে এটি সরাসরি ওজিআর পাইথন বাইন্ডিংয়ের চেয়ে অনেক বেশি স্বজ্ঞাত এবং শক্তিশালী শ্রেণীর দেয় (অনেক বেশি 'পাইথোনিক' এর পরিবর্তে) সরাসরি 'সি সিনট্যাক্স থেকে রূপান্তরিত', উদাহরণস্বরূপ আপনি কনস্ট্রাক্টরে wkbLineString ধ্রুবক সহ একটি ogr.Geometry ক্লাস তৈরি করার চেয়ে সরাসরি একটি django.contrib.gis.geos.linestring.LineString ক্লাস তৈরি করতে পারেন)।

Geodjango অবস্থিত টিউটোরিয়াল ইন: http://docs.djangoproject.com/en/dev/ref/contrib/gis/tutorial/

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

খুব কমপক্ষে, টিউটোরিয়ালটি দেখতে এবং পোস্টজিআইএস বাইন্ডিংগুলি সেটআপ করতে আমি 2-3 ঘন্টা সময় নিয়েছি এবং এই জিআইএস সরঞ্জামটি আপনি যা সন্ধান করছেন তা দেখুন কিনা।

এটিও নোট করুন, যখন আপনার একটি জিআইএস সক্ষম ডাটাবেস থাকে (যেমন পি.জি.এস.কি.এল. জন্য পোস্টজিআইএস বাইন্ডিং) আপনি ডাটাবেস সঞ্চিত ফাংশনগুলি ব্যবহার করে সরাসরি ডাটাবেস জ্যামিতির (লাইন / বহুভুজ) ডেটা 'অন্তর্ভুক্ত' করতে পারেন (যেমন ST_Contains(...): নমুনা এসকিউএল দেখুন postgis / এখানে pgsql জন্য: http://postgis.refractions.net/docs/ch04.html#id2639062 ... এবং Geodjango সম্পর্কে ভাল ভাগে, যে হয় এটা আপনার জন্য এই স্থানিক লুক-করতে অপ্টিমাইজ করা হয়!

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