Timestamp and address support in KML module

In addition to the recently implemented views support in Drupal's KML module, the latest Drupal 5 version of the module now adds support for time and addresses.

Each of the placemarks now has a timestamp based on its creation date in your Drupal site, allowing you to filter your content by a specific time frame using the Time controls in Google Earth.

Also, if you have added address information to your nodes then this will be added to the placemarks as well (in both freeform format and the xAL standard), allowing content to show up in Google Earth even if you haven't added specific coordinates to it through your Drupal site. The geocoding is down to Google Earth and sometimes things will default to 0,0 if it isn't able to work out where in the world it should go.

How the GeoCMSs compare

At the State of the Map conference it was great to be able to meet up with two guys who also have interests in creating geographically able content management systems (GeoCMS), Andrew Turner who created the GeoPress plugin for MovableType and WordPress and Henri Bergius who is one of the founders of the Midgard CMS.

Before their talk on GeoClue we had a good opportunity to sit down and talk through some of the current functionality of the different systems, see where they differ, and try to agree on some common base functionality that we felt should be present across the different platforms.

The features included things like ability to save a location (obviously), how many locations could be used to reference each post, the presence of maps and which providers they used, the ability to post location information through the blogging API, the inclusion of Microformats (hCard), syndication formats (GeoRSS, KML, etc.), OpenSearch capabilities, reverse geocoding of coordinates to give place information, posting by email, and a couple of others.

When I get a chance I'm going to build up a table over on the Geospatial Content Management System Wikipedia page to compare the systems we talked about (WordPress, Midgard and Drupal) but also others such as Joomla, TikiWiki and Plone. Any input on those would be much appreciated as I haven't done much with them to date.

Update: I didn't notice that Henri had already blogged a little about this, and after the conference went off and added maps to Midgard using Mapstraction... cool!

Views support in Drupal's KML module

To set up a KML feed in Drupal all you need to do, after downloading the latest Drupal 5 version of KML module, is create a new view, enable the 'page' display for that view and choose 'KML feed' as the format to display. You can then filter it by anything you wish, sort it in different ways and feed it arguments to filter it down even further on the fly (untested, but should work).

If you want to use that feed as a self-refreshing network link, point the user at http://www.example.com/kml/view/<viewname>/networklink

I haven't had a chance yet to test it all thoroughly but it appears to work just fine. Any feedback and testing appreciated though, as always.

Finding Drupal sites from Google Earth

I love finding new sites that use the Drupal KML module, and seeing what they're doing with it. The great thing about it is that it can be used for absolutely anything that has associated location information, so every site out there can be a site about something completely different to the previous one.

The site I discovered today is an Ontario real estate website, listing houses for sale and their locations, but also events and other such things. Not only are they able to add a 'kml' link to each relevant page, allowing the user to click through to Google Earth and see the location, but they are also able to have people find their properties through Google Earth itself.

For a while Google has been indexing KML feeds (ones from Drupal included) and allows their content to be searched in Google Earth. To take an example, there is a $300k townhome in Newmarket, Ontario for which the realtor has added location information to the node in Drupal. Try doing a search for 'townhome in Newmarket' whilst in Google Earth, and you'll see that property show up as the first in the list of web search results.

The KML module can help bring your information to a completely new set of users, or potential customers in the case of the Jasmina Homes site.

How do I know about what sites are using the module? Well, I've started keeping track of of them through the Google Alerts service, monitoring any site that has links with kml/node in them.

Geo brings people to Drupal

I recently discovered the iCommunity.tv localised video news site (via High Earth Orbit) and was especially interested as it was being run on Drupal.

This was one of the first places out on the internet that I'd seen Drupal's KML module being put to good use, for example to be able to view in Google Earth all of the citizen journalist videos from YouTube that are tagged as being from the city you're interested in (e.g. Stuttgart video news and its associated KML feed of Stuttgart video news). Grass roots journalism is only useful to readers if the content is filtered to your needs, if it's in the area you want to know about and it's the type of news that you're looking for. The iCommunity.tv site does that by tagging videos by location (both coordinates and the name of the nearest city) and by topic (politics, community life, arts, etc.) and lets you filter by a combination of those*.

I heard back from Chris Haller of iCommunity.tv after posting a comment on his announcement of the site. He told me that he was previously a Mambo/Joomla user, attracted to Drupal both by its flexibility and by its geo-capabilities. It's great to see that happening, and someone told me exactly the same thing yesterday too. It's also great that organisations like the Open Source Geospatial Foundation are using Drupal as their platform of choice.

Its good to see Drupal becoming more and more of a GeoCMS and people taking the tools and finding ways to apply them in useful and practical ways.

* KML feeds for multiple tags do not currently work in the KML module, as I've just discovered

Machine Tags in Drupal

When I started work on the OpenStreetMap module for Drupal towards the end of last year I got pretty much to a point where I'd implemented the basics, and then slowed down as I pondered how best to proceed. The tagging in Drupal of objects from the OpenStreetMap database was perhaps the biggest issue to consider, and with Christmas in the way I didn't get much further on with it.

