6 votos

Formato de almacenamiento GIS para un mejor rendimiento - Dispositivo Android

Hemos desarrollado una aplicación para Android que carga diferentes eco-zonas y hace geo-cercas basadas en la ubicación actual del GPS.

Hemos convertido un shapefile a KML, y luego a formato JSON, para cargarlo en la aplicación Android.

Las zonas tenían más de 1000 vértices, así que el rendimiento era un problema. Entonces intenté dividir los polígonos, esto deforma los límites de las zonas.

¿Existe un mejor enfoque para esto, respetando los límites de la zona, en el que se podría mejorar el rendimiento? Es decir, menos vértices usando algún otro algoritmo? o un mejor formato de datos GIS?

1voto

Anthony Cramp Puntos 126

No estoy seguro de su flujo de trabajo exacto, así que intentaré dar una respuesta general.

Hay dos formas diferentes de utilizar los datos geográficos, y la respuesta depende de la que necesites:

  1. Está mostrando los datos en un mapa. En este caso, si cargas más de 1000 vértices como gráficos en el mapa, tendrás un bajo rendimiento. Lo que necesitas hacer es cargar los datos como un raster, digamos un servicio WMS o algo similar. Delegar el dibujo de la capa a otra cosa. La forma de implementar esto, depende de la vista del mapa. No estoy muy seguro de la API de Google Map, pero podrías buscar en el uso de la osmdroid biblioteca.

  2. Su aplicación tiene los datos, pero sólo se utiliza para la consulta. Digamos por ejemplo, averiguar si la ubicación actual está dentro de una zona o no. Esto puede hacerse almacenando los datos en una base de datos espacial. Hemos tenido mucho éxito con spatilite para Android

También podrías ir por un enfoque híbrido si necesitas ambos.

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