Geographic

OpenStreetMap module for Drupal

For quite some time now I've been thinking about the best way to create a mapping and local information site for the Isle of Man - what will become Mapping.im once ready. Currently it's a very bare, ugly site, so don't pay too much attention to it. Working with the Drupal content management system so much, I naturally thought of that as the way forward, largely because of its flexibility but also because it gives me a good head start in developing a site that can do all sorts of things already, without me having to implement them individually.

I had jotted down some notes in the past about what I wanted out of a site, but never really got quite as far as implementation details. Then earlier this week I went to an old haunt of mine - an Irish bar by where I lived in the first few months of being here in Stuttgart - and sat down with my notepad and pen (both of which I carry at all times). I wanted to start jotting down some more fine grained requirements for what I want, and how I may go about integrating this into Drupal as a module that other people can apply for their own local areas as well.

Then last night I started coding the OpenStreetMap module up. I'm hoping - as long as I can spend enough time on the project - that I will soon have the ability to create a local information site for the Isle of Man, based on top of a map from the OpenStreetMap project to which I've already contributed a large amount of data for the island to get the mapping process started. (Since I started earlier this year a number of other people have joined in to flesh out that data even more, which is handy because being in Germany right now, I can't add too much).

I would have spent the weekend working on the module but I'm actually travelling over to Munich in the morning to meet up with a bunch of OpenStreetMappers for a Mapping Weekend to map the centre of Munich.

Mapping NYC Subway by smell

The New York City Subway map has been annotated according to smell by visitors to the Gawker.com website. This is a bit of a stinky mashup of NY, and it's amusing that the only smells recorded at Flushing Ave station (on the G line) are those of Feces.

"This is not a happy station ... Rankest smelling train stop in existence ... Like you bathed in your neighbor's toilet ... Like a herd of cattle with diarrhea." (via Very Spatial)

GeoRSS to KML through Drupal

I was working at the end of last week on pulling GeoRSS-enabled feeds into Drupal and attaching the location information for each item to the nodes created from each item. Once it's within the flexible world of Drupal, all the benefits of having attached geodata then apply.

With the number of GeoRSS enabled feeds around the world slowly growing, the opportunity to make your own geospatial mashup machine (borrowing the name slightly from Zacker's Drupal Mashup Machine screencast) is now here.

Much of the functionality was already there in contributed modules - aggregator2 module to pull in feeds (not sure what's going to happen to this module in the future) and location module to store location data for nodes. Then my recently released KML module can feed all of this information back out in different ways (eg by tags assigned to the incoming feeds), GMap module can display them on top of Google Maps.

The only part that was missing was the bit to pull geodata from the incoming RSS feeds, based on the GeoRSS standards, of which Version 1 was released last week. To do this I created a little module (GeoRSS module) that tied aggregator2 module and the location API together.

The functionality here overlaps slightly with the location module in that it already inserted geographic information into RSS feeds being sent out by Drupal, but I prefer to use the module as an API to store the information and then extend it in other ways. In the future the GeoRSS module could be extended to deal with more complex geodata than simple points, being able to cope with lines and areas as well if that time comes along and people have that need.

New beta of Google Earth released

I read over at Ogle Earth this morning that a new beta version of Google Earth v4 has been released.

I was pleased to see that the ability to access standards-based OGC Web Map Service servers has been included in this version. Whilst this is an improvement upon the previous methods people had of including WMS geodata as an image overlay in Google Earth, it does seem to be hidden away in an options screen (the Refresh tab under Add Image Overlay) that doesn't make much sense to me. Also I wonder why layers you've selected in there aren't added as children of the Google Earth layer you've created, allowing you to enable and disable layers from that WMS when desired.

Most importantly, this is the first version of the Google Earth v4 beta that hasn't crashed my Mac when I try to zoom in to an area.

Drupal KML module released

Tonight saw the release of the KML module I've been working on for the Drupal content management system. The main features of the module currently include the ability to:

  • add a KML link to the bottom of all spatially enabled nodes
  • view all spatially enabled nodes in Google Earth
  • view nodes tagged with a certain term
  • view nodes from within a group
  • view search results
  • determine order of nodes that are displayed in Google Earth, allowing for alphabetical or time-based flythroughs of nodes for example.

If you are interested in this module, please feel free to try it out. You can see parts of the module in action over at geodan.org/kml-module.

It's been developed on Drupal 4.7 and the source is available in the CVS repository or as a package. If you come across bugs or things that aren't working as expected, please add them (along with any suggestions or feature requests) to the issue tracker on drupal.org.

It took me a while to get to grips with using CVS and specifically MacCVSClient (to add to SVN which I also recently got to grips with) but finally I managed to import the module source to the Drupal CVS repository. I think I still need to tag it to make sure it's packaged properly from the module description page and therefor easier to download, but that can wait until the morning.

Flickr adds support for geocoding

The popular photo sharing website Flickr introduced native support for geotagging photos on Monday.

Because of the flexibility of the system, there have been a number of options around for a while that have allowed users to geotag their photos. None of them have been quite as simple as Flickr have just made it though. And it's great to see that the guy that built the first geotagging mashup of Flickr and Google Maps - Rev Dan Catt - was actually the person that Yahoo recruited to build up the geotagging functionality within the site itself.

The new geotagging system is really easy to use, it's functional and it's pretty at the same time. It also has a geotagging API that developers can plug into if they wish.

The thing that surprises me is the lack of support for GeoRSS in their feeds. With all this location information flying around (1.2 million photos geotagged within the first day) it would make sense to include that geodata in the RSS feeds from the site. I'd really like to be able to pull geotagged photos from my Flickr stream into my geoblog and photos section over at geodan.org and have their location information automatically assigned based on the information stored against them in Flickr.

You can also see my map of photos on Flickr.

Design for geodan.org

Design for geodan.orgGeodan.org has a new theme, for the most part at least. I got the basics done on Monday night having begun with the basic bluemarine theme that Drupal ships with and has enabled by default. I had an idea in my head of what I wanted to acheive with the theme and it didn't take me too long to get it into a state that I was relatively happy with.

It's best viewed in Firefox or Safari at the moment as I can't get the opacity levels to have any effect in Internet Explorer. It's just no good if you can't see the earth through the body of the page (thanks go to NASA for that beautiful Blue Marble image of the earth).

Drupal geospatial testbed

It's been long enough that I've been working with Drupal and not had a site of my own that runs off it. I'd love to migrate dankarran.com to Drupal but it would take some time to migrate. So for now I will leave this site as it is and create a new site aimed at demonstrating Drupal as a Geospatial Content Management System.

geodan.org will be a testbed for geospatial functionality within Drupal. I'll be using existing modules such as the location module which gives a basis for handling geographic information about users and nodes in a site, gmap module which allows for Google Maps to be easily created, as well as a number of others. In addition to these I'll be adding the KML module I've been working on as part of my day job, and also the WFS Server module which still has a little way to go before it's ready.

Right now it's just a shell, but over time it will grow. And as it seems somebody over at the OGC recently picked up on my last post about Drupal as a WFS I should try and make that sooner rather than later...

Finding my first geocache

Spreading the wordI went hunting for my first ever geocache today and found it without too much effort. There were a couple of little goodies in there along with the visitors log. I didn't take anything, but signed my name and left an OpenStreetMap badge to try and spread the word of open mapping to people around Stuttgart who have GPS devices.

My finding the cache brought on a long spell of very heavy rain - not a good thing when at the top of a hill in just a t-shirt! I did manage to walk 12km today though, most of it whilst drenched.

Despite only having the clues for the first cache, I went looking for a few more that were nearby. I got to the location of the first but after a little searching I spotted what looked like a syringe sticking out of the ground and gave up the search. Looking at the clues online later, it seems that the waypoint I'd downloaded to my GPS was just a starting point for finding the cache, so I was looking in the wrong place anyway. On my way home I stopped to find another and was within 50 metres or so of it, but the GPS wasn't working so well under tree cover and kept changing its mind.

Next time I go out geocaching, I think I need to take more of the clues along with me.

Pages

Subscribe to RSS - Geographic