Я каскадный (внешний) WMS с Geoserver. Я использую буклет для отображения слоя «granser», который показывает границы свойств. Правительственную версию этого сайта можно найти здесь: https://kso.etjanster.lantmateriet.se/?lang=en# (увеличьте масштаб и появятся желтые границы). Желтый стиль называется «morkbakgrund» и используется для темных фонов, таких как ортофото.
Вопрос 1:
Согласно техническому документу для WMS, два существуют стили: "люсбакгрунд" и "моркбакгрунд" для слоя "грансер". https://www.lantmateriet.se/globalassets/kartor-och-geografisk-information/geodatatjanster/tb_fastighetsindelningvisning_v1.2.pdf (к сожалению, в Swedi sh)
Я могу отображать слой на своем сайте, если не использую параметр styles:
. Затем он отображается со стилем по умолчанию ("ljusbakgrund"). Тем не менее, когда я добавляю styles: 'morkbakgrund'
ничего не показывает. Это код:
var wmsLayer = new L.TileLayer.WMS('https://my_url/wms/', {
layers: 'granser',
styles: 'morkbakgrund',
format:'image/png',
transparent:true
}).addTo(mymap);
Вместо того, чтобы возвращать png, я получаю vnd.og c .se_ xml, говорящее:
<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE ServiceExceptionReport SYSTEM "https://my_url/schemas/wms/1.1.1/WMS_exception_1_1_1.dtd"> <ServiceExceptionReport version="1.1.1" > <ServiceException code="StyleNotDefined">
No such style: morkbakgrund
</ServiceException></ServiceExceptionReport>
Если я открою WMS - слой в QGIS, я могу выбрать стилизованный слой "morkbakgrund" и отобразить его на карте - так он и есть.
Есть ли что-то на моей стороне, я делаю неправильно, или это может быть настройка на стороне поставщиков услуг, которая вызывает эту проблему? Могу ли я попросить их внести какие-либо конкретные c изменения, чтобы он работал? Они говорят, что используют Mapstore сами, а не Geoserver, но это не должно быть проблемой, верно?
Вопрос 2
Если вы go на сайт : https://kso.etjanster.lantmateriet.se/?lang=en# и щелкните бинокль на левой боковой панели и найдите, например, «ESKILSTUNA KARLKULLA 1: 2», вы увидите многоугольник, одно свойство с двумя сайтами, которое будет выделено. Я думал, что это возможно только с WFS, но возможно ли это сделать с WMS (похоже, они используют WMS ...?) - и если да, то как можно восстановить эту функциональность?
Любой вклад в любой или оба вопроса высоко ценится!