OpenLayers: как стилизовать слой WFS с помощью файла SLD?

14

Я экспериментирую с простым сервисом веб-картографирования на основе стека PostGIS / GeoServer / OpenLayers на Win 2008 Server.

Я перекрываю векторный слой из PostGIS, используя:

var Index1v = new OpenLayers.Layer.Vector("Index1 v", {
    strategies: [new OpenLayers.Strategy.BBOX()],
        protocol: new OpenLayers.Protocol.WFS({
            version: "1.1.0",
            url: "http://localhost:1979/geoserver/wfs",
            featureType: "bern_poly_s100",
            featureNS: "http://www.ispm.ch",
            srsName: "EPSG:900913"
        })
});

Слой отображается правильно, но в простом стиле по умолчанию [?] Из GeoServer.

У меня есть сборка файлов в стиле SLD с помощью uDig, и это кажется правильным, так как сервис WMS использует его без проблем. Могу ли я использовать его для стилизации слоя WFS?

Радек
источник

Ответы:

8

Взгляните на пример OL "Styled Layer Descriptor (SLD)" . Они используют SLD для стиля GML, но должны работать и для WFS (векторный слой).

Кредит: OL's Nabble.com форум

Вадим
источник
Это круто - я не знал, что ты можешь сделать это.
Ян Тертон
Я никогда не использовал его, но думал, что видел его где-то раньше, поэтому пришлось исследовать старый добрый надежный форум Nabble.com. Однако давайте продолжим заполнять доску SO GIS.
Вадим
2
Но, в некотором смысле, вы правы, что вы все еще отвечаете за стилизацию на клиенте, верно? Это не на сервере. Но вы можете использовать готовый SLD на клиенте.
Вадим
3
Похоже, что ссылка не работает. Не могли бы вы объяснить, как это сделать, или предоставить новую ссылку, пожалуйста?
Рави Мехта
5

Короткий ответ - нет - WFS отправляет вам данные, а затем вы отвечаете за их оформление в клиенте. OpenLayers использует карту стилей для стилизации векторного слоя. См. Http://docs.openlayers.org/library/feature_styling.html для получения подробной информации о том, как стилизовать векторный слой.

Ян Тертон
источник
1

Да, вы можете загрузить wfs-слой в openlayers, затем проанализировать sld-файл в openlayers-stylemap и применить его к wfs-layer.

В качестве альтернативы вы можете присоединить sld к слою geoserver-wfs в качестве sld по умолчанию. Затем загрузите wfs-слой в openlayers и укажите формат изображения (например, image / png или image / jpeg) в параметре запроса. После загрузки сохраните его как объект Openlayers.Layer.WMS. Это сделает слой растровым с привязанным sld, уже примененным геосервером.

user9124
источник
0

Определение OGC для sld говорит, что это для WMS

Профиль OpenGIS® Styled Layer Descriptor (SLD) стандарта кодирования OpenGIS® Web Map Service (WMS)

так !


источник