Создайте URL-адрес WMS GetFeatureInfo вручную

Я собираюсь использовать wms getfeatureinfo для получения информации о слое без какой-либо библиотеки. На самом деле, я использую Android и не могу найти ничего для этого, поэтому мне нужно получить информацию от manually generated URL. Я видел ссылку на WMS и смог найти необходимые параметры для запроса с геосервера. Вот ссылка.

Я попытался создать пример URL-адреса для объекта, который находится в позиции 7547018.12374 -3645681.16486 в ESPG 3857 Мое имя слоя Hazard:point_4326, и я установил bbox, высоту и ширину как bbox=-2.002637639E7,-2.00489661E7,2.002637639E7,2.00489661E7&width=767&height=768, но это дает мне no features were found Я думаю, что проблема в настройке bbox. Вот URL, который я использовал

http://151.80.201.170/geoserver/Hazard/wms?request=GetFeatureInfo&service=WMS&version=1.1.1&layers=Hazard:point_4326&styles=&srs=EPSG%3A3875&format=image%2Fpng&bbox=-2.002637639E7,-2.00489661E7,2.002637639E7,2.00489661E7&width=767&height=768&query_layers=Hazard:point_4326&info_format=text%2Fplain&feature_count=50&x=0&y=0&exceptions=application%2Fvnd.ogc.se_xml

и это рабочий URL openlayer

Не могли бы вы помочь мне выяснить, где я делаю неправильно? Большое спасибо.


person Majid Hojati    schedule 21.06.2015    source источник


Ответы (1)


Проблема, как вы сказали, с ограничивающей рамкой. Вы не можете определить свой верхний угол и нижний угол одинаково. Нижний угол, как говорится, должен быть ниже.

Если вы ищете исходные данные слоя только по 1 точке; вы можете использовать GetFeatureInfo of Geoserver WMS. Однако вы должны быть осторожны при определении входных данных (Bounding box, width, height, x, y). Ширина, высота и x y должны быть как можно меньше. Например. 1,1,0,0 по порядку. Что касается ограничивающей рамки, вам нужна частота ваших исходных данных, я имею в виду разницу между ячейками (с точки зрения долготы, широты). Если разница между вашими ячейками составляет 0,2 каждая, а точка, которую вы хотите запросить, находится в Point(2.4,3.6); то ваша ограничительная рамка должна выглядеть так:

&bbox=2.3,3.5,2.5,3.7&ширина=1&высота=1&x=0&y=0

Если вы ищете все или некоторую прямоугольную область исходных данных, вам следует взглянуть на мой ответ, опубликованный здесь.

person halil    schedule 10.04.2017
comment
спасибо за ваш ответ, я посмотрю на ваш другой ответ, спасибо - person Majid Hojati; 11.04.2017