Bu konuda bir sürü soru vardı ama hiçbiri sorunumu çözmedi.
Bir makinem var:
- Windows 7 x64
- Python 3.4.3 x64
- gdal yüklü
gdalinfo --version --> GDAL 1.11.4, released 2016/01/25
:; gdal bir çarkından yüklendiğiGDAL-1.11.4-cp34-none-win_amd64.whl
dan burada
GDAL içine kurulur C:\Python34\Lib\site-packages\osgeo
. Orada gdal ve ogr ve .pyd dosyaları için bir sürü .exe dosyaları var.
- fiona yüklü: bir tekerlekten
Fiona-1.6.3-cp34-none-win_amd64.whl
, aynı web sitesinden kuruldu .
Bu kodu çalıştırmak mümkün ve başarıyla yürütür:
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()
Ayrıca OGR formatlarını da elde edebiliyorum: ogrinfo --formats
Windows cmd'de bunlardan bir demet yazdırıyor (orada FileGDB olmadan).
Bu kodu çalıştırmak mümkün ve başarıyla yürütür:
import fiona
with fiona.drivers():
with fiona.open(path=r'C:\Data\GIS\TemplateData.gdb', driver='OpenFileGDB') as source:
print(source.meta)
Ancak, bu kod çalışmaz:
with fiona.drivers():
with fiona.open(path=r'C:\Data\GIS\TemplateData.gdb', driver='FileGDB') as source:
print(source.meta)
Çünkü gerekli olan Esri File GDB derlenmiş kitaplıkları yok.
Ben indirilen ve paketlenmemiş olması FileGDB_API_VS2012_1_3.zip
den Esri indirme sayfasına . Anladığım kadarıyla, .dll zaten orada olduğu gibi bir şey derlemeye gerek yoktur.
Benim ortamımda fiona kullanmak için Esri Dosya GDB API dll kaydetmek için doğru prosedür nedir?
GÜNCELLEME: (Luke'un cevabına dayanarak)
Ben indirmiş File Geodatabase API 1.4 version for Windows (Visual Studio 2010)
gelen Esri indirme sayfasına . Ben kopyalanan FileGDB_API_VS2010_1_4\bin64\FileGDBAPI.dll
için C:\Python34\Lib\site-packages\osgeo
. Şimdi burada iki dosyam var ogr_FileGDB.dll
ve FileGDBAPI.dll
.
Bir Windows değişkeni oluşturdum GDAL_DRIVER_PATH : C:\Python34\Lib\site-packages\osgeo\gdalplugins
. Gelen PATH
değişken, ben dışında herhangi bir şey Python özgü yok C:\Python34\Lib\site-packages\osgeo
.
Çalıştırırken Şimdi ogrinfo --formats
ben get -> "FileGDB" (read/write)
ve FileGDB sürücüsü ile çalışmak için Python kodunu kullanmak mümkün.
[python install dir]\Lib\site-packages\osgeo
dosyasını düzenlemede bahsettiğiniz gdalplugins dizinine değil, cevabımda belirttiğim gibi dir dizinine kopyalayın. Yalnızca sürücü eklentileri bu dizine gider, 3. taraf dll'leri değil.