Pregunta

Mi objetivo es mostrar diversas formas (polígonos, puntos, cadena lineal) en los mapas de Google mediante el uso de los datos introducidos en una base de datos dinámica Postgis (quiero decir con esto podemos ver las modificaciones en el mapa en tiempo real).  Yo estaba buscando una manera de hacer esto que usa la estructura espacial ya previstos en PostGIS (ya que designa si la forma es una cadena de líneas o polígonos, etc.) en lugar de analizar las coordenadas y luego volver a entrar en la estructura espacial de los mapas de Google. Vi que API de Google Maps es ahora compatible con los formatos de datos KML. Y luego he leído que tengo que convertir los datos PostGIS a formato KML. He hecho un poco de lectura en los foros sobre el propio proceso de conversión de datos PostGIS a través kml FWTools, pero no vi nada que me ayudaría. Soy nuevo en KML, pero estoy familiarizado con PostGIS y Perl y PHP. ¿Hay un tutorial para el proceso de conversión de datos PostGIS a KML? ¿Dónde puedo empezar? Gracias por cualquier ayuda

¿Fue útil?

Solución

Se puede obtener una representación textual de los datos espaciales a partir de una base de datos PostgreSQL usando una función de conversión de texto, como

SELECT AsText(MyGemoetry) from MyTable

a continuación, analizar la cadena, crear sus objetos utilizando diversas funciones de la API - dependiendo del tipo de geometría PostGIS -. Y anexar estos objetos a la principal GE plug-in en un objeto DOM como forma

Si está familiarizado con JavaScript y tener un conocimiento fundamental de XML, un comienzo bueno es http://code.google.com/apis/earth/documentation/reference/

No se olvide de especificar el ID de único a sus objetos para que pueda encontrar más adelante para soltar / modificar.

Tal vez usted puede obtener algunas inspiraciones aquí , visualizar el archivo vinculado "locator.js" y mirada en función de PaintSubField (Coord) ... esta es otra manera, poco crudo pero efectivo, evitando perder el tiempo con demasiadas individuales con los padres / los objetos secundarios y estructuras

También puede que desee consultar aplicaciones de ejemplo y utilizar el código de zona de juegos para "prototipado rápido"

re "en tiempo real" que necesita al menos un evento que se puede vincular a su generación / redibujar las rutinas a.

Buena suerte MikeD

Otros consejos

Puede utilizar PostGIS para convertir a KML directamente:

SELECT ST_AsKML(geometry) from MyTable;

ST_AsKML es uno de varios formatos de salida, incluyendo WKT, GML, GeoJSON, etc.

Para mostrar datos dinámicos en Google Earth, un patrón común es el uso de KML con un NetworkLink elemento. Tener viewRefreshMode del enlace igual a onStop y Google Earth va a hacer peticiones (a una URL servido por PHP, es de suponer) que delimita con Parámetros de la caja adjuntos. Utilice el cuadro de límite de consulta ofrece en la base de datos PostGIS, y los resultados de retorno como KML. Esto es grande si usted tiene un montón y un montón de características, pero sólo desea recuperar los de la región que el usuario está mirando.

En función de la complejidad de su aplicación, es posible que también desee ver en GeoDjango . (La familiaridad con PostGIS es una gran ventaja!)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top