Everything of interest in OpenStreetMap is either tagged (e.g., a point of interest or a whole road) or helps build up other structures that are themselves tagged (such as junctions, or vertices, in roads). The tags aren't simple 'tags' as are commonly used in Flickr, del.icio.us, or any other Web-2.0ey site you may be familiar with, but are instead key-value pairs consisting of, for example, key=amenity, value=cinema (often simply written as amenity=cinema for brevity).

These tags are similar in style to some advanced tags that have been used by a growing number of people on Flickr and other sites for a while, notably those such as geo:lat=54.2, geo:lon=-4.4 to denote the location of a photo. Nothing had ever been formalised though, so those tags were listed amongst the other simple tags, looking a little out of place. That is, until recently, with the launch of machine tags on Flickr, announcing that they will be supporting this more advanced usecase even better. You can read more about all this over on Dan Catt's blog.

Examples of these advanced tags, triple tags, or machine tags in terms of OpenStreetMap could be openstreetmap:amenity=cinema, openstreetmap:name="Palace Cinema".

But for the OpenStreetMap module, where I want to store this advanced tag information within the context of the Drupal taxonomy system, I'm left a little boggled as I consider the way ahead. Sure, I could save these tags 'as is' in the taxonomy system using the triple tags style noted above. But that means they're basically just treated as simple tags, even if they look a little different, and wouldn't necessarily be easily filterable (e.g., looking for all cinemas). Another option was to go off and implement a custom tagging system just for this module, but that didn't make much sense either.

I think what's really needed is a Machine tags module that plugs into the existing taxonomy system which is in the core of Drupal. The question is, should the taxonomy system be used as normal, storing the triple tags in full, and then have another module that allows the extraction, display and use of those tags more flexibly. Or, should there be an option in the core taxonomy system of creating a taxonomy that can store those machine tags in a better way, perhaps in a separate table that has columns for the each of namespace, key and value, or perhaps even different tables for each. The extra module to display and reuse those tags would probably still be necessary, tieing into the taxonomy data and allowing it to be used in different ways.

KML and GeoRSS now ready for Drupal 5.0

Over the past few days I've been readying the KML module (thanks to AjK for starting the work) and the GeoRSS module for new releases that will work on the latest, shiny, version of the Drupal content management platform: Drupal 5.0.

They are both now ready (with the exception of some minor bugs and some feature requests) and there are a number of bits I need to backport to the 4.7 version of KML module to ensure it starts working again with recent updates to the Location module. I also need to make sure that GeoRSS module is consuming feeds properly from the successor to Aggregator2, Leech, as well as Feedparser.

I've also been helping out a little with the port of Location module as it is an essential part of getting the two modules to produce their geodata. It's not quite ready to be tagged as being ready for Drupal 5.0 but most of it is already working in this release.

If you're interested in any of these modules, please try them out and report any bugs in their issue trackers. If you have any ideas for future features, please also add them in there. Ideas (and patches, if possible) are always welcomed!

Furthering the OpenStreetMap module

Having started implementing a Drupal module for OpenStreetMap back in October I have spent a few hours here and there on pushing it forwards. Here's a quick update.

The module is at a stage now where you can download data for a specific region from OpenStreetMap, parse it, filter it by certain tags (and their values, if desired) and then create basic location-enabled Drupal nodes based on the results. Because it ties into the existing location module any other modules which rely on the location API can begin to use these new OpenStreetMap nodes, for example by plotting them on a map, by making the information available through RSS feeds or by displaying them in Google Earth.

I also started working on an OpenLayers module, and at work have been putting effort into improving the MapBuilder module that Nedjo Rogers started a year or so ago. Both of these modules will allow us to reduce dependence in Drupal on commercial mapping providers, instead moving towards using data from other, standards compliant, sources.

Assuming there aren't too many distractions over the coming week or so, I hope to have at least an alpha-quality OpenStreetMap module available soon. Phase one of the module will simply be allowing site admins to keep their local information site up-to-date with geodata from OpenStreetMap. Future phases will almost certainly allow for editing of data and the publishing of that back to the OpenStreetMap project.

Geodan becomes Geodaniel

Geodan, the nickname I had adopted in the world of Drupal, has now become Geodaniel.

Both Geodan and Geodaniel are a play on the fact I'm called Dan (or Daniel, if you take my actual first name) and love geospatial things. The former, however, is (unfortunately for me) also a trademark of Geodan, a company based in the Netherlands that specialises in geo-information. Working in the same area as I'm interested in, and with the same name, they were understandably worried that I was creeping up the search rankings for the term 'geodan'. In light of this, last week they contacted me and politely told me to stop using the geodan.org domain.

In need of a new home for my Drupal geospatial interests, I went searching for somewhere else I could stake my claim. This time, hopefully, without unintentionally breaching anyone's intellectual property. Luckily they didn't mind me using Geo Daniel as a nickname, so today I started transitioning geodan.org over to geodaniel.org - the new geospatial testbed for Drupal.

As for developments in the geospatial world of Drupal, I haven't had much of a chance at work of late to do much in that area. It has been great over the past few weeks though, hearing from lots of people who are using, or wanting to use, Drupal as their Geospatial Content Management system.

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.


Subscribe to RSS - Drupal