[OSM-dev] A new "object" element?
Frederik Ramm
frederik at remote.org
Thu Apr 14 07:52:03 BST 2011
Hi,
On 04/14/2011 08:31 AM, the.promenader at gmail.com wrote:
> I've been learning/experimenting with OSM since more than two months
> now, and I've a few suggestions I'd like you to pick apart. Since I'm
> new here, I'm not quite sure where to post them (where we could have
> a localised discussion), so for now I'm just making diary entries. I
> think I have an idea that would simplify both search efficiency and
> comprehensive data creation - you can find it here:
> http://www.openstreetmap.org/user/ThePromenader/diary/13572 .
You are proposing a general "object" data type, representing a
real-world object, which can have any number of properties, one of which
may be a "geometry" property that describes where the object is located
on the planet and what shape it has.
This is indeed a very common way of modeling data in the classic GIS
industry (think for example PostGIS tables where a table row describes
an object, the row having lots of attribute columns and - usually - one
geometry column).
If one wanted to do it, our current data model would be perfectly usable
for that; take a "relation" as your "object", assign all the tags you
like to it, and then take one or more nodes, ways, or relations
describing the geometry and make them a member of your relation.
Of course, current renderers and geocoders might be a little confused by
that, but a change in the data model is not necessary if one wanted to
do what you suggest.
I do not, however, think that there's any efficiency to be gained from
that. Au contraire, you will add extra indirections where there are none
today. For example if you wanted to solve the question "how many traffic
lights are there in this area", then you would have to join your
"object" information with the node locations - in database speak, first
find all nodes in that area, then find all objects using these nodes,
then check if any of them has a pharmacy tag, or the other way round,
first find all objects world-wide that have a pharmacy tag, then find
all the nodes for them, then check if any are in the area requested.
This makes things more complicated than they are now. We have this
situation already of course for other relations (and, in a limited
fashion, for ways also), but your idea would suddenly make *everything*
that complicated.
Bye
Frederik
More information about the dev
mailing list