ओपन सोर्स रूटिंग / नेटवर्क विश्लेषण के लिए pgRout के विकल्प की तलाश?


35

मैं सोच रहा था कि वहाँ कोई विकल्प pgRout उपकरण के लिए कर रहे हैं ।

इसके बारे में थोड़ा सोचकर, मुझे लगता है कि विश्लेषण करने के लिए आर या आरपीवाई का उपयोग करना एकमात्र विकल्प है।

मूल रूप से मैं nonPostGIS डेटाबेस के आधार पर रूटिंग समस्याओं को हल करने की कोशिश कर रहा हूं। जैसा कि मेरा अधिकांश डेटा वास्तव में एक अलग प्रारूप में संग्रहीत है; हालाँकि, इसे परिवर्तित करना कठिन नहीं है। मुझे लगता है कि मेरे गूंगे मूर्ख मस्तिष्क के लिए pgRout को लागू करना मुश्किल है। तो शायद एक गैर डेटाबेस समाधान है कि मैं आसानी से कर सकते हैं मेरे लिए आदर्श होगा

जवाबों:


21

[संपादित करें: इसे nx_spatial द्वारा अधिलेखित किया गया है जो pypi (easy_install nx_spatial) से उपलब्ध है। नेटवर्कएक्स 1.4 में अब शेपफाइल्स आयात करना मानक है ]

मैं ईएसआरआई के पायथन जीपी एपीआई में ज्यामितीय नेटवर्क उपकरणों की कमी से निराश हूं, इसलिए मैंने कुछ ऐसा लिखा है जो शेपफाइल्स और फ़ीचर क्लासेस को नेटवर्कएक्स दिशात्मक ग्राफ़ (डायग्राफ) में लोड करता है ।

यह अभी भी प्रगति पर काम कर रहा है, लेकिन यह किसी ऐसी चीज के लिए एक शुरुआती शुरुआती बिंदु हो सकता है जो आपकी समस्या के साथ मदद कर सकता है।

http://bitbucket.org/gallipoli/utilitynetwork/

नमूने:

from utilitynetwork import Network

net = Network()

#load single file, method reqs OGR
net.loadshp("/shapefiles/test.shp")

#load directory full of shapefiles
net.loadshp("/shapefiles")

#load a feature class, req ESRI gp object, should work with shps as well
import arcgisscripting
gp = arcgisscripting.create(9.3)
net.loadfc("C:\somedb.gdb\featureclass", gp)

#Accessing node/edge data is done by the key value (the geometry as a tuple).
#access node data at x=4, y=2
nodekey = (4, 2)
net.node[nodekey]

संजाल से नेटवर्क विरासत में मिला है। डीग्राफ, इसलिए यह सब कार्यक्षमता उपलब्ध है।



5

नहीं है Flowmap , एक आला जीआईएस पैकेज नेटवर्क विश्लेषण के मुद्दों से निपटने के लिए बनाया गया।

यदि आपके पास काफी सरल उपयोग-मामला है, तो QGIS-आधारित क्वांटम नेविगेटर ट्रिक कर सकता है।

GRASS भी नेटवर्क विश्लेषण का समर्थन करता है , हालांकि यह पर्यावरण के अंदर स्थापित होने वाली चीजों के घर्षण के लायक नहीं हो सकता है।


4

यदि आप एक प्रोग्राम पाइथोनिक सॉल्यूशन की तलाश कर रहे हैं, तो नेटवर्कएक्स पर एक नज़र डालें


.shpNetworkx से जाने के लिए कोई लाइब्रेरी ? मैं एक अपने आप को अजगर में बना सकते हैं, लेकिन मैं rnot अधिक तत्पर था पहिया बदलने ...
fmark

4
इसका ठीक एक नहीं 1: 1 का मेल है क्योंकि आकृतिफाइल्स डेटा को साधारण सुविधाओं के रूप में संग्रहीत करते हैं, न कि सामयिक नेटवर्क। तो आपको पहले अपने स्रोत डेटासेट के बारे में कुछ बातें जानने / मानने की आवश्यकता है - मुख्य रूप से यह कि सभी चौराहे एक लिनस्ट्रिंग के लिए टर्मिनल नोड हैं। सरल फीचर्स को नेटवर्कक्स ग्राफ में बदलने के लिए जियोडजैंगो का उपयोग करने का एक उदाहरण है: code.google.com/p/marinemap/source/browse/lingcod/spacing/…
perrygeo

3

आप खुले स्रोत ग्राफहोपर परियोजना पर एक नज़र डाल सकते हैं - एक तेज और लचीला मार्ग योजनाकार। इसे यहाँ आज़माएँ । नोट: मैं लेखक हूँ


मैं GraphHopper के लिए वाउच कर रहा हूं क्योंकि यह सेटअप और उपयोग के लिए सुपर सरल है।
Bugmenot123



2

