sdts++ is a free C++ toolkit that can be used to write applications that read and write Spatial Data Transfer Standard (SDTS) files. Currently there is a great deal of free geospatial data stored in SDTS format, including USGS Digital Line Graph (DLG) and USGS Digital Elevation Model (DEM) data.
Very powerful, but a bit rough
Tulip is indeed a very powerful tool, but does suffer from a few problems.
- there is no developer's mailing list
- you have to go through a silly interface on their web site to get source tar balls (unless you go through freshmeat)
- there's no programmer's documentation
- there's no file format documentation
Mind, that's almost a nit all the formats, except for the native Tulip format, are fairly easy to reverse engineer. Note, however, that GML does *not* stand for Geographic Markup Language as I initially thought; GML is an acronym for Graph Modelling Language. You can get more information on that file format at http://www.infosun.fmi.uni-passau.de/Graphlet/GML/.
Reading information garnered at that site I learned that Tulip supports a simple subset of GML and not the entire language. Morever, as with all the other file formats, the Tulip GML importer uses a hand-written lexer and parser and not, say, lex and yacc. Again, this isn't egregious, but in my experience this raises a red flag.
- user interface design is ad hoc and difficult to use
Why have the initial dialog that has per graph functionality (and buttons X-ed out) when that makes more sense to have that functionality soley on the graph dialog?
- use of void*'s is Evil
- Code comments? WHAT code comments? Hell, I'll even take the French over nothing. Murd!
- there is a LOT of member data in class public and protected sections
Still it's a potent tool, but it can be infuriating to use and develop for.
Skip actually has an anti-UCITA page. (http://www.4cite.org/ucta101.html)
I live in Virginia and will be writing the governor, the president of the state senate and the speaker of the house. I will also write complaints to the miscreants that allegedly represent me in Richmond asking why they voted in favor of this evil law.