I walked a local footpath carrying my (mostly) trusty Garmin GPSMap 60Csx, and a Blackberry Tour running bbTracker. Both had had a good satellite fix for about 10 minutes beforehand, and both were logging trackpoints every second. The smooth turquoise track from the Garmin is much more useful than the wibbly one from the Blackberry.
Month: August 2010
-
probably wouldn’t recommend the Blackberry Tour as a GPS logger
-
fallout from last night’s OSM 6th birthday Mappy Hour in Toronto
It was fun – there were geo-aware cupcakes!
- It is very easy to lose days in the David Rumsey Historical Map Collection.
- Richard’s OpenStreetMap for the Beginner tutorials are actually really really good.
In a moment of geek worlds colliding, Emma showed up, and now I have people clamouring for tablet at Mappy Hour. Sigh, those old ecommons links just don’t fade …
-
proj.4 init annoyances: it’s all apple’s fault
I was going to write a rant about how Ubuntu sets up proj.4 init files incorrectly, then I found that the problem actually lies with OS X. OS X is unusual for a Unix variant, as it uses a case-insensitive file system; flarp.txt is the same as FLARP.TXT. Under more traditional Unices, they’d be different files.
Most of the examples on this blog were written under OS X, and I was concerned when they didn’t work under Ubuntu. It seems that proj.4 uses a very simple way of defining initialization files. If you specify, say, “+init=EPSG:2958”, proj digs around in its configuration files for a file called EPSG, then searches for an identifier in that file which matches the ID 2958. Under OS X, you can specify EPSG, epsg, or even EpSg – they all work. Under Ubuntu, using anything other that epsg fails with this message:
<proj>: projection initialization failure cause: no system list, errno: 2
In short, use lower case init specifications, and it’ll work everywhere.
It seems that there are some other applications (mapserver?) that have problems calling proj, so if you’re seeing this error and it’s not something you can correct from the command line:
- Find out where your installation keeps its initialization files. You can do this by setting PROJ_DEBUG=1:
PROJ_DEBUG=1 proj +init=epsg:2958
and you should get a message like:
pj_open_lib(epsg): call fopen(/usr/share/proj/epsg) - succeeded - cd /usr/share/proj (or wherever the last command said the epsg file was located)
- sudo ln -s epsg EPSG
Now your installation should work no matter which case you use. Camel case, unfortunately, excluded.
- Find out where your installation keeps its initialization files. You can do this by setting PROJ_DEBUG=1: