8 votos

¿Cómo puedo utilizar el WFS de Geoserver con OpenLayers 3?

He probado con diferentes configuraciones y formatos, pero sin éxito.

Con firebug, puedo ver que los datos json se cargan, pero no aparece nada en el mapa.

¿Tiene alguien experiencia con geoserver y wfs en openlayers 3?

var layer_ojd_vector = new ol.layer.Vector({
 source: new ol.source.Vector({
  parser: new ol.parser.GeoJSON(),
  url: http://SERVER:8080/geoserver/NS/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=NS:LAYER&maxFeatures=50&outputFormat=json
 }),
 style: new ol.style.Style({rules: [
  new ol.style.Rule({
   filter: 'geometryType("point")',
   symbolizers: [
     new ol.style.Shape({
       fillColor: '#013',
       size: 40
     })
   ]
 })
]})  
});

3voto

john Puntos 11

He visto que esto se ha respondido bastante aquí.

Debe ejecutar el archivo HTML desde un servidor web y acceder por:

SERVER:8080/geoserver/index.html

o como esté configurado el suyo.

No se puede simplemente hacer doble clic en el archivo HTML y ver la capa WFS.

3voto

xElx Puntos 21

Estoy de acuerdo con Kyle. Incluso un año después me costó encontrar buenos ejemplos con explicación que se puedan reproducir fácilmente.

Me gustan los ejemplos del "libro de openlayers 3". Lamentablemente no tengo acceso al libro en sí, pero creo que está bien escrito a juzgar por los ejemplos.

Este ejemplo es para ol 3.4

http://acanimal.github.io/thebookofopenlayers3/chapter03_07_query_wfs.html

He tenido algunos problemas para replicar el ejemplo maestro de vector-wfs de la página de ejemplos de openlayers. Estos problemas probablemente ya se han solucionado.

http://openlayers.org/en/master/examples/vector-wfs.html

He creado tres jsfiddle para demostrar las llamadas de ol 3.5.0 a través de AJAX para ol.format.GeoJSON (JSON y JSONP) así como ol.format.WFS.

WFS (el acceso CORS tiene que estar habilitado en el servidor web, por ejemplo, para Apache Tomcat )

http://jsfiddle.net/goldrydigital/9d3jzpna/

JSON (el acceso CORS tiene que estar habilitado en el servidor web, por ejemplo, para Apache Tomcat )

http://jsfiddle.net/goldrydigital/ucspgvx0/

JSONP (JSONP debe ser habilitado en Geoserver )

http://jsfiddle.net/goldrydigital/08zzh9n9/

0voto

Paul Nearney Puntos 5502

Creo que lo que necesitas es esto:
Referencia de la API de configuración REST
Con REST puedes llamar a los datos entre servidores (o entre, por ejemplo, Apache en el puerto 80 y geoserver en el puerto 8080 si se trata del mismo servidor).

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X