¿Existen API / kits de herramientas de mapeo de código abierto para dibujar ejes, etiquetas, retículas, etc.?

9

Intenté publicar una pregunta más genérica en meta, pero es mi primera pregunta, por lo que aún no tenía reputación.

La primera pregunta que tengo es si este es un lugar apropiado para hacer preguntas sobre la disponibilidad de "componentes" de software: API o kits de herramientas para mapeo y funciones geográficas / geodésicas.

Si este es el lugar apropiado: me gustaría mucho encontrar una API de mapeo de código abierto, usando OpenGL o una de las API de gráficos QT como QPaint, algo que dibuja y etiqueta ejes y retículas, escalas, etc., si tenía puntos de entrada geográfica (lat, largo) tanto mejor. Los mapas subyacentes serían maravillosos.

No he podido encontrar nada a pesar de las búsquedas repetidas, por lo que he escrito mucho por mi cuenta, usando C ++ / QT / OpenGL. Pero descubro que paso tanto tiempo en mi infraestructura como en mi aplicación, y me gustaría salir de esa situación si es posible.

Mi aplicación es típicamente el trazado en tiempo real de las posiciones de los vehículos submarinos y los datos asociados.

jhowland
fuente
Creo que este es el foro perfecto para este tipo de preguntas.
jswise

Respuestas:

5

Parece que la API QGIS podría ser lo que estás buscando. Está escrito en C ++ y basado en Qt. Los documentos de la API están aquí: http://doc.qgis.org/ . Esta API le permite cargar todo tipo de geodatos para su mapa de fondo, puede etiquetar características, etc.

También hay una guía sobre el desarrollo de sus propias aplicaciones basadas en la API QGIS .

Como su caso de uso es el seguimiento de vehículos, es posible que también le interese el código de QGIS GPS Tracker .

bajo oscuro
fuente
la API de QGIS se ve bastante bien: había visto QGIS antes, pero había pasado un tiempo y no me di cuenta de que la API estaba disponible. No estoy seguro de que haga todo lo que quiero, pero lo comprobaré más a fondo. Muchas de las otras sugerencias se refieren a las API de Java y similares, a menos que tengan un enlace C ++, no me salvarán en ningún momento.
jhowland
2

Yo recomendaría Mapnik . Es una gran herramienta para crear mapas y capas de mapas. Tiene una buena interfaz Pythonic ( tutorial ), y está siendo ampliamente utilizada. Uno de los usuarios más famosos es OpenStreetMap :

Mapnik es el software que utilizamos para representar la capa principal de Slippy Map para OSM, junto con otras capas, como la capa de "mapa de ciclo" y la capa "noname".

Un ejemplo impresionante de su flickr photostream: texto alternativo

Adam Matan
fuente
Mapnik se ve bastante bien; sin embargo, lo que no veo son ejes y retículas. Tal vez no conozco los términos de búsqueda correctos para encontrar esas cosas: hay muchos kits de herramientas de mapeo, pero muy pocos ponen escalas, ejes, tics y otros elementos cartográficos en el mapa, para mi aplicación, donde frecuencia de trabajo en el océano abierto, se trata de ayudas vitales para los usuarios a entender los mapas
jhowland
1
AFAIK, la adición de ejes y escalas se realiza manualmente. Consulte este breve artículo para obtener más información: britishideas.com/2009/09/22/map-scales-and-printing-with-mapnik
Adam Matan