Archive for December, 2007

Two Milk, No Sugar

That’s how I take my coffee 🙂 You may have heard of Tim Hortons — a mecca for coffee shops in Canada. Many of us are lost without it during our morning commute. Even though they are seemingly everywhere, there are times when you just can’t find one.

A friend of mine pointed me to a forum working on collecting locations of all Tim Hortons locations in Canada and the US. Wouldn’t it be great to upload these to a GPS which supports GPX format? Or to visualize in Google Earth, for example?

This is easily done using open source geospatial tools. OGR supports the reading and writing of a number of formats, including GPX, KML, GeoJSON, Shapefile, and so on. Here’s how:

  • Download http://www.gpspassion.com/upload/team/Dewi_TimHortons_xls_20071120.zip th.zip
  • Save as CSV (there is a CSV online, but the XLS has more detailed description of each location)
  • Use OGR’s Virtual Datasource support to read the CSV. Here’s the OVF definition:
<OGRVRTDataSource>
<OGRVRTLayer name="th">
<SrcDataSource relativeToVRT="1">./th.csv</SrcDataSource>
<GeometryType>wkbPoint</GeometryType>
<LayerSRS>WGS84</LayerSRS>
<GeometryField encoding="PointFromColumns" x="Longitude" y="Latitude"/>
</OGRVRTLayer>
</OGRVRTDataSource>

Transform to your heart’s content:

$ ogr2ogr -f KML ./th.kml ./th.ovf

$ ogr2ogr -dsco “GPX_USE_EXTENSIONS=YES” -f GPX ./th.gpx ./th.ovf

I’ve bundled up a zipfile of various formats for use as an example — have fun!

Cheers to 2007

Since I did this last year, I thought I’d try this again for 2007. Here’s a lowdown for my 2007:

  • REST is really here: and as popular as ever. For me, I finally realized that REST was a style, not a syntax, API or schema for that matter. Sean’s recent post sums it up quite nicely. It’s nice to see the OGC has acknowledged this
  • Mass Market is really here: Things like Google, Yahoo Maps, and lowering the barrier to application development and, more ultimately, content, are paramount in the Web 2.0 sphere of things. Defacto standards / approaches matter
  • Geospatial Catalogues: I blogged about this last year. Even with Cat 2.0 CSW / ebRIM formally approve, where is catalogue interoperability? Is a federated / distributed catalogue approach realistic in the near future?
  • MapServer:
    • SOS Server: There has been much development here, including forthcoming support for 1.0.0, as well as implementation of POST support in mapogcsos.c. SWE DataBlock has also been implemented. We’ve also introduced automated testing for SOS in msautotest/wxs/sos.map. And a slew of bug fixes, memory leak fixes, etc. So I’m really happy about how SOS Server support has progressed this year. It goes without saying that major props to Assefa are in order here, as well Charlton and other MapServer SOS Server testers who have provided valuable feedback
    • OWS Common: Through increased usage in SOS Server, as well as the WCS 1.1 Server support (thanks Frank!), mapowscommon.c usage has been slowly increasing in the codebase to reuse existing functionality. This is a result of the OGC standards gradually adopting OWS Common for their “common” bits of XML and such. mapowscommon.c is also becoming more robust as a result of more integration and testing. I’m also happy about the increased libxml2 support in MapServer. We used libxml2’s xpath functionality in supporting SWE DataBlock, and have generic utilities now defined in maplibxml2.c
    • I’m happy to have become more involved in the MapServer codebase and project overall as part of the Project Steering Committee. There is definitely alot going on and alot to do, and the enthusiasm, commitment and helpful nature of the developers is great. MapServer is a special project to me, starting in early 2000 as part of my research / dissertation. The rest, as they say, is history. Oh, and “STYLES=” is optional again 🙂
  • Publications: I was glad to see “The Geospatial Web” published this year. Nice to see new folks and goings on out there
  • Adventures in Python: I decided to dive into python finally. With some sound advice from Sean, I embraced stuff like Genshi and etree. I managed to stand up a generic SensorML generator which I’m happy with, as far as my first Python project goes. My next goals are to experiement with doing things differently (like SQLAlchemy; I had to use good old SQL scripting as I ran out of time)

In other news:

  • Construction time continues: I did some major work on my place, including new fencing, landscaping/gardening, central air conditioning, as well as a shiny new veranda. A bit more curb appeal for sure
  • Condo: I finally picked up my condo this year. After much thought, I decided to sell. This was a beautiful property in a can’t lose location! Onwards
  • Lifestyle changes: Perhaps my biggest victory is quitting smoking. I have been absolutely smoke free for all of 2007. I can’t say that there haven’t been times where I wanted one from time to time, but I feel much healthier and better overall

So as 2008 quickly approaches, here are a few things I’m looking forward to:

  • MapServer: I look forward to continuing in helping more with OGC support, as well as become more familiar with the inner workings of the codebase.
  • OpenLayers: I really want to get into OpenLayers this year. I have not done much on client side work since the initial Mapbuilder days
  • New Springer publication: keep an eye out for a new, exciting book on GIS and open source this year
  • OWSContext and KML: it will be useful to see a resolution or unification of some sort between these two standards
  • OpenSearch: I think OpenSearch, with the geo extensions, will make a big hit this year. Nothing like a simple search facility which is already supported in browsers
  • I’m renovating my basement this year. Gutting the entire basement and installing a new bathroom and kitchen. I hope to have this done by summer 2008 — wish me luck!

So that’s it from here. I wish you and your loved ones the very best in the holiday season and for 2008!

It Just Works

Finally!Finally, after completing my Christmas shopping, I lucked out and got my MacBook. Future Shop was clearing them out and I took the opportunity to cash in my points and take the plunge. I ended up buying the same model as I originally planned, but in white (apparently there’s a significant price diff for the colour). I declined the “extended service plan” due to my bad past experiences with them (it comes with a one-year warranty from Apple).

Whoever said it just works is right. I was up and running in no time. No need to search for digital camera software, I just plug in and it works. Same with my printer and iPod. In about an hour, I was upgraded to Leopard and the latest software updates and up and running on my wireless network.

I then downloaded NeoOffice, Skype and Adium and I was off to the races. All this ease, and with the flexibility to use the native UNIX core when I want. Porting over and plugging in my content (music, photos, etc.) was a snap. Smooth sailing ever since.

Some initial thoughts:

  • the corded mouse (I didn’t want a cordless and the battery dependencies that came with it) has a mighty short cord, which is not bad, but a bit iffy when the USB port is on the left of the MacBook (I’m a right handed mouse guy)
  • What do folks do about warranty? Is it better to buy an AppleCare package?
  • Say I wanted to build MapServer, is there a specific/preferred way to do this? Maybe I’ll ask Steve (Lime) or hobu

Now I just need a way to manage my bookmarks across browsers…

Modified: 18 December 2007 21:42:59 EST