[OSM-dev] Feature locator powered by main OSM database?

David Earl david at frankieandshadow.com
Tue May 22 11:30:42 BST 2007

> -----Original Message-----
> From: dev-bounces at openstreetmap.org
> [mailto:dev-bounces at openstreetmap.org]On Behalf Of Nick Burch
> Sent: 22 May 2007 11:23
> To: Nick Whitelegg
> Cc: dev at openstreetmap.org
> Subject: Re: [OSM-dev] Feature locator powered by main OSM database?
> On Mon, 21 May 2007, Nick Whitelegg wrote:
> > I forget - did anyone ever write a feature locator powered off the main
> > OSM database?
> > e.g. give me all pubs within 1 mile of 50.9, -1.4.
> That's pretty tricky to do with the current database schema. It gets much
> easier if you split all the tags out into their own table (as we have for
> way, but not for node and segment)
> > The nearest thing seems to be Nick Burch's "Where am I?" but that's
> > based off planet.osm, not the live database.
> If we split out the node and segment tags, it'd be really quick
> to convert
> my script to run on the 0.4 db schema. It not, it's going to be really
> evil to write anything complex (since you don't know what order
> the two or
> more tags you're looking for are in, so have to search for any possible
> order)
> If you just want a really simple search, then that is already implemented
> in the search controller (search by tag name or value or both). For your
> pub thing, you could just extend the node search to support
> restricting by
> bounding box. It wouldn't allow you to do all the stuff that
> "Where am I?"
> does, but it might be enough for simple stuff.

My name finder is based around this concept (proximty), but only on names at
the moment. I was wondering whether to extend it to type of object as well
("pubs near Chesterton, Cambridge", "schools in Ely"), which fit naturally
into the algorithm and database structure.

You can, of course, already search for named pubs: "Fort St George,
Cambridge" works

Of course this is run from the planet file - for the reasons Nick Burch
said: the database needs support for making proximity searches more
efficient, and my preprocessing basically puts objects into regional


More information about the dev mailing list