WMS GetFeatureinfo для функциональных слоев

Я ищу способ использовать браузер для запроса всех функций WMS (со всеми атрибутами, которые есть у объекта), просто определяя параметр слоя или какие параметры мне нужно добавить, чтобы получить желаемый результат? Запросить все функции, которые обслуживает WMS, формат вывода должен быть txt, gml или xml. Что-то вроде этого...

wms?request=GetFeatureInfo&QUERY_LAYERS=my_layer&info_format=application/vnd.ogc.gml&select_all_features.

2 ответа

Решение

Это невозможно, операция WMS GetFeatureInfo извлекает местоположение точки (координату пикселя) на изображении карты (созданном с помощью операции GetMap).

Кроме того, WMS также не предоставляет функции, которые она предоставляет изображения (или видео), которые часто представляют некоторые входные данные, но не всегда, набор векторных данных.

То, что вам нужно, - это WFS (или WCS), это сервисы "загрузки", которые позволяют вам получать реальные данные.

Это невозможно с помощью WMS, но с помощью WFS вы можете получить всю GetFeatureInfo, а также применить некоторое ограниченное количество условий для получения желаемых результатов.

Для этого вам нужно использовать WFSREQUEST=GetFeature

Документация для WMS GetFeature описывает различные параметры более подробно.

Простым примером будет

      GET 
http://example.com/geoserver/wfs?
  service=wfs&
  version=2.0.0&
  request=GetFeature&
  typeNames=namespace:featuretype&
  count=N

GET
http://example.com/geoserver/wfs?
  service=wfs&
  version=1.1.0&
  request=GetFeature&
  typeName=namespace:featuretype&
  maxFeatures=N

Если вы хотите фильтровать по BBOX, вы можете использовать следующее, как указано в документации.

      POST
http://example.com/geoserver/wfs?
  service=wfs&
  version=2.0.0&
  request=GetFeature&
  typeNames=namespace:featuretype&
  srsName=CRS&
  bbox=a1,b1,a2,b2

Для меня это сработало и с GET.

Обратите внимание, еслиbbox=a1,b1,a2,b2не работает, попробуйbbox=a1,b1,a2,b2,CRS

Для меня даже сsrsName=CRS&bbox=a1,b1,a2,b2я получил"features": [],сsrsName=CRS&bbox=a1,b1,a2,b2,CRSя получил результаты

Другие вопросы по тегам