4. Standardoperatoren

Standardoperatoren sind unabhängig vom Datenmodell und können daher auf jedes Datenmodell angewendet werden. Es sind folgende Standardoperatoren verfügbar:

[Anmerkung]

Da sich das Excel Format schlecht für die Darstellung von Beispielen eignet, werden hier die Beispiele in der .chk Syntax angegeben (s.a. ???).

OperatorEQUAL,<Attribut>,<Wert>
BeschreibungTestet ob <Attribut> gleich <Wert> ist. NULL-Werte in den Daten (= @ in der .itf Datei) werden vom Operator ignoriert, falls nicht explizit auf NULL getestet wird.
Beispielregel
Grunddatensatz.LFP
   EQUAL,Art_TXT,LFP1,id1,cat1,multi_lang
      de,Art muss gleich LFP1 sein
   EQUAL,Nummer,NULL,id2,cat1,multi_lang
      de,Nummer muss leer sein
OperatorNOT_EQUAL,<Attribut>,<Wert>
BeschreibungTestet ob <Attribut> ungleich <Wert> ist. NULL-Werte in den Daten werden vom Operator ignoriert. Hinweis: Für den Test auf ungleich NULL soll der Operator MANDATORY verwendet werden.
Beispielregel
Grunddatensatz.LFP
   NOT_EQUAL,Art_TXT,LFP1,id1,cat1,multi_lang
      de,Art muss ungleich LFP1 sein
OperatorCOMPARE,Parameter1,Parameter2
Beschreibung

Logische Funktion ausführen.

Parameter1: Anzuwendende logische Funktion. Zulässige Funktionen: =, >=, <=, >, <, # .

Parameter2: Attribut Name;Sollwert.

Beispielregel
Liegenschaften.LSNachfuehrung
   COMPARE,>=,GBEintrag;IN.GueltigerEintrag,999,error,multi_lang
      de,b,Fehlermeldung
Einzelobjekte.Objektnummer
   COMPARE,>,Nummer;50,999-1,error,multi_lang
      de,b,Fehlermeldung
OperatorMANDATORY,<Attribut>
BeschreibungTestet ob <Attribut> ungleich NULL ist.
Beispielregel
Grunddatensatz.LFP
   MANDATORY,Art,LFP1,id1,cat1,multi_lang
      de,Art darf nicht undefiniert sein
OperatorLIST,<Attribut>,<Listenname>
BeschreibungTestet ob der Attributwert in der angegebenen Liste vorkommt (s.a. Definitions).
Beispielregel
LIST LFP_Art
   LFP1
END_LIST

Grunddatensatz.LFP
   LIST,Art_TXT,LFP_Art,id1,cat1,multi_lang
      de,Art muss Wert muss in Liste LFP_Art vorkommen
OperatorLISTRANGE,<Textattribut>,<Listrangename>
BeschreibungTestet, ob das Textattribut in den angegebenen Bereichen vorkommt (s.a. Definitions).
Beispielregel
LISTRANGE NBIdent_CH_UND_GDE_BE
   CH0100000001 CH0100000001
   BE0200000001 BE0200000450
END_LISTRANGE

FixpunkteKategorie1.LFP1Nachfuehrung
   LISTRANGE,NBIdent,NBIdent_CH_UND_GDE_BE,012000,error,multi_lang
      de,b,Der NBIdent ist weder in CH noch in BE gültig
OperatorLISTMATCH,<Attribut>,<Listenname> (MOCHECKBE)
BeschreibungTestet, ob der Attribut Wert in der angegebenen Liste vorkommt. Die Listen Elemente können '*' als Platzhalter am Anfang oder Ende enthalten.
Beispielregel
Liegenschaften.Grundstueck,Nummer=*fiktiv*
   LISTMATCH,Nummer,LIE_Nummer2_GZ,3102,error,multi_lang
      de,b,Fehlermeldung
OperatorLISTMATCH_NUMMERIC,<Parameter1>,<Parameter2> (MOCHECKBE)
Beschreibung

