Сконфигурировать, какие полосы отображать в 4-полосном сервисе изображений ArcGIS?


14

USDA (через Национальную карту) предоставляет 4-полосный NAIP ArcGIS «ImageServer» ( сервисы ) для большинства штатов США. Я могу успешно подключиться к сервису WMS в QGIS, как описано здесь , который загружает изображения в QGIS с использованием диапазонов RGB (1,2,3) по умолчанию.

Тем не менее, я хотел бы изменить изображения для отображения CIR (полосы 4,1,2). На вкладке «Стиль», рендера Type предлагает только вариант «однозонного цвета данных», а не варианта «многополосного цвета» , описанный в пункте 3.5 для типичных растров здесь . Похоже, что это ограничение службы WMS .

Вы можете сделать это из того же сервиса в ArcGIS Desktop, используя конечную точку REST. Пример веб-карты ArcGIS Online об изменении диапазонов сервиса доступен с использованием конечной точки REST. Просто перейдите к «...» на слое, выберите «Отображение изображения», а затем «Определенный пользователем рендер».

ОБНОВИТЬ:

Я поэкспериментировал с инструментами разработчика в Chrome и образцом карты ArcGIS.com и думаю, что нашел небольшой кусочек информации. После того, как я изменил настройки отображения изображения, я заметил некоторые параметры запроса, установленные как:

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

После того, как я снова изменил идентификаторы каналов, я понял, что идентификаторы bandID в этом параметре запроса основаны на нуле, а не на 1. Поэтому & bandIds = 3,0,1 действительно относятся к полосам 4,1,2, используемым для отображения изображений в формате CIR. Поэтому мне просто нужно выяснить, как настроить строку запроса для QGIS, чтобы принять этот параметр. Есть предположения?


1
Инструкции, на которые вы указываете, чтобы поговорить о загрузке данных, а не о доступе к данным из WMS (я знаю, что это означает, что изображение загружается, но ...) С WMS вы получаете предварительно отрендеренное изображение, обычно вы меняете возвращает стиль изображения, предоставляя свой собственный стиль как часть запроса SLM + WMS GetMap, но я не уверен, что вы можете изменить порядок каналов (или какие диапазоны) с помощью SLD. Вместо этого вам нужно скачать многополосный TIFF и применить изменения локально. То, что вы действительно хотите, это изображения, поставляемые в виде WCS ...
nmtoken

Спасибо за вклад. Я знаю инструкции, на которые я указал, для работы с локальными данными, но я могу делать то, что я делаю в ArcGIS Desktop, используя тот же сервис изображений. Это то, что я хочу воспроизвести в QGIS. Для ясности я добавил пример смены полос через один и тот же веб-сервис с использованием веб-карты ArcGIS.com.
RyanKDalton

Вы используете WMS с ArcGIS или сервис rest / soap / image?
nmtoken

@nmtoken, ах! Я вижу, что вы говорите. Я пользовался сервисом Imagery, описанным в инструкциях USDA по адресу fsa.usda.gov/Assets/USDA-FSA-Public/usdafiles/APFO/… . Я думаю, что этот метод использует REST API. Когда я попытался добавить слой в качестве сервиса WMS, я получил тот же результат, что и в QGIS.
RyanKDalton

Это может быть возможно с помощью мини- драйвера GDAL ArcGIS REST gdal.org/frmt_ags_arcgisonline.xml и gdal.org/frmt_wms.html, но примеры не охватывают ваш случай с RGB / NIR.
user30184

Ответы:


1

Соответствующие OGC сервисы WMS являются изображениями. Если сервис изображений опубликован в 4-х полосном варианте, версия WMS может быть только RGB, а не RGBI. В настоящее время QGIS не может загрузить службу изображений ESRI (плагин службы изображений ESRI отсутствует).

Сам сервис изображений может быть изменен на инфракрасный, используя ArcMap или Arc Pro. Щелкните правой кнопкой мыши слой в таблице содержания, затем перейдите к свойствам, затем перейдите к Symboloy, а затем измените верхнюю полосу «Red» на Band_4, вторую полосу «Green» на Band_2, а затем третью полосу «Blue» на Band_1.

Существует маршрут Python QGIS, но я не получил его на работу, я использую 3.2). Я получаю ошибку сертификата GDAL при запуске. Но не уверен, что это моя локальная установка плюс наш брандмауэр или настоящая ошибка GDAL.

В QGIS под плагинами есть консоль python (если у вас ее нет, вам нужно ее установить). Скопируйте и вставьте то, что у меня есть ниже, в консоль python (это пример использования NAIP Alabama.)

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

Примечание. URL-адрес загружается вне QGIS - https://gis.apfo.usda.gov/arcgis/rest/services/NAIP/Alabama/ImageServer?f=json&pretty=true.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.