Вызов Geoserver WMS не возвращает базовую карту - PullRequest
0 голосов
/ 30 августа 2018

Я работаю над веб-приложением, основанным на openlayers, геосервере, java и javascript.

Пользователь должен выбрать область на карте, и эта большая часть должна быть загружена как изображение. Я пытался использовать удар WMS с помощью AJAX -

http://localhost:8080/geoserver/wms?request=GetMap&service=WMS&version=1.1.0&layers=geoworkspace:STRUCTURE,&styles=&srs=EPSG:27700&bbox=526274.1873390013,196214.08896841796,526277.1040062243,196217.2973028639&width=1200&height=1200&format_options=dpi:300;antialiasing:on&format=image%2Fpng8

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

Есть ли альтернативный подход к этому требованию?

Ответы [ 2 ]

0 голосов
/ 12 ноября 2018

Если ваш базовый слой находится на том же сервере, вы можете запросить его в одной операции GetMap, указав имя слоя в списке через запятую как часть параметра запроса слоев. Обратите внимание, что при этом создается одно изображение, которое объединяет слои, поэтому вам необходимо позаботиться о порядке перечисления слоев.

Итак

http://ogc2.bgs.ac.uk/cgi-bin/UGA_ARGI/ows?service=WMS&version=1.3.0&request=GetMap&width=700&height=450&styles=,&layers=ARTISAN,ARTISANC&format=application/openlayers&crs=EPSG:4326&bbox=-2.000000,29.000000,4.500000,37.000000&

Слой ARTISANC рисуется поверх слоя ARTISAN.

и

http://ogc2.bgs.ac.uk/cgi-bin/UGA_ARGI/ows?service=WMS&version=1.3.0&request=GetMap&width=700&height=450&styles=,&layers=ARTISANC,ARTISAN&format=application/openlayers&crs=EPSG:4326&bbox=-2.000000,29.000000,4.500000,37.000000&

Слой ARTISAN рисуется поверх слоя ARTISANC.

Так что в вашем случае вы бы хотели, чтобы базовый слой был указан первым.

Также обратите внимание, что, поскольку у вас есть два слоя, у вас должно быть два стиля, поэтому у нас есть параметр запроса стилей, например styles=,&, или вы можете просто использовать styles& для принудительного использования значения по умолчанию.

0 голосов
/ 04 сентября 2018

Включить CORS на сервере (GeoServer) для ajax

https://gist.github.com/essoen/91a1004c1857e68d0b49f953f6a06235

...