ich würde gerne mittels check constraint verhindern, dass User einen Datensatz abspeichern können, dessen Flächen andere bereits vorhandene Flächen überschneiden/überlagern würde.
Ist das irgendwie möglich?
Mein Ansatz wäre so in der Art:
CHECK (st_overlaps(the_geom, the_geom???) = true)
Mir fehlt nur jegliche Idee, wie man die erforderliche zweite Geometrie (die benachbarten Flächen) bekommen kann.
Oder gibt es da bessere Möglichkeiten?
Wäre für diesen Zweck eigentlich st_overlaps() oder st_interersects() (deren Unterschied mir nicht ganz klar ist) oder was sonst die bessere Wahl?
Nein, mit dem Exclude Constraint funktioniert es leider nicht.
Das liegt sicherlich am &&-Operator, da sich dieser lediglich auf die Bounding-Boxen (Äußerer rechteckiger Rahmen eines Objektes) bezieht.
Wenn ich nur eine Idee hätte, wie ich die Nachbargrundstücke herausfinde und in der Funktion st_intersects verwenden kann.