¿Qué sigue si nuestro KML es demasiado grande / complejo para la API de Google Maps? [cerrado]

29

Nuestra aplicación web incluye capacidades de mapeo simples (actualmente solo marcadores y superposiciones KML en un mapa de Google incorporado). Esto funciona bastante bien; la única limitación real a la que nos enfrentamos es la superposición de KML que va más allá de size & restricciones de complejidad para KML .

Estamos considerando instalar nuestro propio servidor (por ejemplo, GeoServer o ArcGIS Server); pero eso parece ser un gran paso para servir (por ejemplo) 15 MB de KML cuando el límite de Google es de 10 MB.

Necesito una comprobación de validez: ¿hay algún punto medio entre la API fácil y gratuita de Google para las superposiciones KML y la configuración de mi propio servidor de mosaico?

    
pregunta Herb Caudill 18.05.2011 - 21:39

6 respuestas

12

Dado que ya ha invertido en el desarrollo de Google Maps, sugeriría encarecidamente incluir todos los datos en Google Fusion Tables, que luego se pueden analizar en el mapa de forma similar a KML con un rendimiento increíble (consulte WNYC Fusion Tables aplicación ). Considérelo como una actualización a KML sin tener que modificar drásticamente el front-end.

    
respondido por el Gady 18.05.2011 - 23:03
12

Puedes dividir tu KML en varios KML con un KML principal que haga referencia a los kmls más pequeños. Al menos, esto reducirá el tamaño de sus archivos a un nivel respetable y le permitirá hacer referencia a conjuntos de datos mucho más grandes como KML.

Honestamente, KML solo es bueno para conjuntos de datos pequeños con pocas características y atributos asociados. No me acercaría a él como fuente de datos de archivos. Si observa que estos archivos se vuelven más grandes, vería otro tipo de datos, o definitivamente iría por la ruta GeoServer / MapServer para conjuntos de datos distribuidos.

    
respondido por el OptimizePrime 18.05.2011 - 21:56
8

Si no ha invertido demasiado tiempo en su API de Google Maps, podría cambiar a OpenLayers, que tiene un analizador KML del lado del cliente que puede leer sus propios archivos KML. Consulte el siguiente ejemplo:

enlace

Sin embargo, para un archivo de 15 MB, es probable que esto detenga el navegador. Es probable que también sea bastante lento a través de los servidores de Google cuando se acerque al límite de tamaño de archivo.

¿Realmente se necesita un nivel de detalle de 15 MB o podría simplificar el KML sin perder demasiada información?

¿Necesita acceder al vector / geometría en el lado del cliente? ¿Podrían estos datos servir como imágenes?

Si ninguno de estos es posible, tendrá que mirar algún tipo de software de mapa de servicio. Junto con GeoServer of ArcGIS Server, puede considerar MapServer para entregar el KML, o como WFS . La ventaja de usar un servidor de mapas es que las solicitudes solo devolverán los datos dentro del mapa, lo que reducirá el tráfico de red y disminuirá los tiempos de carga.

    
respondido por el geographika 18.05.2011 - 21:50
2

Si está utilizando la versión 3, puede eliminar toda la información de los atributos excepto un identificador único y solicitar la información a través de llamadas ajax a un servicio web cada vez que un usuario haga clic en una función. Si tiene más de 10 MB de puntos, probablemente sea una buena idea hacer algún tipo de agrupación en lugar de mostrar todos esos puntos a la vez. También puede separar sus superposiciones de terreno en archivos KML separados.

    
respondido por el Peter Smith 18.05.2011 - 22:35
2

¿Has probado Google Fusion Tables? enlace

Puedes cargar hasta 100 mb de datos de forma gratuita.

    
respondido por el Donny V. 18.05.2011 - 23:38
2

MapLarge tiene una solución interesante: pueden replicar sus datos en sus servidores y luego hacer el trabajo pesado de generar mosaicos sobre la marcha usando su software propietario. Ofrecen API de Javascript que luego pueden superponerse en mapas base de Google Maps, OpenLayers, etc.

Echa un vistazo a algunos de sus ejemplos: la velocidad es impresionante:

No es gratis, pero podría ser una buena opción para alguien que no quería el problema & gasto de levantarse un servidor separado para generar estas capas.

    
respondido por el Herb Caudill 19.05.2011 - 16:50

Lea otras preguntas en las etiquetas