[Talk-de] Qualitaetssicherung - Kreisverkehr anyone?
Florian Lohoff
flo at rfc822.org
Fr Mär 13 13:20:07 UTC 2009
On Fri, Mar 13, 2009 at 10:47:59AM +0100, Florian Lohoff wrote:
> On Fri, Mar 13, 2009 at 10:34:14AM +0100, marcus.wolschon at googlemail.com wrote:
> > Das musst du wohl selber machen.
> > Zunächst brauchst du dafür aber Polygone der Länger in denen
> > Linksverkehr
> > herscht.
> >
> > Die Orientierung des Geschlossenen Polygons "Kreisverkehr" kriegst du über
> > das Kreuzprodukt raus. Schau mal auf der Routing-Liste, da hatte ich einen
> > Thread dazu.
> > In dem Thread hatte ich mich am Ende dann doch entschieden auch in
> > Traveling Salesman die Orientierung von Kreisverkehren nicht zu
> > hinterfragen und als korrekt für das jeweilige Land anzunehmen.
>
> Ich bin mittlerweile so unterwegs:
So - jetzt aber richtig - problem ist das Postgis ST_BuildArea
anscheinend forciert ST_forceRHR anwendet - was natuerlich dann
vereitelt das man 2 areas vergleich ... Also einmal hin und wieder
zurueckkonvertieren und dann den ascii vergleichen - vielleicht
geht hier dann auch gleich ST_Equals ... aber irgendwas ist ja immer:
select wid,
'http://www.openstreetmap.org?zoom=16&lon=' || ST_X(center) || '&lat=' || ST_Y(center) as url,
simple, closed, ring, ccw
from (
select wid,
ST_Centroid(geom) as center,
ST_IsSimple(geom) as simple,
ST_IsClosed(geom) as closed,
ST_IsRing(geom) as ring,
ST_AsText(ST_ExteriorRing(ST_forceRHR(ST_BuildArea(geom)))) <> ST_AsText(geom) as ccw
from (
select wid, count(geom) as num, ST_MakeLine(geom) as geom
from (
select wn.way_id as wid, n.geom as geom
from nodes n, way_nodes wn
where wn.node_id = n.id
and wn.way_id in
(
select wt.way_id
from way_tags wt
where wt.k = 'junction'
and wt.v = 'roundabout'
)
order by wn.sequence_id
) wnodes
group by wid
) rblines
where num > 1
) rdb
where ( not ccw or not simple or not closed or not ring )
and ST_Within(center, ( select geom from borders where name = 'Deutschland' ))
Output hier:
http://silicon-verl.de/home/flo/tmp/roundabout-deutschland-20090313
Natuerlich sind da auch einige rohrkrepierer drin - z.b. wenn jemand die
roundabout ways gesplittet hat - aus was fuer gruenden auch immer. D.h.
im moment versuche ich nicht zerlegte roundabouts wieder zusammenzufuehren.
Dieser hier ist so ein fall:
http://www.openstreetmap.org?zoom=16&lon=10.706703532331&lat=47.5805489219297
Warum das 3 teile sein muessen weiss ich nicht - sieht aber insgesamt
reichlich zerstoert aus ... Siehe auch B16 nach Sueden ...
Auch nicht mit im output ist ob die roundabouts ein oneway haben ...
Flo
--
Florian Lohoff flo at rfc822.org +49-171-2280134
Those who would give up a little freedom to get a little
security shall soon have neither - Benjamin Franklin
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : signature.asc
Dateityp : application/pgp-signature
Dateigröße : 189 bytes
Beschreibung: Digital signature
URL : <http://lists.openstreetmap.org/pipermail/talk-de/attachments/20090313/e404db0b/attachment.sig>
Mehr Informationen über die Mailingliste Talk-de