मैं Ordinance Survey' (OS') ओपन से NetworkX/OSMnx में एक रोड नेटवर्क ग्राफ बनाना चाहता हूं। Roads डेटासेट जिसे मैंने एक भौगोलिक मार्कअप लैंग्वेज (GML) फ़ाइल के रूप में डाउनलोड किया है। एक शर्मनाक लंबे समय के बाद, और इस उत्तर के लिए धन्यवाद, मैंने महसूस किया कि यह GML फ़ाइल स्वरूप ग्राफ़ के समान नहीं है मॉडलिंग भाषा जिसे NetworkX/OSMnx स्वीकार करता है और इसके लिए एक अंतर्निहित फ़ंक्शन है।

ये फ़ाइल स्वरूप मेरे लिए पूरी तरह से नए हैं और इसलिए मैं पूछना चाहता था कि क्या OS के ओपन रोड डेटा को लोड करने का कोई तरीका है, जो कि GML प्रारूप में है, NetworkX/OSMnx में ताकि मैं इस पर कुछ नेटवर्क विश्लेषण कर सकूं? आदर्श रूप से, यह पायथन का उपयोग करेगा।

वैकल्पिक रूप से, मैंने ओपन स्ट्रीट मैप्स डेटा से रोड नेटवर्क बनाने के लिए सीधे OSMnx का उपयोग करने में कामयाबी हासिल की है, लेकिन मैं यह देखना चाहता था कि क्या OS ओपन रोड डेटा थोड़ा और पूर्ण था।

0
Olli Roberts 6 जुलाई 2021, 15:59

1 उत्तर

सबसे बढ़िया उत्तर

OSMnx को OpenStreetMap डेटा के साथ काम करने के लिए डिज़ाइन किया गया है। यदि आप अपने इनपुट डेटा को OSM जैसे प्रारूप में मालिश कर सकते हैं, तो उन्हें graph_from_gdfs फ़ंक्शन। आपको नोड्स की एक परत और किनारों की एक परत की आवश्यकता होगी। तब कदम कुछ इस तरह दिखाई देंगे:

  1. अपने GML नोड और किनारे की फ़ाइलों को GeoPackage परतों में बदलने के लिए ogr2ogr का उपयोग करें
  2. अपने नोड और एज जियोपैकेज लेयर्स को जियोपांडास के साथ जियोडेटाफ्रेम के रूप में लोड करें
  3. सुनिश्चित करें कि इन GeoDataFrames में आवश्यक अनुक्रमणिका और स्तंभ हैं
  4. GeoDataFrames को NetworkX MultiDiGraph में बदलने के लिए OSMnx के graph_from_gdfs फ़ंक्शन का उपयोग करें
1
gboeing 7 जुलाई 2021, 19:34