Tag Archive for 'Mashup'

Digitalks GeoServices

A week ago Helge and I were invited to host a Digitalks session about GeoServices. Digitalks is an interesting event series in Vienna, aimed to explain recent media and technology developments to a “normal”, not so tech-savvy audience. Meral, the woman behind Digitalks, usually tries to invite early adopters or enthusiasts who are passionate about media and technology to host a session. There’s no PowerPoint in Digitalks, only live demos and hands-on are allowed, which is good and makes the presentations very lively, although it doesn’t always work as expected.

Anyways, I felt honored to be invited and talk a little about GeoServices. Helge did a brilliant job in presenting OpenStreetMap and explaining the revolutionary aspects of the project. I tried to give an overview of the grown variety of geographic applications in the internet since the first appearance of map mashups in 2005 and showing some recent location based services on a mobile device. If I’d have had a closer look at the attendees list first, I probably would’ve had chosen a few other things to demo. The ratio expert/novice of the audience was actually more leaning towards expert, so I hope it wasn’t too obvious for most people.

Thanks again to Meral for inviting us and many thanks to Luca for taping the session on video!

PS: the next Digitalks is about Microblogging, hosted by Twitter, should be interesting!

Improved MySQL GIS functions

MySQLThe Russian developer Alexey “Holyfoot” Botchkov improved MySQL’s built-in GIS functions in order to use precise operations instead of MBR-based operations. Binary packages of a MySQL release containing his work are available for public testing here (FTP).

According to the GIS Functions wiki entry following MySQL GIS functions have been added to the MySQL 5.1.23 beta GIS release:

  • BUFFER
  • DIFFERENCE
  • DISTANCE
  • INTERSECTION
  • SYM_DIFFERENCE
  • UNION

I haven’t had the chance to test it yet, but I remember being very excited when I first read about the MySQL spatial extension a couple of years ago, followed by disappointment because of the MBR limits. Finally I decided to go with PostgreSQL/PostGIS back then.

However, if this functions make it into the official release it would be a good tool for proper storage and inclusion of geospatial data in (lightweighted) mapping applications like map mashups, compared to file based XML (KML) storage for instance. MySQL is supported by every other shared hosting plan, so the install base would be quite considerable I guess. [via heise]

Twitter map mashup

Well, I didn’t jump on the Twitter bandwagon – the last days my feed reader was quite cluttered with blog posts starting with t and ending in witter – but the twittervision map mashup nicely demonstrates visualization of rapidly changing geotagged content.

As far as I can tell, after having a quick look at the Twitter API, the map solely relies on geocoding services. There is only a <location> element containing place names in the Twitter data stream, no GeoRSS or any other geotagging method has been applied yet.

Pipe experiments

Yahoo! Pipes is for sure one of the most exciting recently released toy and I was desperately seeking a reason to play around with it.

Why climb a mountain?
Because it’s there.
Sir Edmund Hillary

So today I tried to find Bengal cats for sale in and around Vienna. Yahoo! Pipes helped me to merge existing content of different sites regarding Bengal cats in Vienna to a single feed, filter it by my chosen keywords and re-publish it as RSS feed again. As result I get noticed by my RSS reader whenever a new Bengal cat is available for sale in Vienna.

The tricky part was to integrate a site without existing feed. Yahoo! Pipes doesn’t provide comprehensive content analysis of non-feed-content out of the box. So I used Dapper instead to transform HTML content into a valid RSS feed and pipe it through my Vienna Bengal cat search pipe.

Funny thing, those pipes… but one problem I still have is that if one source fails the whole pipe screws up.

Platial’s MapKit

Today I had some time to have a closer look at Platial’s recently released MapKit.

Basically it’s a fantastic collaborative mapping tool for your website where you or your visitors can mark, describe, comment and share places. MapKit’s integration is pretty straight-forward: just provide some information about the map and the website where you plan to embed it and within a few minutes everything is up and running and your mapping tool is online. Great!

The map shown in MapKit is linked back to your Platial account. So you can control the map content out of your Platial account, or make it public in Platial and let other Platial users participate through Platial’s interface.

One drawback I noticed already at my MapKit registration was that localhost isn’t a valid MapKit domain name. So in order to get a quick view on MapKit I had to go through a edit-upload-test workflow, which is ok for a quick view, but impossible if you plan to do some more development. I usually work and test things on my local machine before putting them online, and I guess I’m not the only one who does so.

Another point is that you can only add places by addresses. Since my region isn’t covered by Google’s geocoder it’s impossible to create a single place through MapKit. So I have to login to Platial and add my places to the MapKit there, then they’ll show up. I wish I could pinpoint places in MapKit the same way I can in Platial.

Finally, some more design options would be nice. For instance if I set the map width to 100% I get a cinema scope map, which looks a bit strange. It’s clear, and proven by myspace, that too much design liberty for users isn’t recommendable either. But some more options like defining map-height or maybe title color and background would be appreciated.

Smart and simple

There is a good chance that this is probably one of the most useful mashups ever:

