그래서 URL을 통해 .tif 파일을 스트리밍하려는 GDAL 라이브러리를 사용하는 Flask 응용 프로그램을 개발하고 있습니다.Flask 응용 프로그램을 통해 Python에서 GDAL로 원격 파일을 여는 방법
지금은 gdal.Open (filepath)을 사용하여 .tif 파일을 읽는 방법이 있습니다. (파이썬 콘솔과 같은) Flask 환경 외부에서 실행될 때, 로컬 파일과 URL에 대한 파일 경로를 지정하는 것만으로도 작동합니다. ERROR : 4 :`http://xxxxxxx.blob.core.windows.net/dsm/DSM_1km_6349_614.tif는 ' 는, 파일 시스템에 존재하지 않으며 지원으로 인식되지 않는 다음과 같은 코드가 플라스크 environement 내에서 실행될 때
from gdalconst import GA_ReadOnly
import gdal
filename = 'http://xxxxxxx.blob.core.windows.net/dsm/DSM_1km_6349_614.tif'
dataset = gdal.Open(filename, GA_ReadOnly)
if dataset is not None:
print 'Driver: ', dataset.GetDriver().ShortName,'/', \
dataset.GetDriver().LongName
그러나, 다음과 같은 메시지가 뜹니다 데이터 세트 이름.
내가 대신 플라스크 응용 프로그램의 로컬 파일 시스템에 파일을 다운로드하고 다음과 같이 파일의 경로를 삽입하는 경우 :
잘 작동block_blob_service = get_blobservice() #Initialize block service
block_blob_service.get_blob_to_path('dsm', blobname, filename) # Get blob to local filesystem, path to file saved in filename
dataset = gdal.Open(filename, GA_ReadOnly)
가 ... 것은이 이후 큰 파일 (200MB)을 요청하고 있는데 로컬 파일 참조 대신 URL을 사용하여 파일을 스트리밍하려고합니다.
누구에게이 문제를 일으킬 수있는 아이디어가 있습니까? 나는 또한 다른 곳에 제안 된 것처럼 URL 앞에 "/ vsicurl_streaming /"을 넣으려고 시도했다.
내가 파이썬 2.7, GDAL 32 비트를 사용하고 2.0.2
감사합니다. 게리,이 작품처럼 매력! – thallium
향후 방문자 :이 수정 프로그램은 .ECW 확장명의 파일과 작동하지 않는 것으로 보입니다. – thallium