Каскадный WMS с не работающим стилевым параметром - PullRequest
0 голосов
/ 18 марта 2020

Я каскадный (внешний) 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 ...?) - и если да, то как можно восстановить эту функциональность?

Любой вклад в любой или оба вопроса высоко ценится!

...