Testet, ob der Attribut Wert in der angegebenen Liste vorkommt. Die Listen Elemente können '*' als Platzhalter am Anfang oder Ende enthalten, d.h. ein gültiger Attribut Wert kann mit einem Platzhalter Wert enden oder beginnen. Falls der Attribut Wert nicht in der Liste vorkommt, dann muss der Wert nummerisch sein.

Parameter1: Attribut Pfad.

Parameter2: Name der Liste.

Beispielregel
Liegenschaften.Grundstueck,Entstehung.Beschreibung=Landumlegung
   LISTMATCH_NUMMERIC,Nummer,LIE_Nummer_GZ,3101,error,multi_lang
      de,b,Fehlermeldung
OperatorRANGE,<Attribut>,<Min>,<Max>
BeschreibungTestet ob der numerische Attributwert im Intervall [<Min> .. <Max>] liegt.
Beispielregel
Grunddatensatz.LFP
   RANGE,LageGen,1.0,5.0,id1,cat1,multi_lang
      de,Der Wert von LageGen muss zwischen 1.0 .. 5.0 liegen
OperatorCARDINALITY,<Beziehungsattribut>,<Card>,<Bedingung>
BeschreibungTestet ob das <Beziehungsattribut> die Cardinalitaet <Card> aufweist. Für <Card> kann 1, c oder m angegeben werden (z.B. Objekt,m,Art_TXT=Gebaeude). Die Bedingung gibt die Teilmenge der Obertabelle an, welche für den Test relevant ist. Falls alle Objekte der Obertabelle relevant sind, muss für die Bedingung * angegeben werden. Achtung: Das Attributname in Bedingung muss aus Sicht der Obertabelle angegeben werden (also z.B. Art_TXT und nicht Objekt.Art_TXT). Es können auch mehrere Bedingungen für die Obertabelle angegeben werden. Die Bedingungen müssen dann durch ; getrennt werden.
Beispielregel
Liegenschaften.ProjGrundstueckPosUP5
   CARDINALITY,ProjGrundstueckPosUP5_von,m,*,062285,error,
   multi_lang
      de,b,Zu jedem ProjGrundstueck gehören 1-m Positionen
OperatorUNIQUE,<Attribut>;..;<Attribut>
BeschreibungTestet ob die angegebene Attributkombination eindeutig ist (z.B. UNIQUE,Art;Herkunft). Achtung: die einzelnen Attribute müssen mit Semikolon und nicht mit Komma getrennt werden. ). NULL-Werte in den Daten werden vom Operator ignoriert.
Beispielregel
Liegenschaften.Grenzpunkt
   UNIQUE,Identifikator,062186,error,multi_lang
      de,b,Identifikator muss eindeutig sein
OperatorPDIST,<Punktattribut>,<Toleranz>
BeschreibungTestet ob innerhalb einer Tabelle der Abstand zwischen Punkten nicht kleiner als <Toleranz> ist. Alle Punkte, welche zu einem anderen Punkt einen kleineren Abstand als <Toleranz> haben, werden als Fehler ausgegeben.
Beispielregel
Liegenschaften.Grenzpunkt
   PDIST,Geometrie,0.05,062075,warning,multi_lang
      de,b,Grenzpunkte müssen einen Abstand von mind. 0.05m haben
OperatorEMPTY
BeschreibungStellt sicher, dass kein Objekt in der Tabelle vorkommt.
Beispielregel
Liegenschaften.ProjGrundstueckPosUP5
   EMPTY,062279,error,multi_lang
      de,b,ProjGrunstueckPos dürfen nicht erfasst werden
OperatorNOT_EMPTY
BeschreibungStellt sicher, dass mindestens ein Objekt in der Tabelle vorkommt.
Beispielregel
Liegenschaften.ProjGrundstueckPosUP5
   NOT_EMPTY,062279,error,multi_lang
      de,b,ProjGrunstueckPos müssen erfasst werden
OperatorIS_LOWER,<Textattribut>
BeschreibungPrüft, dass alle Buchstaben eines Textattributs Kleinbuchstaben sind.
Beispielregel
Gebaeudeadressen.Gebaeudeeingang
   IS_LOWER,Hausnummer,172033,error,multi_lang
      de,b,Die Buchstaben in Hausnummern müssen klein sein
