Nuestra aplicación web incluye capacidades de mapeo simples (actualmente solo marcadores y superposiciones KML en un mapa de Google incrustado). Esto funciona bastante bien; La única limitación real que enfrentamos son las superposiciones de KML que van más allá de las restricciones de complejidad y tamaño de Google para KML .
Estamos considerando poner en pie nuestro propio servidor (por ejemplo, GeoServer o ArcGIS Server); pero eso parece un gran paso solo para servir (por ejemplo) 15 MB de KML cuando el límite de Google es de 10 MB.
Necesito un control de la cordura: ¿Hay algún punto intermedio entre la API fácil y gratuita de Google para superposiciones KML y la configuración de mi propio servidor de mosaico?
google-maps
kml
Hierba caudill
fuente
fuente
Respuestas:
Como ya ha invertido en el desarrollo de Google Maps, le sugeriría encarecidamente que inserte todos los datos en Google Fusion Tables, que luego se pueden analizar en el mapa de manera similar a KML con un rendimiento increíble (consulte la aplicación WNYC Fusion Tables ). Considérelo una actualización a KML sin tener que modificar drásticamente el front-end.
fuente
Puede dividir su 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 pequeños conjuntos de datos con pocas características y atributos asociados. No me acercaría a él como fuente de datos de archivo. Si observa que estos archivos se hacen más grandes, miraría otro tipo de datos, o definitivamente iría por la ruta GeoServer / MapServer para los conjuntos de datos distribuidos.
fuente
Si no ha invertido demasiado tiempo en su API de Google Maps, puede cambiar a OpenLayers, que tiene un analizador KML del lado del cliente que puede leer sus propios archivos KML; consulte el siguiente ejemplo:
http://openlayers.org/dev/examples/kml-layer.html
Sin embargo, para un archivo de 15 MB, esto probablemente detendría el navegador. Probablemente también sea bastante lento a través de los servidores de Google cuando te acercas al límite de tamaño de archivo.
¿Existe realmente la necesidad de 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? ¿Se podrían servir estos datos como imágenes?
Si ninguno de estos es posible, tendrá que mirar algún tipo de software de servicio de mapas. Junto con GeoServer de ArcGIS Server, puede considerar que MapServer sirva el KML o como WFS. El beneficio de usar un servidor de mapas es que las solicitudes solo devolverán los datos dentro del mapa, reduciendo el tráfico de red y disminuyendo los tiempos de carga.
fuente
Si está utilizando la versión 3, podría 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 tierra en archivos KML separados.
fuente
¿Has probado Google Fusion Tables? http://www.google.com/fusiontables/public/tour/index.html
Puede cargar hasta 100 MB de datos de forma gratuita.
fuente
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 utilizando su software patentado. Ofrecen API de Javascript que luego pueden superponerse en mapas base de Google Maps, OpenLayers, etc.
Mira 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 y el gasto de poner de pie un servidor separado para generar estas capas.
fuente