Mehr

Löschen Sie polygonale Features in einem Layer außerhalb des Polygon-Features eines anderen Layers in PostGIS

Löschen Sie polygonale Features in einem Layer außerhalb des Polygon-Features eines anderen Layers in PostGIS


Zum Löschen von polygonalen Features in einem Layer (~1000000 Features) außerhalb des Polygon-Features eines anderen Layers (ein Feature) in PostGIS verwende ich die Abfrage:

DELETE FROM Layer WHERE layer.id IN (SELECT a.id FROM Layer a, Grenze b WHERE ST_Disjoint(a.geom, b.geom));

Jetzt dauert der Vorgang mehr als 6 Stunden. Wie kann ich das Löschen von Big-Count-Features in einem Layer außerhalb des Features in einem anderen Layer beschleunigen?


Ich habe anfangs falsch verwendet ... danke @Vince für den Rat. Jetzt versuche ich Abfragen wie

CREATE TABLE layer_new AS SELECT a.* FROM Layer a, Grenze b WHERE ST_Intersects(a.geom, b.geom);

das funktioniert gut. 232527 Zeilen von 680000 nach 111 Sekunden geändert.


Schau das Video: Spatial Joins in Qgis - how to transfer attributes between layers