OperatorIS_UPPER,<Textattribut>
BeschreibungPrüft, dass alle Buchstaben eines Textattribut in Grossbuchstaben vorliegen.
Beispielregel
Gemeindegrenzen.Gemeinde
   IS_UPPER,Name,999,error,multi_lang
      de,b,Fehlermeldung
OperatorNO_WHITESPACE
BeschreibungPrüft, dass in Textattributen keine Leerzeichen vorkommen.
Beispielregel
Gebaeudeadressen.Gebaeudeeingang
   NO_WHITESPACE,Hausnummer,172034,error,multi_lang
      de,b,In Hausnummern dürfen keine Leerzeichen vorkommen
OperatorIS_ALPHANUM
BeschreibungPrüft, dass in Textattributen nur Zahlen oder Buchstaben vorkommen.
Beispielregel
Gebaeudeadressen.Gebaeudeeingang
   IS_ALPHANUM,Hausnummer,172034,error,multi_lang
      de,b,Fehlermeldung
OperatorIN_SURFACE,<Geometrieattribut>,[<Referenzattribut>;]<Flaechenattribut>
BeschreibungPrüft, ob <Geometrieattribut> vollständig innerhalb von <Flaechenattribut> liegt. Falls das <Flaechenattribut> nur indirekt mit der aktuellen Tabelle verbunden ist, kann via <Referenzattribut> die Zwischentabelle angegeben werden über welche das <Flaechenattribut> erreichbar ist. Der Name des <Flaechenattribut> muss in diesem Fall inkl. Tabellenname angegeben werden.
Beispielregel
! 1. Fall: <Flaechenattribut> direkt verbunden
Bodenbedeckung.ProjBoFlaecheSymbol,ProjBoFlaecheSymbol_von.Art_TXT=
   Gewaesser.stehendes
   IN_SURFACE,Pos,ProjBoFlaecheSymbol_von.Geometrie,22073,error,
      multi_lang
      de,b,Fehlermeldung

! 2. Fall: <Flaechenattribut> indirekt verbunden
Nummerierungsbereiche.NummerierungsbereichPos
   IN_SURFACE,Pos,NummerierungsbereichsPos_von;NBGeometrie.Geometrie,
   82001,error,multi_lang
      de,b,Fehlermeldung
OperatorIN_SURFACE3,<Geometrieattribut>,<Pfad für Flächenattribut> (MOCHECKBE)
BeschreibungPrüft, ob ein Geometrieattribut innerhalb einer beliebigen Fläche liegt. Objekte müssen nicht verknüpft sein, somit ist ein TOPIC übergreifender Test möglich.
Beispielregel
Gebaeudeadressen.BenanntesGebiet
   IN_SURFACE3,Flaeche,PLZOrtschaft.Ortschaft.Flaeche;ON,999,error,
   multi_lang
      de,b,Fehlermeldung
OperatorIS_NUMBER,<Textattribut>
BeschreibungPrüft, dass ein <Textattribut> numerisch ist.
Beispielregel
Hoehenkurven.HKNachfuehrung
   IS_NUMBER,Identifikator,192002,error,multi_lang
      de,b,Identifikator muss numerisch sein
OperatorVALUE_STARTS_WITH,<Path>,<Text>
BeschreibungPrüft, ob das Textattribut <Path> mit einem bestimmten <Text> beginnt.
Beispielregel
FixpunkteKategorie1.LFP1Nachfuehrung
   VALUE_STARTS_WITH,NBIdent,CH01,10001,error,mutlti_lang
      de,NBIdent muss mit CH01 beginnen
OperatorAREA,<Surfaceattribut>,<Selektionsattribut>
BeschreibungPrüft dass alle Flächen von <Surfaceattribut> mit dem gleichen Wert für <Selektionsattribut> ein Flächennetz bilden. Falls für <Selektionsattribut> * angegeben wird, müssen alle Flächen von <Surfaceattribut> ein Flächennetz bilden.
Beispielregel
Liegenschaften.ProjLiegenschaft
   AREA,Geometrie,ProjLiegenschaft_von.Entstehung.OBJID,062185,
   warning,multi_lang
      de,b,Fehlermeldung
