Mam kilka nakładających się wielokątów i próbuję podzielić przestrzeń, aby uniknąć nakładania się tych wielokątów. Myślę, że mój problem jest dość prosty. Używając jakiegoś produktu ESRI i http://arcscripts.esri.com/details.asp?dbid=16700 mój współpracownik obliczył go w 48s.
Próbuję to zrobić za pomocą Postgis przy użyciu http://s3.opengeo.org/postgis-power.pdf#page=24 (zgadując szczegóły, używając http://trac.osgeo.org/postgis/wiki/UsersWikiSimplifyPreserveTopology jako inspiracja), ale jest tak wolny, że nie mogę tego zrobić z więcej niż 10 polami (mam ich 800 do podzielenia). Powolna część to ST_Union, próbowałem różnych rzeczy, ale żadne nie zakończyło się sukcesem, oto obecny stan rzeczy:
select geom from
(select st_linemerge(st_union(geom)) as geom from
(select st_exteriorring((st_dumprings((st_dump(t.geom)).geom)).geom) as geom from
(SELECT geometry AS geom, id
FROM tt
WHERE campaign_id = 204
ORDER BY id limit 200) t) t2) t3
trwało to 26 minut (linemerge () tak naprawdę nie jest). Polys to MultiPolygons na wypadek, gdyby st_dump Cię zepsuł.
Czy masz jakieś wskazówki? St_union () linii jest bardzo wolną częścią.
Dzięki,
Nico
PS: oto kilka liczb: 852 wielokąty, prowadzące do 14880 wielokątów, prowadzące do 21467 linii łącznych o łącznej długości 315513 wierzchołków.