[Talk-de] Advanced Polygone in SQL zusammenbauen? Was: Strassenlistenabgleich - jetzt in Selbstbedienung
Frederik Ramm
frederik at remote.org
So Feb 21 11:44:27 UTC 2010
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 frederik at remote.org ## N49°00'09" E008°23'33"
Mehr Informationen über die Mailingliste Talk-de