이 문제에 대한 게시물이 있지만 누구에게도 답변이 없습니다. 이것이 내가 다시 묻는 이유입니다. https://hub.qgis.org/wiki/17/Arcgis_rest : 내가 찾은PyQGIS를 사용하여 래스터 레이어를로드하는 방법은 무엇입니까?
한 후이
https://gis.stackexchange.com/questions/68032/raster-layer-invalid 내가 다음 링크에서 정보를 읽을 수 있었다.
WMS의 gdal_translate "http://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer?f=json&pretty=true"명령을 사용했습니다. 그리고 파일을 성공적으로 생성했습니다. 그러나 파일을 열려고 시도하고 공급자가 wms라고 가정하면 코드 보고서 계층은 유효하지 않습니다.
내가 사용하는 코드는 다음과 같습니다
file = QFileDialog.getOpenFileName(self,
"Open WMS", ".", "WMS (*.xml)")
fileInfo = QFileInfo(file)
# Add the layer
layer = QgsRasterLayer(file, fileInfo.fileName(),"wms")
if not layer.isValid():
print "Failed to load."
return
난 그냥 대화 상자에서 파일을 선택합니다.
다른 명령도 시도했습니다. qgis.utils.iface.addRasterLayer ("http://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer?f=jru&pretty=true", "raster") 다음 코드를 사용하여 :
layer = QgsRasterLayer("http://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer?f=json&pretty=true", "layer")
if not layer.isValid():
print "Failed to load."
return
또한 "로드하지 못했습니다." 원래 명령은 QGIS python 명령 줄에서 성공적으로 실행할 수 있습니다. 또한, 파이썬 콘솔에서 코드를 입력하려고하면 layer.isValid()가 true를 반환합니다. 독립형 스크립트에서는 작동하지 않습니다.