अजगर GDAL: ogr.open या driver.open?


10

मैं आकृति के साथ हेरफेर करने के लिए अजगर के साथ GDAL का उपयोग कर रहा हूं। स्रोत फ़ाइल खोलते समय मैंने पहली बार ड्राइवर को "ओपीआरआई शेपफाइल" के लिए ड्राइवर को "ओपेन" विधि के साथ आवश्यक शेपाइल कॉल करने से पहले सेट किया।

मेरे पास इसके साथ कोई समस्या नहीं है; हालाँकि, मैं उत्सुक हूँ कि चालक के उदाहरण विधि "ओपन" और ओगर फ़ंक्शन "ओपन" के बीच क्या अंतर है। उदाहरण के लिए, क्या अंतर है:

driver = ogr.GetDriverByName("ESRI Shapefile")
source = driver.Open(“O:\myshp.shp”,0)

तथा

source = ogr.Open(“O:\myshp.shp”,0)

क्या कोई विशेष परिदृश्य है जहाँ आप एक दूसरे का उपयोग करेंगे?


फॉलोअप सवाल: यह driver = gdal.GetDriverByNameकाम करता है, और gdal.Openकाम करता है, लेकिन driver.Openऐसा नहीं लगता है। क्या रेखापुंज फ़ाइलों के लिए कोई समकक्ष नहीं है? मुझे पता है कि जीडीएएल और ओजीआर मूल रूप से अलग-अलग लोगों द्वारा विकसित किए गए थे, लेकिन इन एपीआई असंगतियों और प्रलेखन की पूरी तरह से कमी वास्तव में दर्दनाक है ...
एडम स्टीवर्ट

जवाबों:


11

यदि आप एक ड्राइवर निर्दिष्ट करते हैं, तो OGR केवल निर्दिष्ट ड्राइवर के साथ आपकी फ़ाइल को खोलने का प्रयास करेगा।

यदि आप इसे निर्दिष्ट नहीं करते हैं, तो OGR आपकी फ़ाइल को सभी ड्राइवरों के साथ खोलने का प्रयास करेगा। यह सभी ड्राइवरों पर लूप करेगा जब तक कि यह एक ड्राइवर नहीं पाता है जिसके साथ यह आपकी फ़ाइल को खोल सकता है। यह उन्हें खोलने के लिए जिस तरह का प्रयास करता है, ओगरिनोफॉर्फेट्स में सूचीबद्ध जैसा ही आदेश है।

यह प्रश्न भी देखें: इनपुट प्रारूप के लिए विशिष्ट ड्राइवर का उपयोग करने के लिए बल OGR

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