Configurar quais bandas exibir em um serviço de imagem ArcGIS de 4 bandas?

14

O USDA (através do Mapa Nacional) fornece NAIP ArcGIS "ImageServer" ( serviços ) de 4 bandas ( serviços ) para a maioria dos estados dos EUA. Consigo me conectar com êxito ao serviço WMS no QGIS, conforme descrito aqui , que carrega as imagens no QGIS usando as bandas RGB (1,2,3) padrão.

No entanto, gostaria de alterar as imagens para exibir o CIR (bandas 4,1,2). Na guia "Estilo", o Tipo de renderização oferece apenas a opção "Dados de cores de banda única", não a opção "Cor de banda múltipla" descrita na etapa 3.5 para rasters típicos aqui . Isso parece ser uma limitação do serviço WMS .

Você pode fazer isso no mesmo serviço no ArcGIS Desktop usando o terminal REST. Um exemplo de mapa da web do ArcGIS Online de alterar as bandas de um serviço está disponível usando o terminal REST. Basta ir ao "..." na camada, escolher "Image Display" e depois "User Defined Renderer".

ATUALIZAR:

Venho brincando com as Ferramentas do desenvolvedor no Chrome e com o exemplo de mapa do ArcGIS.com daqui e acho que encontrei uma pequena pepita de informações. Depois de alterar as configurações de exibição da imagem, notei alguns parâmetros de consulta definidos como:

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

Depois de alterar novamente os IDs da banda, percebi que os IDs da banda neste parâmetro de consulta são baseados em zero, em vez de baseados em 1. Portanto, & bandIds = 3,0,1 está realmente se referindo às bandas 4,1,2 usadas para exibir imagens no formato CIR. Então, eu só preciso descobrir como configurar a string de consulta para o QGIS aceitar esse parâmetro. Alguma ideia?

RyanKDalton
fonte
1
As instruções que você aponta para falar sobre o download dos dados, em vez de acessar os dados de um WMS (eu sei que isso significa que uma imagem foi baixada, mas ...) Com um WMS você está obtendo uma imagem pré-renderizada, geralmente você altera o retornou o estilo de imagem fornecendo seu próprio estilo como parte de uma solicitação SLM + WMS GetMap, mas não tenho certeza se você pode alterar a ordem das bandas (ou quais bandas) com o SLD. Em vez disso, você precisará baixar o tiff de várias bandas e aplicar as alterações localmente. O que você realmente quer é as imagens fornecido como um WCS ...
NmToken
Obrigado pela contribuição. Sei que as instruções apontadas são para trabalhar com dados locais, mas posso fazer o que estou procurando no ArcGIS Desktop usando o mesmo serviço de imagem. É isso que quero replicar no QGIS. Adicionei um exemplo de alteração de bandas pelo mesmo serviço da Web usando um mapa da ArcGIS.com, para maior clareza.
RyanKDalton
Você está usando um WMS com ArcGIS ou o serviço restante / sabão / imagem?
NmToken
@nmtoken, Ah! Entendo o que você está dizendo. Eu estava usando o serviço de imagens descrito nas instruções do USDA em fsa.usda.gov/Assets/USDA-FSA-Public/usdafiles/APFO/… . Estou pensando que esse método usa a API REST. Quando tentei adicionar a camada como um serviço WMS, obtive o mesmo resultado que no QGIS.
RyanKDalton
Pode ser possível por meio do minidriver GDAL ArcGIS REST gdal.org/frmt_ags_arcgisonline.xml e gdal.org/frmt_wms.html, mas exemplos não cobrem seu caso de RGB / NIR.
user30184

Respostas:

1

Os serviços WMS compatíveis com OGC são imagens. Se um serviço de imagem for publicado em 4 bandas, a versão WMS poderá ser apenas RGB e não RGBI. No momento, o QGIS não pode carregar um serviço de imagem ESRI (não há plug-in do serviço de imagem ESRI).

O próprio serviço de imagem pode ser alterado para infravermelho usando o ArcMap ou Arc Pro. Clique com o botão direito do mouse na camada no índice, vá para propriedades, depois para symboloy e altere a banda superior "Red" para Band_4, a segunda banda "Green" para Band_2 e a terceira banda "Blue" para Band_1.

Existe uma rota python QGIS, mas ainda não funcionou. Estou usando o 3.2). Eu recebo um erro de certificado GDAL quando o executo. Mas não tenho certeza se é minha instalação local mais nosso firewall ou um erro GDAL verdadeiro.

No QGIS, em Plugins, existe um console python (se você não o tiver, precisará instalá-lo). Copie e cole o que tenho abaixo no console python (é um exemplo usando o NAIP Alabama.)

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

Nota: O URL é carregado fora do QGIS - https://gis.apfo.usda.gov/arcgis/rest/services/NAIP/Alabama/ImageServer?f=json&pretty=true

enolan
fonte