1 votos

¿Cómo mostrar las características clicables de Geoserver sobre Google Maps v3 Base?

Por favor, perdonen lo que seguramente es una pregunta muy noob, pero necesito investigar la mejor manera de lograr esto y soy un principiante en SIG.

Mi empresa tiene una instancia de Geoserver que puede servir archivos en todo tipo de formatos. ¿Es posible trazar uno de estos en Google Maps v3 de tal manera que las propiedades de la característica estén disponibles para una ventana emergente de información?

Mi servidor de desarrollo no está en el mismo dominio que el Geoservidor, pero el Geoservidor sirve los archivos públicamente.

He intentado utilizar GeoJSON pero parece que esto depende de que el Geoservidor y el servidor web estén en el mismo dominio, de lo contrario la protección de scripts entre sitios impide la conexión - esto funciona bien siempre y cuando descargue el GeoJSON en un archivo de texto y lo almacene en el servidor web, pero la base de datos de origen se actualizará regularmente por lo que la cartografía debe ser dinámica.

He intentado usar una capa KML, pero no se muestra nada en absoluto cuando uso este método sustituyendo la URL del archivo KML por la url del archivo KML de mi propio Geoserver.

Creo que esta no debe ser una pregunta extraña, ya que tener un mapa con características que aparezcan información al hacer clic en ellas parece ser algo bastante común, así que ¿alguien puede aconsejarme por dónde empezar?

Por ejemplo, ¿cuál es el mejor formato para servir datos actualizados dinámicamente desde Geoserver? ¿Es posible mostrar este tipo de información en Google Maps? Creo que tiene que ser un servicio de características web para trazar objetos vectoriales en lugar de mapas basados en imágenes.

2voto

James Shade Puntos 160

Usted necesita implementar una aplicación WebGIS cuya capa base es proporcionada por Google Maps y cuya capa de características principales es proporcionada por su instancia de GeoServer empleador. Para ello puede utilizar la excelente biblioteca de código abierto OpenLayers . En su página web puedes encontrar tutoriales y ejemplos que pueden ayudarte a implementar tu aplicación. También puede utilizar en su aplicación mapas proporcionados por OpenStreetMap u otros servicios de datos abiertos.

Los navegadores web impiden que las aplicaciones realicen peticiones AJAX a dominios diferentes del que sirve la aplicación. Por lo tanto, esto impedirá que su aplicación alcance los datos proporcionados por la instancia de GeoServer. Para evitar esta limitación puede habilitar el uso compartido de recursos entre orígenes (CORS) en la instancia de GeoServer. Puede encontrar más información sobre CORS en este sitio web .

0voto

Piotr Findeisen Puntos 171

Dado que los mapas de Google serían sólo una capa de referencia servida bajo tus propios datos alojados en geoserver, necesitas construir una aplicación que consulte y devuelva los datos del campo de texto a un cuadro de texto, la capa que estás sirviendo desde tus datos locales alojados, los datos de Google son realmente sólo un fondo gráfico para tu ventana de mapa no está relacionado con tu base de datos, sino a través de la sincronización de un raster no referenciado alojado por google, sobre los únicos datos que podrías obtener de los datos de google sería lat lon y un centenar de puntos geo referenciados dentro de los límites de consulta restringidos por google a través de un contrato de desarrollador.

0voto

BMeph Puntos 101

¿Cuál es su herramienta de frontend? Si usas por ejemplo Leaflet, puedes usar el mapa de google como fondo, la capa WMS de geoserver como "primer plano" y un script como

https://gist.github.com/rclark/6908938

para obtener información detallada sobre el elemento en el que se ha hecho clic (puede modificar el geoservidor para que devuelva, por ejemplo, datos de una tabla HTML o JSON, si prefiere trabajar con ellos de alguna forma de script, mostrar una ventana emergente específica, etc.)

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