उस पर कई सवाल उठे हैं, लेकिन उनमें से किसी ने भी मेरी समस्या का समाधान नहीं किया है।
मेरे पास एक मशीन है:
- विंडोज 7 x64
- पायथन 3.4.3 x64
- गदल स्थापित
gdalinfo --version --> GDAL 1.11.4, released 2016/01/25
:; GDAL एक पहिया से स्थापित किया गया थाGDAL-1.11.4-cp34-none-win_amd64.whl
से यहाँ
GDAL में स्थापित है C:\Python34\Lib\site-packages\osgeo
। वहाँ मेरे पास गदल और ऑग और .pyd फ़ाइलों के लिए .exe फ़ाइलों का एक गुच्छा है।
- fiona इंस्टॉल: एक व्हील
Fiona-1.6.3-cp34-none-win_amd64.whl
से, उसी वेबसाइट से इंस्टॉल किया गया था ।
मैं इस कोड को चलाने में सक्षम हूं और यह सफलतापूर्वक निष्पादित होता है:
import gdal
import ogr
from gdalconst import *
shp = r"C:\Data\GIS\PTS.shp"
driver = ogr.GetDriverByName('ESRI Shapefile')
dataset = driver.Open(shp)
layer = dataset.GetLayer()
layer.GetFeatureCount()
schema = layer.schema
fields = [field.GetName() for field in schema]
feature = layer.GetNextFeature()
मैं ओजीआर प्रारूप प्राप्त करने में भी सक्षम हूं: ogrinfo --formats
विंडोज सेमी में उनमें से एक गुच्छा प्रिंट करता है (हालांकि वहां कोई फ़ाइलगीडीबी नहीं है)।
मैं इस कोड को चलाने में सक्षम हूं और यह सफलतापूर्वक निष्पादित होता है:
import fiona
with fiona.drivers():
with fiona.open(path=r'C:\Data\GIS\TemplateData.gdb', driver='OpenFileGDB') as source:
print(source.meta)
हालाँकि, यह कोड नहीं चलेगा:
with fiona.drivers():
with fiona.open(path=r'C:\Data\GIS\TemplateData.gdb', driver='FileGDB') as source:
print(source.meta)
क्योंकि मेरे पास Esri फ़ाइल GDB संकलित लाइब्रेरी नहीं है जो आवश्यक हैं।
मैंने Esri डाउनलोड पेजFileGDB_API_VS2012_1_3.zip
से डाउनलोड और अनपैक किया है । जैसा कि मैंने समझा, कुछ भी संकलित करने की आवश्यकता नहीं है क्योंकि डडल पहले से ही है।
Esri फ़ाइल GDB API के dll को पंजीकृत करने की सही प्रक्रिया क्या है जो मेरे वातावरण में फियोना में उनका उपयोग करने में सक्षम हो?
अद्यतन: (ल्यूक के जवाब पर आधारित)
मैंने Esri डाउनलोड पेजFile Geodatabase API 1.4 version for Windows (Visual Studio 2010)
से डाउनलोड किया है । मैं करने के लिए नकल की । अब मेरे पास यहां दो फाइलें हैं, और ।FileGDB_API_VS2010_1_4\bin64\FileGDBAPI.dll
C:\Python34\Lib\site-packages\osgeo
ogr_FileGDB.dll
FileGDBAPI.dll
मैंने एक विंडोज वैरिएबल बनाया है GDAL_DRIVER_PATH : C:\Python34\Lib\site-packages\osgeo\gdalplugins
। में PATH
चर, मैं के अलावा कुछ अजगर विशिष्ट की जरूरत नहीं है C:\Python34\Lib\site-packages\osgeo
।
अब जब ogrinfo --formats
मैं दौड़ रहा हूं -> "FileGDB" (read/write)
और फाइलगीडी चालक के साथ काम करने के लिए पायथन कोड का उपयोग करने में सक्षम हूं।
[python install dir]\Lib\site-packages\osgeo
डायर को कॉपी करें जैसा कि मैंने अपने उत्तर में निर्दिष्ट किया था, न कि आपके द्वारा संपादित किए गए gdalplugins डायर का। केवल ड्राइवर प्लगइन्स उस निर्देशिका में जाते हैं, न कि थर्ड पार्टी डीएलएस।