31 votos

¿Qué pasa si nuestro KML es demasiado grande/complejo para la API de Google Maps?

Nuestra aplicación web incluye funciones cartográficas sencillas (actualmente sólo marcadores y superposiciones KML en un mapa de Google incrustado). Esto funciona bastante bien; la única limitación real a la que nos enfrentamos son las superposiciones KML que van más allá de los mapas de Google restricciones de tamaño y complejidad para KML .

Estamos considerando la posibilidad de crear nuestro propio servidor (por ejemplo, GeoServer o ArcGIS Server), pero parece un paso enorme sólo para servir (por ejemplo) 15 MB de KML cuando el límite de Google es de 10 MB.

Necesito una revisión de cordura: ¿Existe algún punto intermedio entre la API gratuita y fácil de Google para las superposiciones KML, y la creación de mi propio servidor de azulejos?

12voto

Eric Scrivner Puntos 1392

Puede dividir su KML en varios KML con un KML padre 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á referenciar conjuntos de datos mucho más grandes como KML.

Honestamente, KML sólo es bueno para pequeños conjuntos de datos con pocas características y atributos asociados. Yo no me acercaría a él como fuente de datos de archivos. Si se trata de archivos cada vez más grandes, yo buscaría otro tipo de datos, o definitivamente seguiría el camino de GeoServer/MapServer para los conjuntos de datos distribuidos.

12voto

Joe Fontana Puntos 703

Dado que ya has invertido en el desarrollo de Google Maps, te sugiero que pases todos los datos a Google Fusion Tables, que luego se pueden analizar en el mapa de forma similar a KML con un rendimiento increíble (ver Aplicación WNYC Fusion Tables ). Considérelo una actualización de KML sin tener que modificar drásticamente el front-end.

8voto

Swinders Puntos 1042

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 - véase el ejemplo siguiente:

http://openlayers.org/dev/examples/kml-layer.html

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

¿Es realmente necesario el nivel de detalle de 15MB o se podría simplificar el KML sin perder demasiada información?

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

Si ninguna de las dos cosas es posible, tendrás que buscar algún tipo de software para servir mapas. Junto con GeoServer de ArcGIS Server podría considerar Servidor de mapas para servir el KML, o como un WFS. La ventaja de utilizar un servidor de mapas es que las solicitudes sólo devolverán los datos dentro del mapa, lo que reduce el tráfico de red y los tiempos de carga.

3voto

Lehane Puntos 6776

¿Has probado Google Fusion Tables? http://www.google.com/fusiontables/public/tour/index.html

Puedes cargar hasta 100 mb de datos gratis.

2voto

Jeff Moser Puntos 11452

Si utiliza la versión 3, puede eliminar toda la información de los atributos excepto un identificador único y solicitar la información mediante llamadas ajax a un servicio web cada vez que un usuario haga clic en una función. Si tienes 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 podrías separar tus superposiciones de terreno en archivos KML separados.

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