On UseAMap.com you can mark and tag a location, add a short description and share the human readable link (e.g. usamap.com/mylocation) with anyone you want to.

Just 2 steps to mark and share your location.

Simply brilliant!

I wonder how they deal with geospam, since there is no registration, tag moderation or any other barrier to add tags and locations. To me, the site seems very vulnerable to spam robots.

SVG diagrams on Google Maps

A smart swiss Google Maps user posted an interesting example where SVG diagrams are added as overlay to a Google Map.

Very clever!

Though the diagrams are static and don’t make sense, it should be easy to connect them to dynamic data. The example demonstrates a promising method of overlaying vector symbols and point signatures on Google Maps, only based on a few lines of Javascript.

Compared to raster graphic symbols, e.g. PNGs or JPGs, any SVG symbol attribute like color, size, transparency, etc. can be changed easily on-the-fly, without the need of producing and storing tons of new files somewhere in the server-background.

The example doesn’t work with Adobe’s SVG Plugin, it’s only accessible with Firefox so far.

Quick mashup follow-up

Once I got the Flickr photo search boxed over my map, I thought why not include the public transport timetable and route search the same way. So now I open the search box, enter origin and destination information and the public transport routing shows me the best way to go by foot, bus, tram and subway. All done with a little help of the “involuntary” API of our public transport company, the Wiener Linien.

Accessing the route search directly out of the map would be more convenient. E.g. mark origin and destination directly on the map and the route search shows you the quickest way between the two points by public transport.

I guess it’s time to register at the deCarta Developer Zone to get access to a geocoder API for Vienna which does reverse geocoding too…

Quick and dirty

What I really do appreciate about Mashups is the speed of development. Very quickly you get from the first thought of an idea or feature to a point, where you can see your first results.

From time to time, mostly motivated while reading a technology post, I can’t avoid to start playing around with this kind of “quick and dirty” development tools by myself.

So, a few months ago I wanted to try the AJAX capabilities of the Google Maps API and started making this little map of the underground stations in Vienna. Basically I just let JavaScript and the API parse an XML file and overlay the result in a Google Map. To decorate the points in the map, I added a photo from Flickr for each station and linked to a Flickr photo search to see more pictures about this station and the area around.

Two days ago I read a post about FlickrStorm, a new Flickr photo search with some “magic” (whatever that means) from a future Google employee. However, reading the post it came to my mind to link my map to FlickrStorm instead of the Flickr search. Unfortunately FlickrStorm doesn’t allow access from outside, meaning that you can’t simply access FlickrStorm by calling the search with an expression like “/?q=searchterm”.

Once the idea of improving my photo search of the underground map in my head, I started trying a few alternative ways – loaded some AJAX libraries, did some testing and finally got a photo search running I’m satisfied with.

Go figure! I really think it’s a nice map add-on.

At least I had my fun hoping from station to station in the map and browsing thru the photos that showed up in the search box. It’s kind of exploring the city by subway on the internet. Flickr has in the meantime become such an amazing photo archive. I even discovered some corners I’ve never seen before around some subway stations, have to open my eyes better next time I pass by…

Where 2.0 day #1

Where 2.0 audienceIt’s hard to wrap up a whole day at Where 2.0 since it was packed with interesting presentations.

My personal highlights of today were the panel discussion “Social Data Face-Off” and the presentation done by MetaCarta.

I think this was not the last discussion we heard about copyright of data provided by users. Though it was interesting to hear how this issue is handled by various services so far. Beside user data, how is “copied” data like place names and street names from background maps (provided Google, Yahoo!, Microsoft, etc.). Is it legal to pinpoint “San Jose” above a Google Map, getting the coordinates out of the data set Google Map is based on, and name this point “San Jose”, the name which appears on the Google Map and was put there by a third party? Can we be sure that there is no copyright on this data as Di-Ann Eisnor from Platial said?

One way to avoid this kind of uncomfortable questions can be the use of OpenLayers by MetaCarta. They provide a free API to free geodata. If you can’t use Google Maps, Yahoo! Maps or any other available mapping API because of licensing reasons, you should give this BSD licensed API a try. Together with OpenStreetMap it can be a powerful package.

Another fantastic API released by MetaCarta is their GeoParser, which basically parses text for place names them and maps them. I have to try this with our data and studies.

Talks like those about the least cost path calculations doing in GRASS or the raster based demographic data offered a sneak peek into the GIS world for the audience, which is obviously not very familiar with GIS processing and methods. Hey, never forget that behind all those mashups it needs a lot of GIS work in order to build *only* the base-maps. On the other hand, coming from the traditional GIS world, I’m very excited about all this developments going on right now. The growing participative aspect of mapping and geographic information will sooner or later make its way into the world of spatial planning. I’m pretty sure about that.

As Ed Parsons already wrote, the announcement of Google Maps Enterprise solutions probably made some phones ring in certain GIS companies. A big player like Google entering the professional mapping market (additionally to their free geocoder!) will surely lead to some interesting developments.

Let’s start day #2.