Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I tried to post a more generic question to meta, but it's my first question, so I didn't have a reputation yet.

The first question I have is whether this is an appropriate place to ask questions about the availability of software "components"--APIs or toolkits for mapping and geographic/geodetic functions.

If this is the appropriate place: I would very much like to find an open source mapping API, using either OpenGL or one of the QT graphics APIs like QPaint--something that draws and labels axes and graticules, scales, etc--if it had geographic entry points (lat, long) so much the better. Map underlays would be wonderful.

I have not been able to find anything despite repeated searches, so have written a good deal of my own, using C++/QT/OpenGL. But I find I am spending as much time on my infrastructure as I am on my application, and I'd like to get out of that situation if possible.

My application is typically real-time plotting of positions of underwater vehicles and associated data.

share|improve this question
    
I think this is the perfect forum for this kind of question. –  jswise Aug 2 '10 at 17:40
add comment

3 Answers

Sounds like QGIS API could be what you're looking for. It's written in C++ and Qt-based. API docs are here: http://doc.qgis.org/. This API enables you to load all kinds of geodata for your background map, you can label features, etc.

There's also a guide on developing your own applications based on QGIS API.

As your use case is tracking of vehicles, you might also be interested in the code of QGIS GPS Tracker.

share|improve this answer
    
the QGIS API looks pretty good--I had seen QGIS before, but it had been a while and I didn't realize the API was available. I'm not sure it does everything I want, but I'll check it out further. Many of the other suggestions referred to Java API's and the like--unless they have a C++ binding, they won't save me any time. –  jhowland Aug 2 '10 at 21:05
add comment

I would recommend Mapnik. It is a great tool to create maps and map layers. It has a nice Pythonic interface (tutorial), and it is being widely used. One of the most famous users is OpenStreetMap:

Mapnik is the software we use to render the main Slippy Map layer for OSM, along with other layers such as the "cycle map" layer and "noname" layer.

An impressive example from their flickr photostream: alt text

share|improve this answer
    
Mapnik looks pretty good--what I don't see, however, is axes and graticules. Perhaps I don't know the right search terms to find those things--there are lots of mapping toolkits around, but very few put map scales, axes, tics, and other cartographic elements on the map--for my application, where we frequently work in the open ocean, these are vital aids for users to understand the maps –  jhowland Aug 2 '10 at 21:18
1  
AFAIK, adding axes and scales is done manually. See this short article for more information: britishideas.com/2009/09/22/map-scales-and-printing-with-mapnik –  Adam Matan Aug 3 '10 at 5:42
add comment

oooh, you're going to get lots of answers with this one :-)

SharpMap (.Net), GeoTools (Java GIS API), OpenLayers (ajax app to consume WFS/WMS layers) are just a few, but extremely popular and reliable. I'm suprised you hadn't run across these before, but maybe I'm misunderstanding your question then.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.