[OSM-talk] (no subject)
dblasby at openplans.org
dblasby at openplans.org
Wed Apr 26 23:41:35 BST 2006
>now, does my approach make any sense ?
>
>http://www.navsys.org/cvs/pynavsys/pg-osm.sql?rev=1.3&view=auto
I took a quick look at this, and I've noticed that OSM seems to store
each point as a row in the database. I'm not 100% sure why this is
done - but I'll assume there's a good reason for it.
Most road datasets store edges instead of points. For example, if you
look at tiger you'll see edges (represented two ways - start/end point
and as the complete chain of points). There's about 35,000,000 edges
(chains) and about 280,000,000 points (avg of 8 points/chain).
You'll also find road datasets store things slighly more network-centric
(node/edge graphs), coverage bases (tiger is actually a giant
winged-edge data structure), or as Linear Events in an LRS.
It seems to me that if you were to store things on an edge basis,
instead of point-basis you'd find that your database will be much more
efficient. As I said, I dont really know the OSM datamodel and I'm
sure there's a good reason for storing individual points.
I also noticed you're using segments (2 point chains), which is also
inefficient - why not just use homogeneous chains? You're also using a
box_cache which you dont need if you're using real geometry objects
(plus the bbox will be in the index).
dave
----------------------------------------------------------
This mail sent through IMP: https://webmail.limegroup.com/
More information about the talk
mailing list