WFS - sigcorporativo-ja/Mapea4 GitHub Wiki
WFS (Web Feature Service) es un estándar OGC para la transferencia de información geográfica, donde los elementos geográficos o features se transmiten en su totalidad al cliente.
Para visualizar capas WFS en Mapea, se pueden:
1.- Añadir en el constructor del mapa, tanto en modo cadena como objeto:
// Ejemplo de caps WFS en modo cadena
var mapajs = M.map({
container: "map",
controls: ["layerswitcher"],
wmcfiles: ["cdau"],
layers: ["WFST*Campamentos*http://geostematicos-sigc.juntadeandalucia.es/geoserver/sepim/ows?*sepim:campamentos*MPOINT"]
});
2.- O añadiéndolas con el método correspondiente:
var layer = new M.layer.WFS({
url: "http://geostematicos-sigc.juntadeandalucia.es/geoserver/tematicos/ows?",
namespace: "tematicos",
name: "Provincias",
legend: "Provincias",
geometry: 'MPOLYGON',
ids:"3,4"
});
mapajs.addWFS(layer);
Donde:
- url: url del servicio WFS.
- namespace: workspace asociado a la capa.
- name: nombre de la capa en el servidor.
- legend: indica el nombre que queremos que aparezca en el árbol de contenidos, si lo hay.
- geometry: Tipo de geometría: POINT, MPOINT, LINE, MLINE, POLYGON o MPOLYGON.
- ids: Opcional - identificadores por los que queremos filtrar los features.
- cql: Opcional - Sentencia CQL para filtrar los features. El método setCQL(cadena_cql) refresca la capa aplicando el nuevo predicado CQL que reciba.
- version: Opcional - Versión del estandar a usar. Por defecto es 1.0.0.
:bulb: Una capa WFS puede ser editada si el servidor tiene habilitadas las operaciones transaccionales sobre la misma. Consulta el plugin de edición WFST de Mapea para saber más.
Formato de salida
Mapea pide las capas WFS al servidor OGC en formato geojson usando por defecto como outputFormat 'application/json'. Sin embargo, en función del tipo de servidor OGC que esté atendiendo las peticiones (Geoserver, Mapserver, etc.), puede que tenga asignando un nombre diferente. En ese caso, se puede establecer el nombre del outputFormat para las peticiones getFeature y describeFeature, se usan las opciones de usuario 'getFeatureOutputFormat' y 'describeFeatureTypeOutputFormat':
lAguasSupRediam = new M.layer.WFS({
url: 'http://www.juntadeandalucia.es/medioambiente/mapwms/REDIAM_WFS_RN_Aguas?bbox=508887.12101065,4131323.42844933,509462.159552335,4131744.12235486',
legend: 'Cursos de Agua Rediam',
name: 'a_red_hidrografica',
geometry: 'MLINE'
}, {
getFeatureOutputFormat: 'geojson',
describeFeatureTypeOutputFormat: 'geojson'
});
Ejemplo outputFormat en JSFiddle
Parámetros vendor
Algunos servidores de mapas son capaces de procesar en las peticiones OGC parámetros adicionales propios, conocidos como vendor parameters. En las capas WFS podemos especificar cualquier parámetro de este tipo si lo incluimos dentro de la estructura correspondiente en el segundo parámetro del constructor: 'vendor -> request OGC asociado -> parametro:valor', por ejemplo:
lAguasSupRediam = new M.layer.WFS({
url: 'http://www.juntadeandalucia.es/medioambiente/mapwms/REDIAM_WFS_RN_Aguas?bbox=508887.12101065,4131323.42844933,509462.159552335,4131744.12235486',
legend: 'Cursos de Agua Rediam',
name: 'a_red_hidrografica',
geometry: 'MLINE'
},{
vendor:{
getFeature: {
'parametro1': 'valor1',
'parametro2': 'valor2'
}
}
});
El ejemplo anterior crearía peticiones getFeatures que incluirían los parámetros vendor especificados:
http://...?request=getFeature&....¶metro1=valor1¶metro2=valor2
Doc API: M.Layer.WFS