Estou experimentando um serviço simples de mapeamento da Web criado na pilha PostGIS / GeoServer / OpenLayers no Win 2008 Server.
Sobreponho a camada vetorial do PostGIS usando:
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"
})
});
A camada é exibida corretamente, mas no estilo padrão [?] Padrão do GeoServer.
Eu tenho um arquivo de estilo SLD compilado com o uDig e parece estar correto, pois o serviço WMS está usando-o sem problemas. Posso usá-lo para estilizar a camada WFS também?
openlayers-2
geoserver
wfs
sld
radek
fonte
fonte
Resposta curta é não - o WFS envia os dados e você é responsável por denominá-los no cliente. O OpenLayers usa um mapa de estilo para estilizar uma camada vetorial. Consulte http://docs.openlayers.org/library/feature_styling.html para obter detalhes de como estilizar uma camada vetorial.
fonte
Sim, você pode carregar a camada wfs nos openlayers, analisar o arquivo sld em um mapa de estilo dos openlayers e aplicá-lo à camada wfs.
Como alternativa, você pode anexar o sld ao geoserver-wfs-layer como o sld padrão. Em seguida, carregue a camada wfs nos openlayers e especifique um formato de imagem (por exemplo, image / png ou image / jpeg) no parâmetro request. Depois de carregado, armazene-o como um objeto Openlayers.Layer.WMS. Isso renderizará a camada como uma camada rasterizada com o sld anexado já aplicado pelo geoserver.
fonte
A definição OGC para sld diz que é para WMS
O perfil OpenGIS® Styled Layer Descriptor (SLD) do padrão de codificação OpenGIS® Web Map Service (WMS)
assim !
fonte