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."
... I don't even remotely understand what this post is about. ARLUT? RINEX? cycle slip detection? TEC? SLOC? COCOMO?
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.
So, uh, like... does this mean I can find a geocache faster?
-- Minds are like parachutes... they work best when open.
Just the other day, I was trying to find a way to calculate the total electron content of the ionosphere.
Unknown host pong.
... to support route mapping? NAVTEQ?
I'm still not gonna stop and ask for directions.
I use the us naval observatory package horizon. its written in c and fortran.
Wow, it sounds like COCOMO needs to adjust their SLOC and upgrade their FTPS to account for inflated RTOI when this new product comes out for their VAIP.
Michael, I'll give you $5 if you posted this knowing what any of the article summary said.
UT Austin has some awesome engineers. Hook 'em Horns!
Seriously, a boatload of acronyms i know nothing about.
Isn't this what the more specialized sections are for? Why do BSD and Apache articles get thrown to the corner, while GPS news get the front page?
I'm not trying to troll. Just wondering how important GPS is to /. readers.
-- "I'm not a religious man, but if you're up there, save me Superman..."
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!
that can translate this news into something remotely resembling plain english?
Thanks.
"The library is about 41,000 SLOC with a COCOMO estimated cost to develop of about $1.3 million."
Isn't SLOC as emphereal as "phantom damages"?
If you use a GPS for geocaching, there is already a set of GPS tools for the Linux user here.
Meh.
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."
Look how many times the LGPL is mentioned (once) and how much space is given to the toolkit's features. The blurb has a techy slant, not a GPL advocacy one.
-- "I'm not a religious man, but if you're up there, save me Superman..."
"Based on many years of work performed at GNU LGPL fundamental advances open source community. ionosphere $1.3 million. You can read more Linux Journal."
Advanced Research Labs: Unreal Tournament?
This sig is only here so people stop skipping the last lines of my posts.
GPS tends to not track vertical changes easily with standard deviation as much as +/- 1000 ft. That's probably why the routes on my garmin V GPS doesnt show vertical changes. It's too inaccurate for normal use. A calibrated altimeter will probably do a better job. I think they now have recent GPS combined with altimeter.
just because you don't agree with the post doesn't make it flamebait.
Discussions aren't arguments. Not all questions are provocations.
visiting Visiting Every Latitude and Longitude Intersection and showing off your gps l33t hax0r skillz.
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.
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
...now can someone give me the location of ARL:UT preferably in sexadecimal?
"Look Lois, the two symbols of the Republican Party: an elephant, and a fat white guy who is threatened by change."
So somebody try to explain this for me....I get my longitude/latitude coordinate from my GPS unit....and you mean to say there is MORE processing I can do on this?
What role do the features of this library play?
What hardware can I use this with?
In the GPS system, there are three kinds of codes: C/A code, P-code and Y-code.
Now last I checked the Precision (P) code was considered classified. Details about how this code was generated and how to decrypt it were considered military secrets.
I don't believe the P-code has anything to do with selective availability either, I think that the P-code is used for the militaries PPS, which is "precise positioning system".
Anyway, so how is that included in this suite? and further, what purpose does it serve to even have access to the p-code, as standard gps gear isn't even supposed to work with it?
In Austin. I took the SEI:PSP course there once.
Best Slashdot Co
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!
"Ephemeris calculations. Position and clock interpolation for both broadcast and precise ephemerides.
Anyone know how precise? For sub-arc second of accuracy, I take it you need a good atmospheric refraction model (based on current conditions), Earth Orientation Parameters (for celestial pole offsets) and you need to get to into the Terrestrial Dynamic Time scale or Barycentric Dynamical Time scale if the raw planet ephemerides are from say from the Jet Propulsion Laboratory's DE/LE 405 data.
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.
...look at the posting editor. i've said it before and i'll say it again, Michael is out of touch and generally posts pretentious articles. i'm thinking it's some sort of complex or something. Everything he posts is some YRO, obscure, anti-establishment laden attempt to boost his ego...or something. This is not a troll, it is an observation, but will most likely be modded a troll due to the dissenting nature.
Anyway, don't be shocked by his misguided ego - it's old and getting more so. Hell, his little "gnutella-still-free-for-all dept" on the Real story is evidence of his nature and was pointed out in this post. Michael is a liability and tired.
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.
This isn't a rhetorical question, i'm actually curious: How does this tk help Joe GPS get better/faster/more accurate info from his handheld GPS unit?
I read through some of the documentation, but there was no obvious GetSuperAccurateGPSLocationInfo() function. If these clever people already figured out ephemeris/RINEX/cycle slip/etc, did they include anything to "make it easy" for the average user?
I have no problem reading up on how to use a tool (i'll probably take this one apart this weekend), but I'd rather not have to learn what all that clever stuff means, I'd prefer just to use it.
When I bought my Garmin Etrex, I wanted to use it to store mountain bike rides and overlay them with maps.
Dave Wissenback's free program "allows you to plan and record your hiking and mountain bike trips with a Garmin eTrex GPS receiver and share your local knowledge of trails with others. You can also use the program to print topographic maps with these trails, either on a single page or as a mosaic on many sheets of paper. And you can use the program to visualize planned or past trips in 3D by virtually flying across a landscape of colorized aerial photographs draped over a three dimensional terrain model."
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.
c rodem.htm/ and Radio Mobile http://www.cplus.org/rmw/english1.html/ by Roger Coudé VE2DBE. Both programs have some powerful features, BUT...
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/mi
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!
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.
Will this be useful in making differential GPS cheap enough that we can get the accuracy needed to have a robot know the boundaries of a yard and mow the lawn or sweep the driveway?
Never shake hands with a man you meet in a fertility clinic.
This is slightly OT, but....
Is there any linux based mechanism to find automobile routes and give directions based on GPS feedback? I'm willing to buy software and or data, and put time into it.
I'm building up to putting a PC in the car for multiple purposes, and I'd like navigations tools to be one of them. Perferrably something that works just as well as the dedicated systems you can buy.
plus-good, double-plus-good
"I thought I would introduce some politics into what is a rather boring technical /. post."
Well you failed. Nowere is Bush mentioned in your post.
This is software to perform the fundamental signal processing used to convert the broadcast satelite codes into something that a user can navigate with.
Some of the comments regarding this release are pretty amazing... folks appear to think that they just turn on their Garmin and little elves generate latitudes and longitudes out of thin air. Nope.
While this library will probably not help you with geocaching or finding the local 7-11 with your currrent gps set, it would probably save you a couple of years if you decided to build a gps set from scratch (or more likely wanted to write code that simulated a GPS set)
GPS depends upon measuring the time it takes radio signals to travel less than a meter or two. That's not possible without very specialized electronics. Furthermore- GPS units, at least the kind -you- can buy for a few hundred dollars, don't do any of this bull. They just use WAAS- aka broadcast-via-satellite DGPS.
Sorry to burst your bubble, but not everything can be done in software.
Please help metamoderate.
From the gpstk-announce mailing list: From: Ben Harris GPSTk Version 1.0 released; article in Linux Journal 2004-08-09 07:52 It is my pleasure to announce that version 1.0 of the GPSTk has been released to Source Forge. This release was timed to support subscribers of Linux Journal who this weekend received a writeup about the GPS Toolkit in the September issue. This milestone was achieved through the hard work of many individuals, from programmers to analysts to administrators. I believe that their investment has created a solid contribution to the GPS community. By choosing to follow the open source development model with this code, I believe the initial investment will be rewarded many times over. Regards, Ben
A house divided against itself cannot stand.
Oddly enough, a project exists at ARL that does exactly that. If you feel like reading about it, look at http://sgl.arlut.utexas.edu/.
:-P. The problem isn't that we don't want it to be open, it's that the propagation models aren't written in house, and they're all closed.
I don't think it's closed source, but since I'm working on it, it never really seems closed or open to me
Help a college student
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
Why are you dissing jam and saying you'd rather use BK or CVS? Isn't jam a make replacement, not a source code control tool? (Hint: yes.)
You are correct in that the P-code is unclassified. However the reason the encrypt it is to prevent spoofing of the military receivers (hence the term Anti-Spoofing (A-S) when they refer to the Y-code).
Does this mean I can target my DIY Missle into someone's window now without danger of blowing up their backyard. I've been dying for a package that would do that.
What about the DGPS (Differential GPS) in our mobile phones that provide E911 (Enhanced 911) emergency phone service? IBM has mentioned an "Engine 18" that lets these superlight GPS receivers send their raw received data to a server for location processing. My Treo 600, with PalmOS5, is really spiffy. Is GPS another demand generator for smartphone Linux?
--
make install -not war
But while we are at it...
... Thanks!
I live in Quebec and my father lives up north in abitibi. He is a river kayak enthusiast and has been looking for a while for a software which could help him trace route (no pun) that he could navigate on acros the province (and north Ontario also).
Is there any software or gadget which does the same thing as an in car gps unit (displaying roads on it or printing maps) but for lakes and rivers? Anf if something like this exist, do maps exists to feed to it also?
Im not really into those things, thats why I ask
I'd rather be sailing...
Nice to release these libs. UNAVCO has a nice free tool called teqc, but does not release the source. Also found that link with many interesting things with source code: http://www.ngs.noaa.gov/gps-toolbox/exist.htm Admitedly, all this is not very useful for geocaching ;)
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:
.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).
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
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)
Seriously. Ever try to cross-compile a package that uses configure to build? Yes, you usually use "CC=whatever-gcc configure --target=whatever --host=whatever --build=somethingelse", and that works some of the time. But sometimes the configure scripts use a thing called TRY_RUN[...], which compiles a test program and tries to run it on the build machine (which will fail since it's the wrong architecture). Usually, if you're cross-compiling to a system that is similar to your build computer (e.g., Linux on a different architecture), you can just do a native "configure", then hand-edit the Makefiles to change gcc to -gcc.
Configure is fine for things that are meant to be built natively (i.e., not cross-compiled) on UNIX-like systems. Anything else though, and it's a pain in the ass.
My other first post is car post.
Legal as in exports and downloads outside the US ... Coz I do see this taking GPS costs down to a clunky PC with lots of RAM :)
Quidquid latine dictum sit, altum videtur
But shouldn't the private sector play by their own rules and not accept any such socialistic practices as "free lunch" in the form of LGPL software?
What is the private sector giving back (taxes of course but what else)? They're about making money, nothing more. It doesn't benefit everyone.
Seriously, I have seldom seen such an acronym-infested and unintelligible article summary on slashdot.
To have a right to do a thing is not at all the same as to be right in doing it
can i stuck this thing into my goddamned cellphone ?
As has been mentioned before, this library is for low-level GPS data processing. GPS receivers measure the distance to GPS satellites. Out of the ephemeris data, the satellite positions are calculated, and with the distances, the position of the receiver can be calculated.
/. article.
This is a pretty straightforward process, implemented in every GPS receiver and taught to geodesy students in the first semester. The tricky part is getting the distances. Using the codes (the military P(Y)-Code or the civilian C/A-Code) only yields a distance precision of several meters. Using phase measurements, you can improve your accuracy to a few millimeters, but this requires lots of difficult math (like the cycle slip detections mentioned in the article). GPS receivers who can do this cost 10.000 Euros/Dollars and more.
This functionality is also implemented in GPS processing software for geodesy uses, such as SkiPro by Leica and GeoGenius by Trimble. But this software is very expensive.
So what does the average GPS user get from this? Not much - unless you have one of the higher priced Garmin Etrex units, which can do phase measurements, but not calculate a position out of them. What's so special about this is that algorithms previously only available in expensive black-box software are now publicly available. For geodesists, this is just wonderful, like Microsoft opening the Windows source code to computer scientists. So I think this is truly worth a
Toby
Personal Software Process, devised by the SEI TSP team at CMU.
Best Slashdot Co
... for those interested in cheap GPSs, I sell them on my website - only 82 quid 25p for the etrex which is a great little beastie if you ask me.
y .2/it.A/id.11/.f
http://www.inthefield.co.uk/s.nl/c.077002/categor
MODS : It IS on topic, even if just vaguely...
Two wrongs may not make a right, but three
But will it get me better accuracy than DGPS? Like, say, down to one foot for, say, a robotic lawn mower?
--Rob
Towards the Singularity.
Robotic mowers are a difficult solution for GPS, it gets more difficult based on how tightly the homes are in your neighborhood (GPS accuracy is HIGHLY dependent on satellite geometry). Honestly the best solution would be an inertial nav system with an all-in-view GPS receiver and WAAS updates...but they're expensive.