그것에 대해 많은 질문이 있었지만 아무도 내 문제를 해결하지 못했습니다.
나는 다음과 같은 기계를 가지고있다 :
- 윈도우 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
. 거기에 gdal 및 ogr 및 .pyd 파일에 대한 .exe 파일이 있습니다.
- fiona installed :
Fiona-1.6.3-cp34-none-win_amd64.whl
같은 웹 사이트에서 wheel로 설치되었습니다 .
이 코드를 실행할 수 있으며 성공적으로 실행됩니다.
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()
나는 또한 OGR 형식을 얻을 수 있습니다 : ogrinfo --formats
Windows cmd에서 많은 파일을 인쇄합니다 (FileGDB는 없지만).
이 코드를 실행할 수 있으며 성공적으로 실행됩니다.
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 File GDB 컴파일 라이브러리가 없기 때문에.
Esri 다운로드 페이지FileGDB_API_VS2012_1_3.zip
에서 다운로드하여 압축 을 풀었습니다 . 내가 이해했듯이 .dll이 이미 있으므로 아무것도 컴파일 할 필요가 없습니다.
내 환경에서 fiona에서 사용할 수 있도록 Esri File 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
Windows 변수를 만들었습니다 GDAL_DRIVER_PATH : C:\Python34\Lib\site-packages\osgeo\gdalplugins
. 에서 PATH
변수 I는 제외하고 아무것도 파이썬 관련이 없습니다 C:\Python34\Lib\site-packages\osgeo
.
실행중인 경우 지금 ogrinfo --formats
I get 및을 -> "FileGDB" (read/write)
하고 FileGDB 드라이버 작업을위한 파이썬 코드를 사용할 수있게되었습니다.
[python install dir]\Lib\site-packages\osgeo
편집에서 언급 한 gdalplugins 디렉토리가 아니라 내 대답에 지정된 디렉토리에 복사하십시오 . 타사 플러그인이 아닌 해당 디렉토리에 드라이버 플러그인 만 있습니다.