Re: [Talk-de] Advanced Polygone in SQL zusammenbauen? Was: Strassenlistenabgleich - jetzt in Selbstbedienung
Hallo, Florian Lohoff wrote: Woa - Hat sichmal jemand Fig. 7 angesehen und mal ueberlegt wie man das automatisiert zusammenbauen soll? IMHO gibt es ausser zufaelliges wuerfeln und gucken welches der inner und outer in welches andere wohl reinpasst keine systematische loesung. Wieso das? Am Fusse der Seite habe ich sogar einen Algorithmus verlinkt, der das korrekt macht. Hat jemand schoenes SQL das via postgis dafuer flaechen rauswirft? Man kann diesen Algorithmus vermutlich in SQL bauen, aber ich wuerde davon abraten. schoen wird das bestimmt nicht. Bisher (das thema inner outer ignorierend) habe ich die flaechen so zusammengebaut: select ST_BuildArea(ST_Collect(linestring)) as geom Ich hatte fuer meinen C-Code zunaechst in der GEOS-Library den PolygonBuilder benutzt, auf dem auch das ST_BuildArea aufsetzt, aber der fuehrt nicht in allen Faellen zu korrekten Resultaten, besonders dort, wo zwei inner-Flaechen sich beruehren. Und bevor hier wieder jemand schlaue Sprueche bringt - SQL das funktioniert bitte ... Wie gesagt, ich sehe nicht, wie das in SQL gehen soll. Bestimmt kann man eine Stored Procedure machen, die das kann, aber das ist nicht mein Spezialgebiet. Oder Du laedst Dir unter http://download.geofabrik.de/polygon/polygon.tar.bz2 einen fertigen, weltweiten SQL-Dump mit allen Polygonen (simple+advanced) runter. Das ist noch nicht so richtig dokumentiert, weil wir noch ein paar Unklarheiten bezgl. des Taggings haben (wann und in welchem Umfang uebernimmt ein Multipolygon die Tags seiner Member?), aber der Plan ist, daraus einen regelmaessigen Service zu machen. Bye Frederik -- Frederik Ramm ## eMail frede...@remote.org ## N49°00'09 E008°23'33 ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Advanced Polygone in SQL zusammenbauen? Was: Strassenlistenabgleich - jetzt in Selbstbedienung
Hi Frederik On Sun, Feb 21, 2010 at 12:44:27PM +0100, Frederik Ramm wrote: Hallo, Florian Lohoff wrote: Woa - Hat sichmal jemand Fig. 7 angesehen und mal ueberlegt wie man das automatisiert zusammenbauen soll? IMHO gibt es ausser zufaelliges wuerfeln und gucken welches der inner und outer in welches andere wohl reinpasst keine systematische loesung. Wieso das? Am Fusse der Seite habe ich sogar einen Algorithmus verlinkt, der das korrekt macht. Ich habe mir das gerade mal durchgelesen - im prinzip ist das thema inner/outer taggen also obsolete weil die annahme wenn ein ring in einem anderen ist wandelt sich die role von inner zu outer und vice versa. Der aeussere ist immer outer und dann wechselt das jeweils - Also grosses gerate was wenn nur irgendjemand einen kleinen fehler macht (ringe beruehren sich oder ueberlappen sich) das ganze auf die nase faellt. Hat jemand schoenes SQL das via postgis dafuer flaechen rauswirft? Man kann diesen Algorithmus vermutlich in SQL bauen, aber ich wuerde davon abraten. schoen wird das bestimmt nicht. Super Oder Du laedst Dir unter http://download.geofabrik.de/polygon/polygon.tar.bz2 Ich baue die derzeit neu fuer jeden auswertung der Strassenliste, falls jemand das Stadtgebiet modifiziert hat um die boundary zu verbessern. D.h. im zweifelsfalle all 5 minuten ... einen fertigen, weltweiten SQL-Dump mit allen Polygonen (simple+advanced) runter. Das ist noch nicht so richtig dokumentiert, weil wir noch ein paar Unklarheiten bezgl. des Taggings haben (wann und in welchem Umfang uebernimmt ein Multipolygon die Tags seiner Member?), aber der Plan ist, daraus einen regelmaessigen Service zu machen. Unbrauchbar fuer meinen Anwendungsfall. Flo -- Florian Lohoff f...@zz.de Es ist ein grobes Missverständnis und eine Fehlwahrnehmung, dem Staat im Internet Zensur- und Überwachungsabsichten zu unterstellen. - - Bundesminister Dr. Wolfgang Schäuble -- 10. Juli in Berlin signature.asc Description: Digital signature ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Advanced Polygone in SQL zusammenbauen? Was: Strassenlistenabgleich - jetzt in Selbstbedienung
On Sun, Feb 21, 2010 at 01:41:09PM +0100, Florian Lohoff wrote: Ich habe mir das gerade mal durchgelesen - im prinzip ist das thema inner/outer taggen also obsolete weil die annahme wenn ein ring in einem anderen ist wandelt sich die role von inner zu outer und vice versa. Der aeussere ist immer outer und dann wechselt das jeweils - Also grosses gerate was wenn nur irgendjemand einen kleinen fehler macht (ringe beruehren sich oder ueberlappen sich) das ganze auf die nase faellt. Okay - Also die idee die ich habe (noch nicht fertig) - Alle polygone zusammensammeln, nach der groesse sortieren und via xor uebereinander legen dabei mit dem groessten anfangen. So habe ich zumindest schonmal die einzelnen polygone der groesse nach sortiert ... select (ST_Dump(geom)).geom from ( select ST_Polygonize(linestring) as geom from( select linestring fromways where id in ( select member_id fromrelation_members where member_type = 'W' and relation_id = 163109 order bymember_role ) ) as waylines where ST_NumPoints(linestring)1 ) as polygons order by ST_Area(geom) desc Nur das Xor fehlt mir gerade noch ... Flo -- Florian Lohoff f...@zz.de Es ist ein grobes Missverständnis und eine Fehlwahrnehmung, dem Staat im Internet Zensur- und Überwachungsabsichten zu unterstellen. - - Bundesminister Dr. Wolfgang Schäuble -- 10. Juli in Berlin signature.asc Description: Digital signature ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Advanced Polygone in SQL zusammenbauen? Was: Strassenlistenabgleich - jetzt in Selbstbedienung
Hallo, Florian Lohoff wrote: Ich baue die derzeit neu fuer jeden auswertung der Strassenliste, Da ist es zwar eine schoene Fingeruebung mit den inner-Polygonen, aber waere es nicht einfacher, fuer die Staedte, welche Exklaven mit nennenswerter Strassenanzahl haben, eine Ausnahme von Hand zu definieren und ansonsten einfach nur den aeussersten Umriss zu verwenden? Bye Frederik -- Frederik Ramm ## eMail frede...@remote.org ## N49°00'09 E008°23'33 ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de
Re: [Talk-de] Advanced Polygone in SQL zusammenbauen? Was: Strassenlistenabgleich - jetzt in Selbstbedienung
On Sun, Feb 21, 2010 at 05:09:48PM +0100, Frederik Ramm wrote: Hallo, Florian Lohoff wrote: Ich baue die derzeit neu fuer jeden auswertung der Strassenliste, Da ist es zwar eine schoene Fingeruebung mit den inner-Polygonen, aber waere es nicht einfacher, fuer die Staedte, welche Exklaven mit nennenswerter Strassenanzahl haben, eine Ausnahme von Hand zu definieren und ansonsten einfach nur den aeussersten Umriss zu verwenden? Das ist ja genau die idee - einfach eine simpel relation bauen. Dann muss das nicht jeder neu erfinden das rad - so ein bischen wie Landmasse und Boundary - Einfach die Flaeche ohne die Sonderlocken. Flo -- Florian Lohoff f...@zz.de Es ist ein grobes Missverständnis und eine Fehlwahrnehmung, dem Staat im Internet Zensur- und Überwachungsabsichten zu unterstellen. - - Bundesminister Dr. Wolfgang Schäuble -- 10. Juli in Berlin signature.asc Description: Digital signature ___ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de