Archive for January, 2005

Amazon YP: Running Up and Down the Street

Amazon YP: Running Up and Down the Street


Amazon has assembled a huge georeferenced photo database, that has value in its own right beyond shopping. What can be done with this? Is it possible to associate an Amazon photograph with an arbitrary latituge/longitude?

Not clear, but I’ve been playing around a bit. a9: Run up and down the street starts with any business listed in Amazon, and automatically grabs all the images to the left or the right, until Amazon runs out.

Gathered some observations on the file format of this images below. Is there any pattern to make use of?


Each image has a unique id. It resembles md5, but just a guess. Could
this id possible be a hash of the lat/lon (plus some other stuff)?

View Source on one of these pages, and search for “snapImages”. It’s a
javascript array, containing the id and urls for each image in the
filmstrip. Immediately after this, the method “addFilmstripData” is
called, with the ids referenced for walking left and right.

The javascript class “YpSnapshotControl” builds the filmstrip from the
snapImages array. Walking left or right triggers a request in a hidden
iframe; the source of that request is javascript containing a new
snapImages array. For example, the source of ..

http://www.amazon.com/gp/yp/snapshot/pan.html/102-0306354-8911335?snapshot=650f16a3e247db76

The stuff after snapshot= is an id.

So given any id, this request gives up images and surrounding ids. Then
it’s possible to do things like “Run up and down the block”

http://brainoff.com/a9/pano.pl?id=0f5861031b445205 (lots of images, big
download)
http://brainoff.com/a9/pano.pl?id=0f5861031b445205&size=sm (thumbnails)

Looking at a just few sample ids and associated image urls hasn’t
resulted in any broken codes, but I noticed a few patterns.

* the ids are either 16 or 32 characters. the last 16 characters of any
32 length id’s don’t seem to vary at all.

* the image file names consist of a 64 character preamble that doesn’t
seem to vary between any images.

* following this is an 11 or 22 character section. length corresponds
to id length. this section doesn’t vary across different resolutions
of the same image. so, it seems there’s some relationship in this
section to the id.

* the remainder of the image file name varies depending on resolution.
and perhaps city. in other words, it’s sometimes constant across
different images in the same city, at the same resolution.

* sometimes, adjacent images, with 32 character ids, will have the
first or last 11 characters of the “middle section” in common.

Comments

worldKit news: TypePad and Blogger are Now Supported! and documented

worldKit news: TypePad and Blogger are Now Supported! and documented

From the worldKit weblog

TypePad and Blogger are now supported by worldKit. That means mapping simply by posting entries on these services. I don’t think building maps comes much easier than this! Here is a sample site and map.

Check out documentation on installing and using worldKit with TypePad and Blogger. Though I suggest you get familiar with worldKit first by browsing the site and the Getting Started documentation.

Technically, this now works because worldKit can accept geocoding without any additional RSS tags.

Comments

History of Urbanization: Temporal GIS in worldKit

History of Urbanization: Temporal GIS in worldKit

This map of when cities pass the 1 million population barrier, 1775 – 1975 is a demonstration of temporal GIS features currently under development in worldKit.

GIS usually computes along the spatial dimension. Yet many processes and systems investigated with GIS have a significant temporal dimension: urban planning and land use, hydrology, fires, ecological change.

Methods of interaction and presentation in Temporal GIS are still open questions. I’m really curious to see how this works out.

Comments

logo for indian cement company

logo for indian cement company

P1010041

muscle guy hugs some architecture

Comments

Bending the Browser. An entirely new form of web programming.

Bending the Browser. An entirely new form of web programming.

Links via Feedster hits the bloody spot. It’s a firefox plugin that inserts feedster searches directly in news stories on nytimes.com and washingtonpost.com. A bit of javascript runs on load and modifies those web pages directly in the browser, as you browse.

That’s revolutionary. No need to build scrapers, or interface with APIs if they even exist yet. Or build proxies. Or send feedback. The Web is bendable today. Programmers and hopefully utlimately users, can directly modify and extend the Web transparently.

Links via Feedster is pretty specific. How about a plugin that runs a configurable bit of javascript when browsing any arbitrary url? There are obvious huge security issues that I’ll just naively ignore in my enthusiasm. Maybe crippled javascript (no cookies etc) or a vetter reputation system for these plugins?

One idea to solve some design problems: rewrite rss links to point at the user’s favorite aggreagator.

It is possible to generally modify CSS in Mozilla, like this project on skinning gmail. Still a few steps away from ease of use. I imagine a XUL app, which parses a sites HTML and CSS, and presents that in an editor for user modification.

I’d love to see this. Can URIid be hacked to run javascript? Must change the bloglines “Clip/Blog This” link to point to del.icio.us.

Comments

Map of Today’s Front Pages

Map of Today’s Front Pages

Was just looking at Ming’s fine list of geolocated webcams (and hoping that he will map them!) and then thinking about how he wants to integrate loads of other data, including newspaper images from Today’s Front Pages. I really like TFP, and have worked with their data before with my Radio, and thought it might be simple to scrape together a map.

