Skonfigurować, które pasma mają być wyświetlane z 4-pasmowej usługi obrazu ArcGIS?

14

USDA (za pośrednictwem mapy krajowej) zapewnia 4-pasmowy NAIP ArcGIS „ImageServer” ( usługi ) dla większości stanów w USA. Jestem w stanie pomyślnie połączyć się z usługą WMS w QGIS, jak opisano tutaj , która ładuje zdjęcia do QGIS przy użyciu domyślnych pasm RGB (1,2,3).

Chciałbym jednak zmienić obrazy, aby wyświetlić CIR (pasma 4,1,2). Na karcie „Styl” Typ renderowania oferuje tylko opcję „Dane koloru jednopasmowego”, a nie opcję „Kolor wielopasmowy” opisaną w kroku 3.5 dla typowych rastrów tutaj . Wydaje się, że jest to ograniczenie usługi WMS .

Możesz to zrobić z tej samej usługi w ArcGIS Desktop, używając punktu końcowego REST. Przykład mapy sieci ArcGIS Online polegający na zmianie pasm usługi jest dostępny przy użyciu punktu końcowego REST. Wystarczy przejść do „...” na warstwie, wybrać „Wyświetlanie obrazu”, a następnie „Renderer zdefiniowany przez użytkownika”.

AKTUALIZACJA:

Bawiłem się z Narzędziami dla programistów w Chrome i próbką mapy ArcGIS.com stąd i myślę, że znalazłem mały samorodek informacji. Po zmianie ustawień wyświetlania obrazu zauważyłem niektóre parametry zapytania ustawione jako:

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

Po ponownej zmianie identyfikatora pasma zdałem sobie sprawę, że identyfikatory bandID w tym parametrze zapytania są zerowe, a nie 1. Dlatego & bandIds = 3,0,1 naprawdę odnoszą się do pasm 4,1,2 używanych do wyświetlania zdjęć w formacie CIR. Muszę tylko dowiedzieć się, jak skonfigurować ciąg zapytania dla QGIS, aby zaakceptować ten parametr. jakieś pomysły?

RyanKDalton
źródło
1
Instrukcje, które chcesz powiedzieć o pobieraniu danych, a nie o uzyskiwaniu dostępu do danych z WMS (wiem, że to oznacza, że ​​obraz został pobrany, ale ...) W WMS otrzymujesz wstępnie renderowany obraz, zazwyczaj zmieniasz zwrócił styl obrazu poprzez podanie własnego stylu w ramach GetMap SLD + WMS, prośba, ale nie jestem pewien, czy możesz zmienić kolejność pasm (lub które pasma) za pomocą SLD. Zamiast tego musisz pobrać tiff dla wielu pasm i zastosować zmiany lokalnie. To, czego naprawdę chciałbyś, to obrazy dostarczane jako WCS ...
nmtoken
Dzięki za wkład. Wiem, że wskazane przeze mnie instrukcje dotyczą pracy z lokalnymi danymi, ale mogę robić to, o co mi chodzi w ArcGIS Desktop, korzystając z tej samej usługi obrazu. To właśnie chcę replikować w QGIS. Dla jasności dodałem przykład zmiany pasm za pośrednictwem tej samej usługi internetowej za pomocą mapy internetowej ArcGIS.com.
RyanKDalton,
Czy korzystasz z WMS z ArcGIS lub usługą rest / soap / image?
nmtoken 13.03.17
@nmtoken, Ah! Rozumiem co mówisz. Korzystałem z usługi zdjęć opisanej w instrukcjach USDA pod adresem fsa.usda.gov/Assets/USDA-FSA-Public/usdafiles/APFO/… . Myślę, że ta metoda używa interfejsu API REST. Kiedy próbowałem dodać warstwę jako usługę WMS, otrzymałem taki sam wynik jak w QGIS.
RyanKDalton
Może to być możliwe dzięki minidriver GDAL ArcGIS REST gdal.org/frmt_ags_arcgisonline.xml i gdal.org/frmt_wms.html ale przykłady nie wyczerpują sprawy RGB / NIR.
user30184,

Odpowiedzi:

1

Usługi WMS zgodne z OGC to obrazy. Jeśli usługa obrazu jest opublikowana 4-pasmowa, wersja WMS może być tylko RGB, a nie RGBI. W tej chwili QGIS nie może załadować usługi obrazu ESRI (nie ma wtyczki ESRI Image Service).

Sama usługa obrazu może zostać zmieniona na podczerwień poprzez użycie ArcMap lub Arc Pro. Kliknij prawym przyciskiem myszy warstwę w spisie treści, następnie przejdź do właściwości, następnie przejdź do symboloy, a następnie zmień górne pasmo „Czerwone” na Band_4, drugie pasmo „Zielone” na Band_2, a następnie trzecie pasmo „Niebieskie” na Band_1.

Istnieje trasa python QGIS, ale nie mam go do pracy używam 3.2). Po uruchomieniu pojawia się błąd certyfikatu GDAL. Ale nie jestem pewien, czy to moja lokalna instalacja plus nasza zapora ogniowa, czy prawdziwy błąd GDAL.

W QGIS pod Wtyczkami znajduje się konsola python (jeśli jej nie masz, musisz ją zainstalować). Skopiuj i wklej to, co mam poniżej, do konsoli python (jest to przykład przy użyciu NAIP Alabama).

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

Uwaga: URL ładuje się poza QGIS - https://gis.apfo.usda.gov/arcgis/rest/services/NAIP/Alabama/ImageServer?f=json&pretty=true

enolan
źródło