Konfigurieren Sie, welche Bänder von einem 4-Band-ArcGIS-Image-Service angezeigt werden sollen?

14

Das USDA (über die National Map) bietet 4-Band- NAIP - ArcGIS- "ImageServer" ( Dienste ) für die meisten Bundesstaaten in den USA. Ich kann wie hier beschrieben eine Verbindung zum WMS-Dienst in QGIS herstellen , der die Bilder mit den Standard-RGB-Bändern (1,2,3) in QGIS lädt.

Ich möchte jedoch die Bilder ändern, um die CIR anzuzeigen (Bänder 4, 1, 2). Auf der Registerkarte "Stil" bietet der Rendertyp nur die Option "Einzelband-Farbdaten", nicht die in Schritt 3.5 für typische Raster hier beschriebene Option "Mehrbandfarbe" . Dies scheint eine Einschränkung des WMS-Dienstes zu sein .

Sie können dies über denselben Service in ArcGIS Desktop mithilfe des REST-Endpunkts ausführen. Ein ArcGIS Online- Webmap- Beispiel zum Ändern der Bänder eines Service ist über den REST-Endpunkt verfügbar. Gehen Sie einfach zu "..." auf der Ebene, wählen Sie "Bildanzeige" und dann "Benutzerdefinierter Renderer".

AKTUALISIEREN:

Ich habe mit den Entwicklertools in Chrome und dem ArcGIS.com-Kartenbeispiel von hier aus herumgespielt und denke, ich habe eine kleine Menge an Informationen gefunden. Nachdem ich die Einstellungen für die Bildanzeige geändert hatte, stellte ich fest, dass folgende Abfrageparameter festgelegt wurden:

https://gis.apfo.usda.gov/arcgis/rest/services/NAIP/Montana_2015_1m/ImageServer/exportImage?f=image&bandIds=3,0,1&bbox=...

Nachdem ich die Band-IDs erneut geändert hatte, stellte ich fest, dass die Band-IDs in diesem Abfrageparameter auf Null anstatt auf 1 basieren. Daher beziehen sich & bandIds = 3,0,1 tatsächlich auf die Bänder 4,1,2, die zur Anzeige von Bildern im CIR-Format verwendet werden. Ich muss also nur herausfinden, wie die Abfragezeichenfolge konfiguriert wird, damit QGIS diesen Parameter akzeptiert. Irgendwelche Gedanken?

RyanKDalton-OffTheGridMaps
quelle
1
Die Anweisungen, auf die Sie verweisen, beziehen sich eher auf das Herunterladen der Daten als auf den Zugriff von einem WMS (ich weiß, dass dies bedeutet, dass ein Bild heruntergeladen wird, aber ...). Bei einem WMS erhalten Sie ein vorgerendertes Bild, in der Regel ändern Sie das Sie haben den Bildstil zurückgegeben, indem Sie Ihren eigenen Stil als Teil einer SLD + WMS GetMap-Anforderung angegeben haben. Ich bin mir jedoch nicht sicher, ob Sie die Reihenfolge der Bänder (oder welche Bänder) mit SLD ändern können. Stattdessen müssen Sie das Multiband-TIFF herunterladen und die Änderungen lokal anwenden. Was Sie wirklich wollen, sind die Bilder, die als WCS geliefert werden ...
nmtoken
Danke für die Eingabe. Ich weiß, dass die Anweisungen, auf die ich verwiesen habe, für die Arbeit mit lokalen Daten gelten, aber ich kann das, was ich in ArcGIS Desktop möchte, mit demselben Image-Service ausführen. Dies ist, was ich in QGIS replizieren möchte. Der Übersichtlichkeit halber habe ich ein Beispiel für das Ändern der Bänder über denselben Web-Service mithilfe einer ArcGIS.com-Webkarte hinzugefügt.
RyanKDalton-OffTheGridMaps
Verwenden Sie ein WMS mit ArcGIS oder dem Rest- / Soap- / Image-Service?
Nmtoken
@nmtoken, Ah! Ich verstehe, was du sagst. Ich habe den Bilderservice verwendet, der in den USDA-Anweisungen unter fsa.usda.gov/Assets/USDA-FSA-Public/usdafiles/APFO/… beschrieben ist . Ich denke, diese Methode verwendet die REST-API. Als ich versuchte, den Layer als WMS-Dienst hinzuzufügen, erhielt ich das gleiche Ergebnis wie in QGIS.
RyanKDalton-OffTheGridMaps
Dies ist möglicherweise über den GDAL ArcGIS REST-Minitreiber gdal.org/frmt_ags_arcgisonline.xml und gdal.org/frmt_wms.html möglich , Beispiele decken jedoch nicht Ihren RGB / NIR-Fall ab.
user30184

Antworten:

1

OGC-konforme WMS-Dienste sind Bilder. Wenn ein Bilddienst 4-Band veröffentlicht wird, kann die WMS-Version nur RGB sein, nicht RGBI. Derzeit kann QGIS keinen ESRI-Image-Service laden (es gibt kein ESRI-Image-Service-Plugin).

Der Image-Service selbst kann mithilfe von ArcMap oder Arc Pro in Infrarot geändert werden. Klicken Sie mit der rechten Maustaste auf die Ebene im Inhaltsverzeichnis, gehen Sie zu Eigenschaften, gehen Sie zu Symboloy und ändern Sie dann das obere Band "Rot" in Band_4, das zweite Band "Grün" in Band_2 und das dritte Band "Blau" in Band_1.

Es gibt eine QGIS-Python-Route, aber ich habe sie nicht zum Laufen gebracht. Ich verwende 3.2). Beim Ausführen wird ein GDAL-Zertifikatfehler angezeigt. Aber nicht sicher, ob es sich um meine lokale Installation plus unsere Firewall oder um einen echten GDAL-Fehler handelt.

In QGIS gibt es unter Plugins eine Python-Konsole (wenn Sie diese nicht haben, müssen Sie sie installieren). Kopieren Sie das, was ich unten habe, und fügen Sie es in die Python-Konsole ein (ein Beispiel mit NAIP Alabama).

qgis.utils.iface.addRasterLayer (" https://gis.apfo.usda.gov/arcgis/rest/services/NAIP/Alabama/ImageServer?f=json&pretty=true ", "raster")

Hinweis: Die URL wird außerhalb von QGIS geladen - https://gis.apfo.usda.gov/arcgis/rest/services/NAIP/Alabama/ImageServer?f=json&pretty=true

Enolan
quelle