Slashdot Mirror


GPS Toolkit (GPSTk) 1.0 Released

rmach writes "Based on many years of work performed at ARL:UT, we have release GPSTk under the GNU LGPL. GPSTk is a cross platform library and set of applications that provides both fundamental and advanced GPS processing algorithms to the GPS and open source community. A wide array of functions are provided by the GPSTk library, including: RINEX I/O, ephemeris calculation, P-code generation, atmospheric refraction models, and positioning algorithms. GPSTk applications provided more concrete benefits to the user, including: cycle slip detection and removal, calculation of the Total Electron Content (TEC) of the ionosphere, position residual computation, and RINEX file manipulation. The library is about 41,000 SLOC with a COCOMO estimated cost to develop of about $1.3 million. You can also read more about it in the current issue (September '04) of Linux Journal."

27 of 197 comments (clear)

  1. It's probably just me, but.... by Anonymous Coward · · Score: 4, Insightful

    ... I don't even remotely understand what this post is about. ARLUT? RINEX? cycle slip detection? TEC? SLOC? COCOMO?

    1. Re:It's probably just me, but.... by Espectr0 · · Score: 5, Informative

      SLOC means source lines of code. COCOMO (construction code model) is the name of a method used to estimate costs of development, mostly in person-months needed to finish a project.

    2. Re:It's probably just me, but.... by LesPaul75 · · Score: 5, Funny

      No, it's not just you...

      ARL:UT GPSTk GNU LGPL GPS RINEX I/O P-code TEC SLOC COCOMO

      I thought the article was one of those crypto-quotes from the newspaper. I solved it, and it translates to

      CATS:YOU HAVE NO CHANCE TO SURVIVE MAKE YOUR TIME

      Pretty scary, if you ask me.

  2. that's all fine and good, but by Anonymous Coward · · Score: 5, Insightful

    anyone that has worked with GPS and GIS data know the real hard part is fixing and processing all the data. Getting the data into a database in a normalized format is perhaps one of the most challenging parts of building a gps/gis application. luckily companies like NavTech provide good data that is supplemented with their own surveys.

  3. Not sure how this is useful... by skroz · · Score: 4, Funny

    So, uh, like... does this mean I can find a geocache faster?

    --
    -- Minds are like parachutes... they work best when open.
    1. Re:Not sure how this is useful... by afidel · · Score: 5, Interesting

      No, it means you can do precise calculations with cheap equipment. Most of these functions cost thousand of dollars if done in hardware.

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
  4. Thank goodness... by k4_pacific · · Score: 5, Funny

    Just the other day, I was trying to find a way to calculate the total electron content of the ionosphere.

    --
    Unknown host pong.
  5. That's great and all, but... by Anonymous Coward · · Score: 5, Funny

    I'm still not gonna stop and ask for directions.

  6. Track editing? by Hanna's+Goblin+Toys · · Score: 4, Interesting

    When I bought my Garmin Etrex, I wanted to use it to store mountain bike rides and overlay them with maps. Easy, right? Bah! I spent two weeks trying to find a way to do this on my Linux box before giving up. I ended up paying out of my rear end to buy expensive Garmin maps and closed source software. Even then, I couldn't mix and match tracks, let alone cut and paste sections of them together to make trail maps.

    The other featuer I've always wanted is to do profile slices of my rides to see climbing and descending rates, especially during races.

    All in all this toolkit sounds hugely promising, as the last time I looked at SF.net/Freshmeat the capabilities were nearly nil. All I want is a simple import module, track overlay over free downloadable maps, and a track editor...

    I'm going to be spending the evening trying to get this stuff working, hopefully it will provide a replacement to my current Garmin/Microsoft solution!

    1. Re:Track editing? by swillden · · Score: 4, Informative

      I spent two weeks trying to find a way to do this on my Linux box before giving up. I ended up paying out of my rear end to buy expensive Garmin maps and closed source software. Even then, I couldn't mix and match tracks, let alone cut and paste sections of them together to make trail maps.

      Depending on exactly what you want to do, there are some in-progress Linux tools that are usable. gpsbabel is a tool that can convert track, route and waypoint files to and from a bunch of different file formats, including the Garmin MapSource files. Some of the file formats are text, so you can do pretty much anything you like by converting to one of those, munging the stuff with your favorite utilities and scripting language, and converting back to MapSource (or whatever).

      For visualization and tracking, check out gpsdrive. You can download maps for it from various on-line sites. Rick Richardson's geo-* tools are a bunch of useful bash and (I think, haven't looked lately) perl scripts that do lots of useful things, like making it easy to download maps and stuff. Most of Rick's stuff is focused on geocaching (for which it's really great, BTW, especially in conjunction with gpx2html.

      The other feature I've always wanted is to do profile slices of my rides to see climbing and descending rates, especially during races.

      I don't know of anything to do this (maybe someone else does?) but if you're a programmer hacking it together yourself wouldn't be too hard, given gpsbabel to convert the data into a mungeable format so you can get the times, positions and altitudes (and I think Rick's code has some stuff for calculating distances).

      All in all this toolkit sounds hugely promising, as the last time I looked at SF.net/Freshmeat the capabilities were nearly nil. All I want is a simple import module, track overlay over free downloadable maps, and a track editor...

      I don't think this toolkit is what you're looking for. Oh, I forgot to mention, look at gpstrans for transferring data between your Vista and Linux. Works fine, and you don't have to use gpsbabel to get the data in a usable format.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    2. Re:Track editing? by garcia · · Score: 4, Informative

      GPS Visualizer. This site is free and uses SVG to display maps. You can overlay GPX/LOC or track data (among others) over top of maps.

  7. Re:This is just a bunch of by bsd4me · · Score: 3, Insightful

    I think the importance is that a project of this magnitude and complication was released to the public under a nice license.

    --

    (S(SKK)(SKK))(S(SKK)(SKK))

  8. Geocaching with Linux by ylikone · · Score: 4, Informative

    If you use a GPS for geocaching, there is already a set of GPS tools for the Linux user here.

    --
    Meh.
  9. You know, it's amazing... by tao_of_biology · · Score: 5, Funny

    It's amazing what guys are willing to go through to avoid getting out of the damn car and asking for directions. ;)

    --

    -- "A chicken is an egg's way of making another egg."

  10. What does an FPS have to do with this? by Reorax · · Score: 4, Funny
    "Based on many years of work performed at ARL:UT"

    Advanced Research Labs: Unreal Tournament?

    --
    This sig is only here so people stop skipping the last lines of my posts.
  11. We're off to a bad start here, unfortunately by Anonymous Coward · · Score: 4, Informative

    While I salute and thank the developers here for what looks like may be a useful and valuable package, I just downloaded the library and can see that we're off to a rather bad start.

    Unfortunately, the whole build process requres "jam" (a tool from perforce.com). Arrrgghh!

    That they are using Perforce is a very bad sign. The whole Perforce system is designed by people who didn't understand basic mathematics (as in Set theory), and consequently it's annoying as heck to use.

    Give me BitKeeper or Sun's Teamware (if you have a golden key, and can by-pass the license restrictions) anyday. Or even CVS in a pinch.

    But requiring Jam in a distribution? Have these folks never, ever heard of "configure" and autoconf?

    Hopefully the rest of the code exhibits some technical cluefulness. But right now, I can see that we're off to a bad start.

    To the developers: sorry to give you folks a hard time here, but someone really has to on this.

    1. Re:We're off to a bad start here, unfortunately by rmach · · Score: 4, Informative

      I agree with your critique. However, this code was extract from various projects using "jam" and there was not time/resources to do anything different. We may consider a change for the future and would welcome any community submissions that would improve the build process.

  12. Acronyms and Terms Explained by n2rjt · · Score: 5, Informative
    I have a few of these:

    GPS = global positioning system (but you knew that)

    ephemeris calculation = modeling a satellite's orbit based on a handful of numbers, demonstrated by http://ssd.jpl.nasa.gov/eph_help.html

    RINEX = Receiver Independent Exchange Format, http://www.ngs.noaa.gov/CORS/Rinex2.html

    SLOC = source lines of code .. a simplistic and rather poor metric used to gauge the effort required to develop software. http://www.dwheeler.com/sloc/

    COCOMO = an obsolete software development cost model http://www.jsc.nasa.gov/bu2/COCOMO.html

  13. This is funny...and it didn't take long to locate! by eufreka · · Score: 4, Funny
    Read this http://gpstk.sourceforge.net/getting-started.html

    Check out item 4 (emphasis added):

    You should know your way around a command line or terminal. For UNIX users, this is a given. For Windows users, using the command line (referred to as "DOS prompt" sometimes) may be a challenge.

    Ouch!

  14. LGPL! by rumblin'rabbit · · Score: 4, Insightful
    Lord be praised, it's under the LGPL. This means corporations can use the package in their software, and have the resulting applications delivered externally, without having to make all of their source in the program publicly available. If it were released under the (full) GPL, the package would find much more limited use.

    Root-Mean-Square (ie, Richard Stallman) won't like it, of course. The FSF strongly recommends all software be under the GPL, not the LGPL. Myself, I think that's a serious mistake. Private enterprise is not, and never has been, the enemy. It's particularly a mistake when you want a package to become a de facto standard, and then do your best to ensure the private sector can't use it.

    I thought I would introduce some politics into what is a rather boring technical /. post.

  15. What this is by thule · · Score: 4, Interesting

    Please correct me if I'm wrong, but this software is very important. This is the software that normally runs inside the GPS, not for drawing maps, but interpreting the GPS radio signals and calculating the lat/long numbers. Why would this be useful? Well, say, you take a project like GnuRadio and make your own GPS receiver. GnuRadio can demodulate the signals and convert it to data. This software would allow you to take the data you receive with GnuRadio and do something with it.

    It seems to me that this is first time that code like this has ever been published under an open license.

  16. OSS tools for GIS and Radio Modeling by Anonymous Coward · · Score: 3, Informative

    What would be a "killer app" for me would be a OSS tool to do terrain elevation modeling using DTED/DEM/SDTS datasets to do radio network modeling including radio path profiling, LOS profiles including fresnel zone projection. Given GPS coordinates, antennae elevations above ground level (AGL), and frequency and polarization of the radio signal the tool should be able to give path length, azimuth, verticle declination, freznel zone intrusion, etc.

    Two so-called "free-ware" (as in cost, not OSS!) that I have used are MicroDEM/Terrabase from Prof. Peter Guth of the Oceanography Department, U.S. Naval Academy http://www.usna.edu/Users/oceano/pguth/website/mic rodem.htm/ and Radio Mobile http://www.cplus.org/rmw/english1.html/ by Roger Coudé VE2DBE. Both programs have some powerful features, BUT...

    The problems I have with both of the programs:
    1) Buggy
    2) Windows Only
    3) Not OSS
    4) Poor/inconsistent UI

    Unfortunately, both of these programs appear to be written by folks who have much more skill/knowledge about the subjects (GIS and radio telemetry) than they do about programming.

    If they would only release the code under an OSS licensing scheme, perhaps others (professional SW developers?) could clean up (rewrite?) and improve/expand the capabilities. And we could have cross-platform availability to boot!

  17. Re:Wasn't the Precision code classified? (NO) by spankus · · Score: 5, Informative
    Actually, Precision Code isn't classified, and it lists how to make it in Interface Spec Document 200

    The government encrypts the Pseudo Random Code with an encryption key that makes it hard to track.

    Y-code is simply encrypted P Code.

    Basically, this software package allows you to increase your accuracy, export and import GPS information, and model the ionosphere (a major source of error using the Coarse Acquisition (civilian) signals.

  18. Finally -- a way to control my dog's shit by IronChefMorimoto · · Score: 5, Funny

    Finally -- a means of writing the software required for my GPS-guided canine shock collar defecation system. Now I can just turn the dog loose and not have to worry about her pooping in a different place every time she gets her dump on.

    Shit on the driveway? SHOCK!

    Crap in the neighbor's yard? SHOCK!

    Crap in mean neighbor's yard? NO SHOCK! (subroutine for OPTIONAL shit locations).

    Poop near the mailbox? SHOCK!

    Drop a deuce in the back corner of the yard near all the other piles of shit? NO SHOCK!

    (C) Copyright 2004 by IronChefMorimoto Pet Waste Management Technologies

    IronChefMorimoto

  19. Re:Huh? by spankus · · Score: 3, Informative
    For the most part...if the accuracy you get from the GPS unit you have is sufficient....you have no need for this.

    If however, you have higher accuracy requirements like less than 10m @ 95% then you need some form of augmentation....which this software will help you to acquire.

    Here's a list of some of the features and what they'll do for you:

    • It will allow you to convert GPS time
    • Allow you to break out time and ephemerides
    • It includes models for atmospheric (troposphere) and ionospheric delay (largest error source for all-in-view civil receivers)
    • Includes a software implementation of RAIM (Receiver Autonomous Integrity Monitoring) which prevents bad satellites from screwing you over
    • Computes out a possible ionospheric delay for your receiver
    • Allows you to perform residual analysis on your measurements (helps you figure out whether the satellites are hosed or you are)
    • and exports and imports data to and from the tool
    • hope it helped

  20. Some more useful tools for mapping by alphakappa · · Score: 3, Informative

    If you want to use your gps trakpoints and display them over satellite maps, the best source for maps (in the US) is Microsoft Terraserver which hosts USGS maps. Extracting the maps is another thing. However, there are some really cool tools to do that:

    1. USAPhotoMaps. [FREE]This is a very simple interface which can download topology maps (the usual atlas maps), as well as black-and-white satellite imagery (down to 1 m), and color aerial maps (down to 0.25m for select cities.). It can also plot your gps trackpoints on the aerial photos/maps provided the output is in the form of garmin .gpx files, or some other formats. (Thankfully it is very easy to write a tiny program to convert your lat-long to these ASCII formats).
    Cons: cannot plot more than one trackpoint on the map.

    2. Quakemap. [Free initially, $9.99 to register]All the above features, plus the ability to plot as many trackpoints as you want plus a much more advanced interface plus the ability to track your gps receiver in real time over a satellite map (provided your receiver gives its output as NMEA). For 10 bucks, you get the ability to store the image files offline so that you can take this on a trip and see your vehicle tracked on cool aerial photos.

    There are other tools that can download terraserver maps, but none that has the ease of the above two. (Please correct me if I'm wrong.)

    There is an equivalent tool that does the same on OSX, but I can't recall the name.

    Is there any tool that can download aerial photos for free for the rest of the world?

    --
    "When the only tool you own is a hammer, every problem begins to resemble a nail." - Abraham Maslow (1908-1970)
  21. Re:Huh? by GPSguy · · Score: 3, Interesting

    What you get from YOUR GPS is an autonomous position estimate.

    What I get from my array of GPS receivers is a set of observables, including the pseudorange from the code phase measurements, and carrier phase information. When I get done processing, I have a set of baselines, a set of potential delays in the troposphere and ionosphere, doppler shifts for the satellites in view, timing deltas, and information on signal multipath propagation.

    When I report something out, I can give horizontal positions with respect to a known coordinate system to about 1 cm (2sigma RMS) and vertical estimates (referenced to the WGS84 ellipsoid) on the order of 2 cm (2sigma RMS). Given a good gravity model, I can estimate geoid height differences to about 3 cm.

    Given code phase observables from a satellite-borne receiver, I can make reasonable estimates of the satellite's ephemerides and state vector, provided 3 sets with a temporal spread of about 20 minutes. Given code and carrier data I can derive the state vector in less time and with better accuracy.

    I can estimate the amount of precipitable water in a vertical column of atmosphere above a GPS receiver site.

    I can make estimates of the ionosphere's total electron count.

    There's more.

    For the record, I've been doing all of the above, for several years.

    --
    Never ascribe to malice that which can adequately be explained by tenure.