OperatorSEGATTR,<Linienattribut>;<Lineattr>,<Referenz>
BeschreibungPrüft, dass das LINEATTR einer Linien mit dem LINEATTR einer Referenzlinie übereinstimmt. Für die <Referenz> muss folgendes Format angegeben werden: <Referenztabelle>;<Attribut>;GATTR.
Beispielregel
Bezirksgrenzen.Bezirksgrenzabschnitt
   SEGATTR,Geometrie;Gueltigkeit,
   Gemeindegrenzen.Gemeindegrenze_Geometrie;GEOM;GATTR,
      102004,error,multi_lang
      de,b,Fehlermeldung
OperatorIN_PERIMETER,<Flaechenattribut>,<Geometrieattribut>[;ON | ;OFF]
BeschreibungPrüft ob <Geometrieattribut> innerhalb des Perimeters von <Flaechenattribut> liegt. Der Perimeter wird als Umhüllende von <Flaechenattribut> berechnet. Mit ON|OFF wird angegeben, ob Punkte auf dem Perimerter ebenfalls als innerhalb des Perimeter betrachtet werden sollen.
Beispielregel
Gebaeudeadressen.BenanntesGebiet
   IN_PERIMETER,PLZOrtschaft.Ortschaft.Flaeche,Flaeche;ON,172045,
   warning,multi_lang
      de,b,Fehlermeldung
OperatorNOT_IN_PERIMETER,<Flaechenattribut>,<Geometrieattribut>;[ON|OFF]
BeschreibungGegenteil von IN_PERIMETER. D.h. es wird geprüft, ob sich <Geometrieattribut> vollständig ausserhalb von <Flaechenattribut> befindet.
Beispielregel
Gebaeudeadressen.BenanntesGebiet
   NOT_IN_PERIMETER,PLZOrtschaft.Ortschaft.Flaeche,Flaeche;ON,
   172045,warning,multi_lang
      de,b,Fehlermeldung
OperatorPERIMETER,<Referenzperimeter>,<Toleranz>
BeschreibungPrüft, ob der Perimeter des AREA-Attributs der Tabelle deckungsgleich mit dem Perimeter der Referenztabelle ist. Für <Toleranz> muss die maximal tolerierte Abweichung angegeben werden.
Beispielregel
Bodenbedeckung.BoFlaeche
   PERIMETER,Liegenschaften.Liegenschaft,0.002,22040,warning,multi_lang
      de,b,Fehlermeldung
OperatorNO_DPOINT,<Line>,
BeschreibungPrüft, ob es doppelte Punkte in der Linie <Line> gibt.
Beispielregel
Landesgrenzen.Landesgrenzabschnitt
   NO_DPOINT,Geometrie,0.02,6000,error,multi_lang
      de,b,Der Landesgrenzabschnitt enthält doppelte Punkte
OperatorEQUAL_P,<Linienattribut>,<Anfangspunkt>
BeschreibungVergleicht das Attribut <Anfangspunkt> mit dem Anfangs- oder Endpunkt von <Linienattribut>.
Beispielregel
Gebaeudeadressen.Strassenstueck
   EQUAL_P,Geometrie,Anfangspunkt,172049,error,multi_lang
      de,b,Fehlermeldung
OperatorNOT_EQUAL_P,<Linienattribut>,<Anfangspunkt>
BeschreibungVergleicht das Attribut <Anfangspunkt> mit dem Anfangs- oder Endpunkt von <Linienattribut>.
Beispielregel
Gebaeudeadressen.Strassenstueck
    NOT_EQUAL_P,Geometrie,Anfangspunkt,172049,error,multi_lang
      de,b,Fehlermeldung 
