From 62df78fb28cc70463b6a9f35cdb565131d4ae237 Mon Sep 17 00:00:00 2001 From: Oliver Grimm Date: Tue, 6 Dec 2022 13:41:28 +0100 Subject: [PATCH] add new functions to function model --- src/model/GeoW_FunctionsExt.ili | 20 +++++++++++++++- src/test/data/GeoW_FunctionsExt.ili | 37 ----------------------------- 2 files changed, 19 insertions(+), 38 deletions(-) delete mode 100644 src/test/data/GeoW_FunctionsExt.ili diff --git a/src/model/GeoW_FunctionsExt.ili b/src/model/GeoW_FunctionsExt.ili index df5144b..ca178f7 100644 --- a/src/model/GeoW_FunctionsExt.ili +++ b/src/model/GeoW_FunctionsExt.ili @@ -1,6 +1,6 @@ INTERLIS 2.4; MODEL GeoW_FunctionsExt - AT "mailto:info@geowerkstatt.ch" VERSION "2021-11-15" = + AT "mailto:info@geowerkstatt.ch" VERSION "2022-12-02" = /** * Geometrie-Funktionen */ @@ -16,4 +16,22 @@ MODEL GeoW_FunctionsExt !!@ fn.since = "2021-11-15"; FUNCTION GetArea (Objects: OBJECTS OF ANYCLASS; AreaAttr: TEXT): NUMERIC; + !!@ fn.description = "Zählt die Löcher in einer Fläche. Für 'Objects' können Objekte oder Geometrien angegeben werden. Für 'AreaAttr' soll der Pfad zur Flächen-Geometrie in INTERLIS 2 Syntax angegeben werden. Falls 'Objects' bereits die Geometrien enthält, soll für 'AreaAttr' 'UNDEFINED' übergeben werden. Wird über eine Beziehung die gleiche Geometrie mehrmals gefunden, werden die Löcher mehrmals gezählt."; + !!@ fn.param = "Objects: Ausgangsobjekte oder Geometrien. AreaAttr: Pfad zum Geometrieattribut oder UNDEFINED"; + !!@ fn.return = "Anzahl Löcher"; + !!@ fn.since = "2022-12-02"; + FUNCTION GetInnerRingsCount (Objects: OBJECTS OF ANYCLASS; AreaAttr: TEXT): NUMERIC; + + !!@ fn.description = "Gruppiert die Eingabemenge gemäss dem übergebenen Attribut-Kriterium / -Pfad. Für 'Attr' soll der Pfad zum klassierenden Attribut in INTERLIS 2 Syntax angegeben werden."; + !!@ fn.param = "Objects: Ausgangsobjekte. Attr: Pfad zum Attribut welches die Klassierung bestimmen soll"; + !!@ fn.return = "Gruppierte Klasse der Eingabemenge"; + !!@ fn.since = "2022-12-02"; + FUNCTION GroupBy (Objects: OBJECTS OF ANYCLASS; Attr: TEXT): OBJECTS OF ANYCLASS; + + !!@ fn.description = "Prüft, ob ein Objekt innerhalb einer gegebenen Testgeometrie liegt, welche aus einem externen Datensatz stammt."; + !!@ fn.param = "DatasetName: Name des Transfermodells, in welchem die Objekte zur Prüfung bereitliegen. Objects: Objekt(e), über die TID identifiziert, welche zur Prüfung beigezogen werden. TestObject: Objekt, welches zu prüfen ist.TestObjectgeometry: Geometriefeld, bezogen auf das unter Testobject übergebene Objekt"; + !!@ fn.return = "Boolean"; + !!@ fn.since = "2022-12-05"; + FUNCTION IsInsideExternalDataset (DatasetName: TEXT; Objects: TEXT; TestObject: OBJECT OF ANYCLASS; TestObjectgeometry: TEXT): BOOLEAN; + END GeoW_FunctionsExt. \ No newline at end of file diff --git a/src/test/data/GeoW_FunctionsExt.ili b/src/test/data/GeoW_FunctionsExt.ili deleted file mode 100644 index ca178f7..0000000 --- a/src/test/data/GeoW_FunctionsExt.ili +++ /dev/null @@ -1,37 +0,0 @@ -INTERLIS 2.4; -MODEL GeoW_FunctionsExt - AT "mailto:info@geowerkstatt.ch" VERSION "2022-12-02" = - /** - * Geometrie-Funktionen - */ - !!@ fn.description = "Ermittelt die Länge einer (bzw. die Summe mehrer) Linien-Geometrien. Für 'Objects' können Objekte oder Geometrien angegeben werden. Für 'LineAttr' soll der Pfad zur Linien-Geometrie in INTERLIS 2 Syntax angegeben werden. Falls 'Objects' bereits die Geometrien enthält, soll für 'LineAttr' 'UNDEFINED' übergeben werden. Wird über eine Beziehung die gleiche Geometrie mehrmals gefunden, wird dessen Länge mehrmals gezählt."; - !!@ fn.param = "Objects: Ausgangsobjekte oder Geometrien. LineAttr: Pfad zum Geometrieattribut oder UNDEFINED"; - !!@ fn.return = "Länge der Geometrie"; - !!@ fn.since = "2021-11-15"; - FUNCTION GetLength (Objects: OBJECTS OF ANYCLASS; LineAttr: TEXT): NUMERIC; - - !!@ fn.description = "Ermittelt die Fläche einer (bzw. die Summe mehrer) Polygon-Geometrien. Für 'Objects' können Objekte oder Geometrien angegeben werden. Für 'AreaAttr' soll der Pfad zur Flächen-Geometrie in INTERLIS 2 Syntax angegeben werden. Falls 'Objects' bereits die Geometrien enthält, soll für 'AreaAttr' 'UNDEFINED' übergeben werden. Wird über eine Beziehung die gleiche Geometrie mehrmals gefunden, wird dessen Fläche mehrmals gezählt."; - !!@ fn.param = "Objects: Ausgangsobjekte oder Geometrien. AreaAttr: Pfad zum Geometrieattribut oder UNDEFINED"; - !!@ fn.return = "Fläche der Geometrie"; - !!@ fn.since = "2021-11-15"; - FUNCTION GetArea (Objects: OBJECTS OF ANYCLASS; AreaAttr: TEXT): NUMERIC; - - !!@ fn.description = "Zählt die Löcher in einer Fläche. Für 'Objects' können Objekte oder Geometrien angegeben werden. Für 'AreaAttr' soll der Pfad zur Flächen-Geometrie in INTERLIS 2 Syntax angegeben werden. Falls 'Objects' bereits die Geometrien enthält, soll für 'AreaAttr' 'UNDEFINED' übergeben werden. Wird über eine Beziehung die gleiche Geometrie mehrmals gefunden, werden die Löcher mehrmals gezählt."; - !!@ fn.param = "Objects: Ausgangsobjekte oder Geometrien. AreaAttr: Pfad zum Geometrieattribut oder UNDEFINED"; - !!@ fn.return = "Anzahl Löcher"; - !!@ fn.since = "2022-12-02"; - FUNCTION GetInnerRingsCount (Objects: OBJECTS OF ANYCLASS; AreaAttr: TEXT): NUMERIC; - - !!@ fn.description = "Gruppiert die Eingabemenge gemäss dem übergebenen Attribut-Kriterium / -Pfad. Für 'Attr' soll der Pfad zum klassierenden Attribut in INTERLIS 2 Syntax angegeben werden."; - !!@ fn.param = "Objects: Ausgangsobjekte. Attr: Pfad zum Attribut welches die Klassierung bestimmen soll"; - !!@ fn.return = "Gruppierte Klasse der Eingabemenge"; - !!@ fn.since = "2022-12-02"; - FUNCTION GroupBy (Objects: OBJECTS OF ANYCLASS; Attr: TEXT): OBJECTS OF ANYCLASS; - - !!@ fn.description = "Prüft, ob ein Objekt innerhalb einer gegebenen Testgeometrie liegt, welche aus einem externen Datensatz stammt."; - !!@ fn.param = "DatasetName: Name des Transfermodells, in welchem die Objekte zur Prüfung bereitliegen. Objects: Objekt(e), über die TID identifiziert, welche zur Prüfung beigezogen werden. TestObject: Objekt, welches zu prüfen ist.TestObjectgeometry: Geometriefeld, bezogen auf das unter Testobject übergebene Objekt"; - !!@ fn.return = "Boolean"; - !!@ fn.since = "2022-12-05"; - FUNCTION IsInsideExternalDataset (DatasetName: TEXT; Objects: TEXT; TestObject: OBJECT OF ANYCLASS; TestObjectgeometry: TEXT): BOOLEAN; - -END GeoW_FunctionsExt. \ No newline at end of file