Hey it’s really simple, cause it already exists. Today’s Front Pages map view.

Now maybe we can work out that webcam map once Ming’s servers have cooled down!

Comments

technorati for recently updated
technorati tags for geocoding

Comments

Geo Folksonomies

Geo Folksonomies

In the discussion around Folksonomies and Controlled Vocabularies there’s an implicit assumption that all metadata is created equal. And that one method will “win”. Of course, it will be some organic combination of folksonomies and controlled vocabularies, that will depend on the area of focus.

Geo folksonomies are my area of interest. Though I have pushed the controlled vocabulary of RSS2+Geo, it’s true that a lot of users aren’t going to get into latitude/longitude. They want to talk about places informally, with place names, or use a map.

mappr has built on the flickr folksonomy for effective photo mapping. As opposed to my experiment in leveraging del.icio.us for mapping, mappr uses place names to geolocate. So, without any user’s explicit intention, a large amount of photos are mappable. mappr’s intentions is to “turn the camera-with-GPS problem on it’s head”.

The mappr folks are delving into difficulties and fun of dealing with place names. Just identifying what is a placename ( Nowhere, Utah ), or which place a user refers to ( Paris, Texas ) is very tricky.

Publicly available place name data (US Census and GEOnet Names Server) is good, but nowhere near complete or consistent. And what about neighborhoods names, or well known public places?

One possible process is to collaboratively build a place name database. Starting with the available public data, build a wiki-ish structured hierarchy of places and coordinates. Perhaps something like this already exists? How active is WikiTravel? Wikipedia already lists coordinates for some city entries. It certainly has many public places within cities. Does mediawiki support any sort of structured data tagging? A one time import of public data would be a good start.

But what about precision? For unintentional mapping, folksonomy will suffice. But what about mapping with a purpose? If you’re building a map of graffiti, wouldn’t you want to have precise locations so you can actually go out and see it in person. That level of precision requires more than place name geocoding.

Wouldn’t this be a lot easier if there was a vocabulary? like the proposed mappr tags? mappr may have the groundswell to push a vocabulary .. though I’d suggest using and extending the geo namespace instead of creating an application specific tag. It’s not either/or. Support the folksonomy to get the project and users going, push the vocabulary, especially in tools, for precision.

Users don’t need to be aware of a data structure. RSS, the most successful vocabulary on the scene, is published without any user knowledge. That’s what publishing geolocated weblogs is about. geo.licio.us uses the map itself to determine coordinates. A map zoomable to urban areas, combined with a good geocoder, could make the lat/long tagging process relatively painless. The key is integration with the tools. flickr users are already investing time in annotating their photos; many would be willing to make a couple extra steps.

Comments

Bending the Browser

Bending the Browser. An entirely new form of web programming.

Links via Feedster hits the bloody spot. It’s a firefox plugin that inserts feedster searches directly in news stories on nytimes.com and washingtonpost.com. A bit of javascript runs on load and modifies those web pages directly in the browser, as you browse.

That’s revolutionary. No need to build scrapers, or interface with APIs if they even exist yet. Or build proxies. Or send feedback. The Web is bendable today. Programmers and hopefully utlimately users, can directly modify and extend the Web transparently.

Links via Feedster is pretty specific. How about a plugin that runs a configurable bit of javascript when browsing any arbitrary url? There are obvious huge security issues that I’ll just naively ignore in my enthusiasm. Maybe crippled javascript (no cookies etc) or a vetter reputation system for these plugins?

One idea to solve some design problems: rewrite rss links to point at the user’s favorite aggreagator.

It is possible to generally modify CSS in Mozilla, like this project on skinning gmail. Still a few steps away from ease of use. I imagine a XUL app, which parses a sites HTML and CSS, and presents that in an editor for user modification.

I’d love to see this. Can URIid be hacked to run javascript? Must change the bloglines “Clip/Blog This” link to point to del.icio.us.

Comments

Global Satellite Data available on MapProxy

Global Satellite Data available on MapProxy

Worldwide Landsat satellite imagery is now available on MapProxy. From the GEONet Names Server database, it’s retrievable simply with the name of any global city and country.

For example, here’s Berlin, Germany and the Tsunami Region.

I find this really exciting. It means mappers, using worldKit or anything else, now have a source for globabl imagery, on an urban to continental scale.

MapProxy has now evolved to integrate 3 different sources of imagery data [USGS US Census Landsat] and 3 different geocoding services [geocoder.us Geo::PostalCoder GEONet]. It’s tied together with an HTML form and a formula for Lat/lon given radial and distance.

All the imagery is accessible via simple HTTP GET requests. The same is potentially possible for all the geocoders and the formula. It makes me wonder about a possible web programming model that doesn’t require a programmer. So that it only takes the idea, not the technical expertise, to build out recombinations on the Web’s open data. More on this to follow.

Comments

« Previous entries Next Page » Next Page »