A Better Breed of GPS Software?
willo asks: "I recently built an on board computer for my Grand Cherokee.
The initial uses for it include music, gps navigation, on board diagnostics and a baby cam so I can see how my kid is in that rear facing seat. After lots of research and testing, I'm really disappointed with the
mapping software out there for Linux. Gpsdrive provides the basic functionality I need, but the street names are built into the image and
are difficult to read at a glance while driving. Not to mention that it has to download the maps it needs ahead of time. Xastir can handle almost any map out there, but it reads through every map for each redraw! It also seems to lack the ability to zoom intelligently based on location. Note that it's not really designed to be a navigation aid, but rather a ham radio APRS tool. (I am a ham). Delorme Street Atlas USA does what I really want, but it's been a pain to make run properly under wine. Is anyone else out there working on a decent navigation application?"
Map Sources do exist for this! Bruce Perens made TIGER/line data availible. NAVTECH is the map source for pretty much all the vehicle navigation systems out there, and high resolution maps are availible from the Geographical Information Survey."
"To be really usable navigation software should do the following:
- handle maps efficiently and draw them quickly
- have intelligently organized map sets for countries/states. (You can't download a friggin map in the middle of Montana!)
- include serial gps/gpsd support. (just about everyone has this)
Map Sources do exist for this! Bruce Perens made TIGER/line data availible. NAVTECH is the map source for pretty much all the vehicle navigation systems out there, and high resolution maps are availible from the Geographical Information Survey."
and the problem is the datasets....
I have the complete specs and entire dataset for the USA for the 1997 Census data set.. which includes streets,addresses,etc... It's free for public use and most companies base their dataset on this (although a current version of the data) or they use a closed and secret dataset... The problem is that the closed data set... I have the full specs on how to use it with sample C code from them on how to use it, and they basically wrote me my app except for the GUI... but the Dataset SUCKS (NavTech comes to mind).. and is horribly expensive... a 3 state CD costs $150.00 and is missing anything that is not a major metropolitan area.. which is useless as when you get lost it's out in the middle of nowhere...
gpsd is a must have, it's the best GPS data server on the planet (and the only one) but except for GPS drive, there is nothing that is worth even messing with as they are either too young to use, or havent been worked on cince 1999 and are dead/dying...
I'd help but I'm no C programmer... and C++ is plain evil (in my opinion) I dont know GTK, or Qt (Please PLEASE stay with GTK so I can use it with xfce or another window managet that is sane in size and resources needed)
But the same thing is happening on the windows side... Delorme tripmate software from 1998 is nice but needs help... the newer stuff is nothing but a rehash with the latest libs and designed to use the newest dataset. but as far as GPS navagation software, Microsoft platforms have crappy software too.. I want to do many different navigation things, How about storing a waypoint easily? how about storing the current position as a waypoint right now without disrupting the current nav operation? Nope...
Linux doesnt have that "itch" that needs to be scratched. At least not by a talented programmer.
Do not look at laser with remaining good eye.
...if you can code in Java, my open source GPS library will make this a much easier process. Demo applications are included (for PC's and Palm's).
.pdf format). I built some mapping/tracking display software (based on the GPS Library) that is used as part of this project.
All at Chaeron GPS Software
Also check out the Mobile GPS Demonstration Platform (MGDP) project info (in
Enjoy!
Chaeron Corporation
I write GPS mapping software for Windows, aimed at the outdoor recreation market. You can check it out at http://www.expertgps.com/
ExpertGPS is unique in that it pulls down topo maps and aerial photos over your Internet connection, so you can scroll the map across the country and the program automatically downloads and displays the correct maps. For the geocachers out there, ExpertGPS reads geocache data downloaded from http://www.geocaching.com/, and even links back to the geocaching website to report your finds.
The next release will support scanned paper maps and additional file formats, and a PocketPC version is in the works.
About a year ago, a bunch of GPS developers got together to work on a standard XML file format for exchanging GPS data. A number of programs now support GPX (the GPS Exchange format), including programs for Mac, Windows, and Linux. For details, see http://www.topografix.com/gpx_resources.asp
I'll probably get bashed for this, but here goes. When shopping for a computer, find the killer gotta have program and purchase whatever hardware is needed to run it. For Web servers, that is Apache. For in vehicle nav and Ham Radio, (especialy moving ADF work) the aps are mostly Windows. :-(
Now on to the informative stuff... There are two kinds of maps. Vector and Raster. Vector maps are smaller. The text and roads are just data, so road names can remain the same size at various zoom levels. Raster Maps are photos of maps. These are great for off road treks as they are detailed. The road names can be hard to read on vector maps. I use both kinds of maps. (I'm also a dedicated geocacher). I use the National Geographic TOPO maps with the GPS most of the time (great detail helps find best route to difficult location) TOPO maps are about 6 CD's per state for about $100 per state. They have full GPS waypoint management ability. Building a route is as simple as dropping waypoints on the map, connecting the dots and uploading it to your GPS. The other software I like for highway cruising is Streetfinder. It does not have upload/download abilities, but it does do a great job showing where you are. You can record your adventure and play it back later. Use it to fight that radar ticker. It plays back just like a saved race game including the time, speed and location. It makes a great package to check on your teen's driving. Find out where and when they went after or during the prom! The Vector software was much cheaper at $17 for the entire US on 3 CD's and included 1 CD of trip planning software. I have found no Linux replacements for either package. Since one of my older laptops came with Windows 95, it has become the mobile map unit. Hackability of the OS is of no concern, it has no net connectivity, so the security holes are not important for this application. No Office, No VBS, No TCP/IP, No hackers.
I forgot the name of the package, but there is a nice APRS feature being built into one of the map packages that supports RDF showing not only your location but the direction of your DF target. Great for getting a running fix on a fox if you also have auto DF with RS232 output. A Google search should show the DF version of APRS. It only works with a static map so far. Moving maps are not yet supported.
The truth shall set you free!
More intelligent map handling is in the works for Xastir. For things like Tiger maps it already doesn't read thru every map for each redraw and the maps are nicely detailed. And organizing the tigermap sets is high on the list of todo's.
If you see features that are needed, come on by the sourceforge project page at http://sourceforge.net/projects/xastir/ and leave a feature request. Or join us on the mailing lists at: http://krypton.hscs.virginia.edu/mailman/listinfo/ xastir-dev
and http://krypton.hscs.virginia.edu/mailman/listinfo/ xastir
The developers are active and very responsive to reasonable feature requests. (heck we even accept some of the unreasonable ones :-)
The OpenGIS Consortium is a standards body which has been thinking a lot about the technologies, protocols and infrastructure needed to support the kind of tasks you want to perform. (Acualy, so far a lot of it has been behind closed doors as the Open in OpenGIS tends to come into effect once they think they have the standards right)
You can find out a bit more about one initative that they are involved in here:
http://www.openls.org/about.htm
And a google on OpenLS will bring you back more.
Now, all that tells you is about the standards, but doesn't give you any tools you actualy need.
[big self plug]
I am one of the lead developers of GeoTools2 an open source Java project which is aiming to implement as many of the OGC standards as make sense (and those of other standards groups if they seem appropriate). So far the toolkit will give you the parts you need to read a number of datasources, filter them to show what you want to see and render them using a detailed styling descriptor aimed at geographic information.
It dosn't hook to GPS yet, though the ChaeronGPS library mentioned in other posts may merge well with what we have alrady.
I'm not a mobile map expert, though I would be happy to combine the map rendering expertese I have with someone who is activly developing GPS solutions.
GeoTools2 is available under the LGPL (www.geotools.org), the OGC can be found at www.opengis.org
--
Spell checker (c) Creative Spelling inc. (aka my dyslexic brain)
Spell checker (c) creative spelling inc. (aka my dyslexic brain)
If you wan't to try something fancy, you can have overlapping maps of various scales and use PostGIS to select the correct map
PostGIS adds support for geographic objects to the PostgreSQL
object-relational database. In effect, PostGIS "spatially enables" the
PostgreSQL server, allowing it to be used as a backend spatial database
for geographic information systems (GIS), much like ESRI's SDE or
Oracle's Spatial extension. PostGIS follows the OpenGIS "Simple Features
Specification for SQL" and will be submitted for compliance testing at
version 1.0.
PostGIS has been developed by Refractions Research Inc as a research
project in spatial database technology. PostGIS is released under the
GNU General Public License. We intend to continue development as time
and resources permit. Our list of future projects includes enhanced
technology for data loading and dumping, user interface tools for direct
data access and manipulation, and support for advanced topologies at the
server side, such as coverages, networks, and surfaces.
http://postgis.refractions.net/
http://qgis.sourceforge.net/
thank God the internet isn't a human right.
I concur that the mapping and trip planning software for any OS:(OS != Windows) is pretty poor. Yes, there are mapping programs out there that will show you where you are, but there are few trip planning programs that will help you select your route, identify items of interest along your route, and help you schedule your time. Of the Windows programs that I've used I have to give the nod to the various Delorme packages. However, Delorme is pretty much Windows only (yes, they do have MacOS versions of some of their programs, but the Mac versions lag the Windows version significantly).
/.'ed with requests for a Linux version (or even a Wine version) of their software - they might actually consider it. (In point of truth, setting here on my desk is a mailing from Delorme for their newest Street Atlas program - I am going to reply nicely to it and inform them that until such time as they can tell me truthfully that I can run their program under Linux they can remove me from their mailing list).
As I see it, the problem is that creating a trip planning program is hard - not only do you need the map data (which is available), you need the route computing algorithm, you need the map drawing algorithm, you need the database of attractions, rest stops, gas stations, restaurants, and hotels. You need to pull all of that together. A proper trip planning program would be a project of greater magnitude than a good word processor.
While I would definitely agree that the best solution would be a Free Software solution, with a Free Software database, if you look closely at my ID you will notice that I'm Wowbagger, not RMS - I will accept a closed solution.
Unless someone is (actually, severel someones are) interested in creating a project on Sourceforce for this, I think the best solution is to bring pressure to bear on the vendors. Imagine if Delorme's suggestion box were
I have to wonder if the "give away the razor, sell the blades" model would work for a Delorme - make the actual mapping program Free Software, and make the old versions of their maps freely available (a la the AlladinSoft Ghostscript model), but sell access to the latest maps. This way, we could create a good mapping program under Linux, and have access to a database to feed it, but Delorme could still make money off their value-added - the up to date databases.
What I'd like to have is a scriping interface - so that I could write my planning script to say "Don't bother looking for hotels along the way - only look within 50 miles of a nighttime stop. Look for GOOD attractions within 100 miles of the route, mediocre attractions within 25 miles, and whatever within 5 miles. I want to leave at 17:30 Friday, I want to stop around 21:00 +/- 1 hour, start my days at 07:00, and stop for lunch around 12:00+/- 1 hour. Try to schedule stuff around those times." In other words, let my script generate trial routes, query the database relative to that route, and make changes.
Also, give me the ability to plug in my own databases (something Delorme is lacking in) - I want to get the database of 2 meter and 70 cm repeaters from the ARRL and plug that in too.
www.eFax.com are spammers
Advantages:
This isn't trolling, so I hope I don't get flamed, but here goes...
Have you tried getting Microsoft MapPoint 2002 to run under Wine? I've been playing with the MSDN version from work and it seems to work real well. It's just, obviously, Win32-based. It might be worth investigating... Huge install, but that's all the maps.
Although GRASS (GPL) is just now running on PC's via Cygwin, it was designed as a Unix GIS. What it provides:
* A framework for organizing, storing and retrieving maps.
* Map information that can be presented multiple layers at a time.
* A means of generating an image file based on various map layers.
* A map feature attribute mechanism. This is what allows you to control street names and how they appear as you zoom in and out.
* A C api with over 800 GIS functions. (Also a Java interface)
With GRASS, you could write a C program that monitors the GPS fix queries the map database and repeatadly presents the info as a image on your screen.
BTM
That was the turning point of my life--I went from negative zero to positive zero.
As my high school football coach/drivers ed teacher used to say, "Keep your God damn eyes on the road before I smack you in the head!".
Strange women lying in ponds distributing swords is no basis for a system of government.
There isn't one. Sorry, but them's the facts.
Right now, the best solution available is from Alpine. By combining these products you can have everything that you want with the exception of the web cam. But, you can hack that yourself.
No, none of these are free. In fact, they are really quite expensive but, it sounds like you want the best so, here it is.
The other alternative is to get another vehicle that already has this equipment installed and beautifully integrated into the vehicle. You will think that you have died and gone to heaven if you trade your Grand Cherokee for an Acura MDX. The vehicle is one of the finest SUVs available and the gadgets are sweet! The navigation system does all that you want, has voice prompts integrated into the mind blowing Bose audio system and your rear passengers will truely appreciate the DVD changer.
TIGER/Line data for the entire country (U.S.) is always available for free from the Census Bureau in TIGER format. If you find free datasets online you can pretty much bet they are based on TIGER. If you need data in a more standard industry format, ESRI makes TIGER available in their Shape format here although it may not always be the latest available. TIGER is not the best data for routing and/or GPS applications, but being complete and free it will generally do the job in a pinch. There are lots of other companies that resell this data in more useful formats, sometimes with many enhancements.
Regarding software:
Communication with a GPS via NMEA sentences is relatively simple. NMEA is a standard text format that most (all?) GPSs are able to use. I have written several simple objects that parse NMEA into usable information and I'm sure there is lots of existing code available to do just this if you dig.
GIS was originally a UNIX market and some vendors (ESRI atleast) still sell GIS software for these platforms. The problem is, GIS has been traditionally expensive and tools like ArcInfo are way beyond your needs. I have yet to find a simple GIS with routing for Xwindows.
There is a small company in Poland called TatukGIS that sells an excellent GIS toolkit called the TatukGIS Developer Kernel. It includes a very capable GIS viewer object and a GPS object for NMEA. These tools are written with and originally designed for Borland Delphi although they now make an ActiveX version available. Last year they made a release that was compatible with one of the earlier versions of Kylix. I'm not sure if the current version is still focused on cross-platform compatibility, but this would be an excellent tool to use and would do the job with no problems.
I have both Kylix and the DK here as well as plenty of data and have worked with the DK quite a bit on the Windows platform. I'll have to see if I can get a little tool built on one of the XWindows machines. From previous posts it seems that there may be an interest if such a tool were created.
I checked the pygps site. It seems to be a program that moves your location curser over a bitmap photo and little else. (I didn't find a description regarding map or curser movement) Compared to the National Geographic program (originaly Wildflower Productions) the pygps program is very simplistic. The National Geographic TOPO program takes hundreds of maps at 5 zoom levels (diffrent scale maps including the 7.5 minute series) and seamlessly stitches them together (moving map display, not a moving curser on a stationary map). It also has full waypoint management including editing, downloading and uploading to GPS or File. The maps also include elevation which the pygps program does not do. I can do a freehand or GPS downloaded route or track and see the elevation profile and distance of the route on the map. I can drive the entire state and the display will move the map anywhere in the state at any zoom level autoloading the next map as needed. I can download all my GPS waypoints and routes and display them on the map (Great for geocaching). I can search for most any feature such as ridge, stream, lake, mountain peak, etc and the map will show me where it is. (and make a waypoint for my GPS if desired) That feature was great for tracking the advancing Biscuit fire in Oregon. The mention of a ridge or stream could let me know right where the fire was.m #state Not all states are released yet. Your milage may vary.
The pygps map has a long way to go to become a replacement for the Windows version of the National Geographic TOPO 7.5 minute series of state maps. Hopefully National Geographic will port this to Linux soon, but in the meantime, I'm stuck with Windows to use it.
Since I plugged the program, the state series maps can be found here; http://maps.nationalgeographic.com/topo/cdroms.cf
The truth shall set you free!
And from your description, your software is just like gpsdrive, which schleps maps from other sources like MapBlast, Terraserver, etc.
:( )
Raster maps don't allow zooming unless you download multiple resolutions, and once you've done this, the maps take a LOT more space than a vector map.
Note: The TIGER datasets are not a good example of a vector map size-wise, as they're in an ASCII format for ease of processing - A lot of the numeric fields could have their ASCII representations replaced with binary to save a LOT of space. Also, rather than having each "road segment" include the name of the road, the segments can be chained together to make a road definition that is a series of latitude/longitude points in a chain. Somewhere I've got a Perl script that does this and outputs it in a format used by a neato Garmin Mapsource map generator program. (Long since disappeared from the 'net...
There's apparently a Gnomad project that aims to support vector maps under Linux, but it's vaporware at the moment. Not even an alpha or CVS release.
The data is there, it's just a matter of writing the software...
retrorocket.o not found, launch anyway?