OperatorCOMPLETENESS,<Prozentangabe>
BeschreibungPrüft ob im aktuellen Datensatz <Prozentangabe> weniger Daten als bei der letzten Prüfung enthalten sind. Der COMPLETENESS Operator kann pro Topic angewendet werden. Auf dem RICS-Server wird eine Datenbank mit der Statistik des letzten Datensatz geführt. Die Statistik wird nur dann durch die Statistik des aktuellen Datensatz ersetzt, wenn bei der aktuellen Prüfung keine COMPLETENESS Fehler aufgetreten sind. Der Checkservice Benutzer kann die Statistik auf dem Server mit dem Befehl quote site set param clear_completeness zurück setzen.
Beispielregel
Gebaeudeadressen.*
    COMPLETENESS,5,,172050,error,multi_lang
      de,b,Fehlermeldung 
OperatorILIN,<Argument>
Beschreibung

Führt die Standardtests des Produkts iG/Check gemäss Datenmodell durch. Für <Argument> sind folgende Werte zulässig:

ARC

Prüft unzulässige Kreisbogendefinitionen.

CHARSET

Prüft ob nur Zeichen gemäss ISO-8859-1 vorkommen (Windows Zeichensatz).

CONVERT

Prüft ob beim Lesen eines Attributs ein Konvertierungsfehler auftritt.

DPOINT

Prüft doppelte Punkte in Linien.

DUPLICATE_TID

Prüft doppelte Transferidentifikationen.

ILI_SYNTAX

Prüft Syntaxfehler im Datenmodell.

ITF_SYNTAX

Prüft Syntaxfehler im Datensatz.

MANDATORY

Prüft ob obligatorische Attribute Werte enthalten.

MODEL_NAME

Prüft ob im Transfer das richtige Datenmodell vorhanden ist.

RECORD_SIZE

Prüft ob pro OBJE Zeile die richtige Anzahl Attribute vorhanden ist.

REFERENZ

Prüft Beziehungsattribute.

TABLE_NAME

Prüft Tabellennamen.

TOPIC_NAME

Prüft Topicnamen.

TRANGE

Prüft den Wertebereich von Attributen.

UNIQUE

Prüft IDENT Bedingungen.

Beispielregel
*.*
    ILIN,UNIQUE,,172051,error,multi_lang
      de,b,Die Attributkombination muss eindeutig sein 
OperatorTOPO,<Argument>
Beschreibung

Führt für Flächennetze (AREA) spezielle Tests durch. Für <Argument> sind folgende Werte zulässig:

ARC_INTERSECTION

Prüft ob ein Kreisbogen eine Linie oder einen anderen Kreisbogen scheidet.

CENTROID_IN_OVERLAP

Prüft ob ein Zentroidpunkt näher als der OVERLAP am Rand der Fläche liegt.

CONNECTING_EDGE

Prüft ob eine innere Fläche via eine "Nabelschur" mit einer äusseren Fläche verbunden ist.

DUPLICATE_LINE

Prüft ob doppelte Linien vorkommen.

DUPLICATE_ARC

Prüft ob doppelte Kreisbogen vorkommen.

FULL_ARC_OVERLAP

Prüft ob ein Kreisbogen einen anderen Kreisbogen vollständig überlappt.

FULL_LINE_OVERLAP

Prüft ob eine Linie eine andere Linie vollständig überlappt.

INVALID_NODE

Prüft ob ein Knoten nur Endpunkt einer Linie oder eines Kreisbogen ist.

LINE_INTERSECTION

Prüft ob eine Linie eine andere Linie scheidet.

MULTIPLE_CENTROID

Prüft ob eine Fläche mehrere Zentroide enthält.

OPEN_NODE

Prüft ob Knoten mit Knotengrad 1 vorkommen.

ORPHAN_CENTROID

Prüft ob Zentroide ausserhalb dem Perimeter vorkommen.

PARTIAL_ARC_OVERLAP

Prüft ob ein Kreisbogen einen anderen Kreisbogen teilweise überlappt.

PARTIAL_LINE_OVERLAP

Prüft ob eine Linie eine andere Linie teilweise überlappt.

UNKNOWN_CENTROID

Prüft ob Flächen ohne Zentroide vorkommen.

Beispielregel
*.*
    TOPO,UNKNOWN_CENTROID,,1782051,error,multi_lang
      de,b,Fläche ohne Zentroidpunkt