spatial_relation — Ermitteln der Lagebeziehung von Regionen bzgl. der Koordinatenachsen.
spatial_relation(Regions1, Regions2 : : Percent : RegionIndex1, RegionIndex2, Relation1, Relation2)
spatial_relation wählt Regionen aus, die um Percent Prozent
„links“, „rechts“, „oberhalb“ oder „unterhalb“ von anderen Regionen
liegen.
Regions1 und Regions2 enthalten die zu vergleichenden
Regionen.
Regions1 kann dabei auf drei verschiedene Arten besetzt werden:
Regions1 enthält ein leeres Objekttupel,
d.h., count_obj liefert 0 zurück:
In diesem Fall werden alle Regionen in Regions2
permutativ auf Nachbarschaft getestet.
Regions1 besteht aus einer Region:
Die Regionen von Regions1 werden mit allen Regionen in
Regions2 verglichen.
Regions1 besteht aus gleich vielen Regionen wie
Regions2:
Hier werden jeweils die Regionen an n-ter Position
in Regions1 und Regions2 auf die
Nachbarschaftsbeziehung untersucht.
Der Prozentsatz Percent wird so interpretiert, dass die
Fläche der zweiten Region um mindestens Percent Prozent
echt links/rechts bzw. oberhalb/unterhalb der Regionengrenzen der
ersten Region liegen muss.
Die Indizes der Regionen, die mindestens eine dieser Bedingungen
erfüllen, stehen dann an n-ter Position in den Ausgabeparametern
RegionIndex1 und RegionIndex2.
Zusätzlich enthalten die Ausgabeparameter Relation1 und
Relation2 an n-ter Position die Art der Relation, in der das
Regionenpaar (RegionIndex1[n], RegionIndex2[n]) steht,
d.h. Region mit Index RegionIndex2[n] steht mit Region mit
Index RegionIndex1[n] in der Relation1[n] und
Relation2[n].
Mögliche Werte für Relation1 und Relation2 sind:
In RegionIndex1 und RegionIndex2 werden die Indizes der
Regionen in den Tupeln der Eingaberegionen (Regions1 bzw.
Regions2) als Bildidentifikatoren eingetragen.
Der Zugriff auf ausgewählte Regionen über den Index kann mit
copy_obj erfolgen.
Regions1 (input_object) region(-array) → object
Ausgangsregionen.
Regions2 (input_object) region(-array) → object
Vergleichsregionen.
Percent (input_control) integer → (integer)
Prozentzahl der Fläche der Vergleichsregion, die links/rechts bzw. oberhalb/unterhalb der Regionengrenzen der Ausgangsregion liegen muss.
Defaultwert: 50
Wertevorschläge: 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100
Typischer Wertebereich: 0
≤
Percent
≤
100 (lin)
Minimale Schrittweite: 1
Empfohlene Schrittweite: 10
RegionIndex1 (output_control) integer-array → (integer)
Indizes der Regionen im Tupel der Eingaberegionen, die die Lagerelation erfüllen.
RegionIndex2 (output_control) integer-array → (integer)
Indizes der Regionen im Tupel der Eingaberegionen, die die Lagerelation erfüllen.
Relation1 (output_control) string-array → (string)
Vertikale Lagerelation, in der
RegionIndex2[n] mit
RegionIndex1[n] steht.
Relation2 (output_control) string-array → (string)
Horizontale Lagerelation, in der RegionIndex2[n]
mit RegionIndex1[n] steht.
spatial_relation liefert den Wert 2 (H_MSG_TRUE), falls Regions2 nicht
leer und Percent korrekt besetzt ist. Das Verhalten bei leerem
Parameter Regions2 (keine Eingaberegionen vorhanden) lässt sich
mittels set_system('no_object_result',<Result>) festlegen.
Das Verhalten bei einer leeren Region (Region ist die leere Menge)
wird mit set_system('empty_region_result',<Result>) bestimmt.
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
threshold,
regiongrowing,
connection
select_region_spatial,
find_neighbors,
copy_obj,
obj_to_integer
Foundation