हमने पिछले वर्षों में कुछ शोध भी किए लेकिन हम अभी भी pgRout से खुश हैं और सोचते हैं कि यह हमारी जीआईएस-रूटिंग-आवश्यकताओं के लिए सबसे अच्छा समाधान है। दुर्भाग्य से वहाँ बहुत कुछ नहीं है जो मुझे पता है (हजारों यूरो / डॉलर का भुगतान किए बिना)। हम Navtech -Data के साथ काम करते हैं , जिसमें काम करने के लिए एक सही नेटवर्क है लेकिन सस्ता नहीं है। हमने OSM के साथ भी समय-समय पर कोशिश की, जो ठीक काम किया ... लेकिन हमेशा कुछ समस्याएं बनीं और इसलिए इसे कभी उत्पादन में नहीं लगाया।

हम भी सिर्फ ऊपर बताए गए ओपन सोर्स ग्राफोपर प्रोजेक्ट (कुछ हफ्ते पहले) में आए और सोचते हैं, कि इसमें बहुत अच्छा प्रदर्शन है। जहाँ तक मुझे पता है - उनके पास भी अपने प्रोजेक्ट के भीतर OSM Data चल रहा है।



1

कई रूटिंग समस्या सबसे कम पथ को निर्धारित करने के लिए डायजेस्ट्रा के एल्गोरिथ्म का उपयोग करती है। यह कोड के लिए अपेक्षाकृत सरल है: http://en.wikipedia.org/wiki/Dijkstra%27s_alotypm

इसके अलावा, गुइडो वैन रोसुम ने पायथन में रेखांकन के बारे में एक प्रारंभिक निबंध लिखा था। उनके छोटे टुकड़े में आदिम मार्ग डेटा संरचनाओं और कोडिंग के लिए एक दृष्टिकोण शामिल है: http://www.python.org/doc/essays/graphs.html

वहाँ बहुत सारे रूटिंग पैकेज हैं। विशेष रूप से भौगोलिक उद्देश्यों के लिए, pgRouting, graphserver (http://bmander.github.com/graphserver/) और ESRI ArcGIS नेटवर्क एनालिस्ट के दिमाग में आते हैं। सोशल नेटवर्क विश्लेषण समुदाय में ग्राफ विश्लेषण सॉफ्टवेयर की एक सूची है: http://www.insna.org/software/index.html और http://www.insna.org/software/software_old.html । उन पैकेजों में से कई खुले स्रोत हैं और भौगोलिक संदर्भ में प्रासंगिक हैं। अत्यधिक परिष्कृत, मजबूत या जटिल गणनाओं के लिए, CPLEX और लिंडो लिंगो जैसे रैखिक प्रोग्रामिंग पैकेज जांच के लायक हो सकते हैं।


समस्या यह है कि इन समाधानों में से अधिकांश में नोड्स और लिंक की एक प्रणाली की आवश्यकता होती है, और जीआईएस डेटा आमतौर पर इस तरह संग्रहीत नहीं किया जाता है
dassouki

1
नेटवर्क विश्लेषक $ 2,500 के बारे में है और वास्तव में इस तरह की खरीदारी करने में दिलचस्पी नहीं है। मैं बल्कि एक pythonic समाधान होगा
dassouki

2
डिजजस्ट्रा बहुत ही बेसिक ग्राफिक्स के लिए है। वास्तविक जीवन की समस्याओं के लिए, आमतौर पर यह बहुत भारी और धीमा एल्गोरिदम है। इसके अलावा, ईएसआरआई सॉफ्टवेयर, क्योंकि यह खुला नहीं है, इसमें सुधार करना मुश्किल है और धीरे-धीरे अन्य उपकरणों के पक्ष में पीछे छोड़ दिया जा रहा है।
मारिया एरियस डे रेयना डोमिनगेज

@dassouki सभी GIS डेटा अनिवार्य रूप से नोड्स और लिंक हैं, और osm2pgrout जैसे उपकरण, और सामान्य रूप से अन्य pgRout स्क्रिप्ट, मौजूदा GIS / स्थानिक डेटा को आवश्यक नोड्स और लिंक और किनारों में कनवर्ट करते हैं जो pgRout में उपयोग किए जाते हैं ...
DPSSpatial

1

अल्फा रिलीज में लेकिन आशाजनक लग रहा है:

GeoDaNet (अल्फा) - नेटवर्क पर स्थानिक बिंदु पैटर्न विश्लेषण ( PySAL Ptyhon पुस्तकालय पर आधारित , GeoDa केंद्र में संक्षिप्त)।

( स्लाइड , मैनुअल , डाउनलोड ।)


1

आप ग्रासहॉपर एपीआई का उपयोग कर सकते हैं - उनके पास एक मैट्रिक्स घटक है जिसे आप मैट्रिक्स एपीआई कहा जाता है

इसमें मेपजेन कैटल राउटिंग प्लगिन या मेपजन वलहैला इंजन भी है

साथ ही मैपबॉक्स डिस्टेंस एपीआई जिसे आप टैप कर सकते हैं

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.