2011-01-07 17 views
13

Estamos trabajando en un proyecto para agregar datos de mapas vectoriales de OSM y NAVTEQ a una aplicación GPS de iOS.Agregar datos de mapas vectoriales a la aplicación GPS de iOS. Representación de gráficos vectoriales en tiempo real

Actualmente, la aplicación muestra imágenes de mapa de trama y proporciona funciones de desplazamiento de mapa en movimiento. Ahora queremos ir un paso más allá con los mapas de vectores de integración, pero no sabemos por dónde empezar.

La orientación de los desarrolladores con experiencia en la navegación GPS sería genial.

Aquí está el resumen de los requisitos:

dispositivos de destino: IOS. Se prefiere C++ para el núcleo para compatibilidad futura con otras plataformas.

Integración de datos y embalaje: Mapa fuente de datos: - NAVTEQ - OpenStreetMap

Formato de archivo: - Ideal para dispositivos móviles con consideraciones de limitaciones del dispositivo. - Busque un formato ya establecido, o cree uno en casa.

Compilación: - Determinar un formato de datos de origen (SHP, MapInfo, etc) - Compilar formato de origen al formato requerido.

Mapa motor de renderizado: Visualización de mapas: - vista de mapa vectorial no estarán incluidos en la vista actual mapa raster. - Renderice datos en líneas, puntos, polígonos, etc. en tiempo real. Enlosados ​​o pretratados no son aceptables. - Vista 2D de ojo de pájaro. (3D está planeado para versiones futuras). - Relieve de sombreado para ilustrar la elevación. - Muestra datos generados por el usuario, como rutas, registros de ruta, puntos de referencia. - Una escala, p. Ej. 500 metros. - El rendimiento rápido es esencial para proporcionar una mejor experiencia de usuario. - Buenos ejemplos serían la aplicación Tom Tom para iOS. Interacciones de mapa: - Desplazar, hacer zoom, girar. - Haz uso de la funcionalidad multitouch. Buscar - Dirección, ubicaciones, POI (Geo Coding) - Dirección de ubicación (Reverse Geo Coding)

Las hojas de estilo - Personaliza fácilmente se visualiza el aspecto del mapa. - Todos los elementos se pueden personalizar.

Nos gustaría saber por dónde comenzar nuestra investigación. ¿Qué bibliotecas y SDK hay por ahí que vale la pena pasar el tiempo investigando?

Respuesta

0

Pruebe biblioteca MapBox: http://mapbox.com/

+0

se basa azulejo es así? –

+0

¡Están trabajando en mosaicos de vectores! http://mapbox.com/blog/vector-tiles/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+macstoriesnet+(MacStories) –

2

Algunas notas sobre la base de mi experiencia:

formato de datos Fuente: usted probablemente querrá ser capaz de importar datos de archivos de forma ESRI y OpenStreetMap (que viene como XML o un formato binario más compacto pero equivalente).Los datos de NAVTEQ se pueden obtener como archivos de formas ESRI. El relieve sombreado se puede obtener procesando los datos de altura de USGS (http://dds.cr.usgs.gov/srtm/).

2D versus 3D: el paso de uno a otro es muy grande. Los datos 2D se proporcionan casi invariablemente como latitud y longitud y se proyectan a un plano: Google Maps y OpenStreetMap utilizan una proyección esférica de Mercator muy simple pero muy ridiculizada. Pasar a 3D requiere una decisión sobre el sistema de coordenadas - plano proyectado más altura versus 3D verdadero basado en la forma de la tierra - y posiblemente problemas que involucren el nivel de detalle. Una buena manera de proceder podría ser dibujar la forma de la tierra (colinas y valles) como una malla triangular, luego cubrir el resto del mapa como una textura. Es posible que desee considerar "dos y media D", utilizando una transformación de perspectiva para mostrar el mapa como si lo estuviera viendo desde una altura.

Bibliotecas: hay una lista bastante grande de bibliotecas de representación de mapas here, tanto comerciales como no comerciales (declaración: el mío es uno de ellos). Muchas de estas bibliotecas tienen sistemas de hojas de estilo para personalizar el aspecto y la presentación del mapa.

Una muy buena biblioteca de renderización de fuente abierta (no la mía) es Mapnik, pero no estoy seguro de si eso se transferirá fácilmente a iOS. Sin embargo, es una muy buena idea leer cómo Mapnik y otras bibliotecas de renderizado hacen su trabajo, para hacerse una idea del problema. El wiki de OpenStreetMap es un buen portal para aprender más sobre el campo.

La representación de texto en los mapas casi siempre se hace usando FreeType, una biblioteca rasterizadora de fuente abierta con una licencia no restringida.

0

Hay una lista en el OSM Wiki pero lamentablemente no está completa.

Dos bibliotecas de vectores, que yo sepa son CartoType (que se puede ver en uso en la nueva Lonely Planet Guides) y Skobbler - Skobbler no tienen un fuera de la plataforma de productos pero bellieve que integrarán sus mapas vectoriales y de enrutamiento para tú.

No es también una cuestión relacionada en el MapBox OSM StackExchange

Cuestiones relacionadas