[OSM-talk] conclusions from my postgres / postgis experiments

Andy Robinson Andy_J_Robinson at blueyonder.co.uk
Thu Nov 23 10:06:14 GMT 2006


raphael Jacquot wrote:
>Sent: 23 November 2006 9:23 AM
>To: talk at openstreetmap.org
>Subject: [OSM-talk] conclusions from my postgres / postgis experiments
>
>here's what I found during my little^Wextensive experiment:
>
>1) we have tons of duplicate segments
>     ((s1.from = s2.from) AND (s1.to = s2.to)) OR
>     ((s1.from = s2.to) AND (s1.to = s2.from))
>2) we have 4000+ degenerate segments
>     (s.from = s.to)
>3) we have ways with no segments
>4) we have degenerate ways where the way is neither a proper linear
>feature nor a proper closed polygon, but rather an unwidedly spaghetti
>monster. most of those furthermore involve a loop of some sort...
>
>here's what needs to be done to make the data more palatable...
>
>* we need proper integrity checks in the database.
>* the API needs to refuse all these things with
>     406 Not Acceptable
>or
>     412 Precondition Failed
>* we need higher level ways, to group all linear ways that belong to a
>particular street
>* the higher lever ways should carry things like the street name.
>* the oneway or road size limitations should be carried by the linear ways
>
>comments ?
>

Nice work. This is all good housekeeping stuff. Some of this is poor editing
(a lot probably from the early applet and JOSM days) which the API really
cannot cover. Needs to be better client side stuff to stop and question
obvious illogical edits before they are uploaded. Edits that result in node
or segment duplication especially, although both might still be legit in
certain mapping circumstances. Clearly duplicate ways are a needed facility.

The housekeeping on the database due to referential errors needs a closer
look. From what I can see, most of these problems seem to relate to nodes
which have apparently been deleted but are part of live segments (and ways).
As you say, improving the integrity checks in the database and ensuring the
API responds appropriately will get around this problem although some work
is going to be needed to correct the current referential errors.

Cheers

Andy


>
>_______________________________________________
>talk mailing list
>talk at openstreetmap.org
>http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk






More information about the talk mailing list