10. Modul STAT - Statistiken aus INTERLIS Daten erzeugen

10.1. Allgemeines

Mit dem Modul STAT können statistische Auswertungen aus INTERLIS Daten berechnet werden. Die Statistiken können als Objekte abgefragt oder auch direkt formatiert in die .log Datei geschrieben werden.

STAT wird mit:

|INCL \script\stat.mod

in einer ICS RUN1-Konfiguration verfügbar gemacht.

10.2. Abhängigkeiten von anderen Modulen

Die Inputdaten müssen ilin.mod oder iltopo.mod gelesen werden.

10.3. Parametermap STAT_PARAM

Folgende Parameter können in der Map STAT_PARAM für den Modul gesetzt werden:

Parameterreq/optBeschreibung
STATISTIC_DEFrDatei mit den Statistikdefinitionen (s.a. unten).
STATISTICSrStatistik direkt in die .log Datei schreiben (ON oder OFF). Alternativ dazu können die Statistikobjekte auch mit STAT_READ_OBJECT gelesen werden.

10.4. Objektmodell

Dem Modul STAT werden die INTERLIS-Objekte mit den vordefinierten Prozedur STAT_WRITE_OBJECT0 übergeben (s.a. unten). Nach der Statistikberechnung liefert der STAT Modul folgende IN-Objekte:

Allgemeine Komponenten für jedes IN-Objekt
Komponentereq/optBeschreibung
IN.OBJECT(s)rName des INTERLIS-Objekts z.B. Fixpunkte.Fixpunkt.
IN.FUNCTION(s)rName der Statistikfunktion (z.B. COUNT, MIN, MAX, AVG, etc.).
IN.VALUE(n)rWert der Statistikfunktion.
IN.DESCRIPTION(s)rBeschreibung der Statistikfuntion.

10.5. Exportierte Prozeduren und Methoden

ProzedurSTAT_OPEN ! [s arg][]
Beschreibung

Öffnet den Topologiemodul. Das Argument <arg> hat im Moment keine Bedeutung. STAT_OPEN wird von RUN1 automatisch aufgerufen.

Beispiel
'' STAT_OPEN
ProzedurSTAT_READ_OBJECT ! [][b status]
Beschreibung

Liest das nächste IN-Objekt gemäss Objektmodell. STAT_READ_OBJECT wird von RUN1 automatisch aufgerufen.

Beispiel
STAT_READ_OBJECT [TRUE]
ProzedurSTAT_CLOSE ! [][]
BeschreibungSchliesst den Modul und gibt die durch den Modul belegten Ressourcen wieder frei. Alle temporären Dateien werden wieder gelöscht. Die Prozedur wird von RUN1 automatisch aufgerufen.
Beispiel
STAT_CLOSE
ProzedurSTAT_WRITE_OBJECT0
BeschreibungÜbergibt das aktuelle INTERLIS Objekt dem Statistikmodul.
Beispiel
... => STAT_WRITE_OBJECT0

10.6. Skriptbeispiel

! Diese ICS Konfiguration erzeugt Statisitken
! aus den Objekten einer .itf Datei.

|LICENSE \license\iltools.lic

MAP USER_INPUT1
   DIALOG => FILE ! FILE | STRING | ODBC
   MESSAGE => 'Enter .itf Input File'
   FILE_FILTER => itf
   FILE_EXISTS => TRUE
   OPT => input
END_MAP

MAP ILIN_PARAM
   INTERLIS_DEF => \models\grunddatensatz.ili
   STATISTICS => OFF
   DEBUG      => OFF
END_MAP

MAP STAT_PARAM
   STATISTIC_DEF => \script\stat\grunddatensatz.sta
   STATISTICS => ON
END_MAP

MAP INPUT_SOURCES
   I1 => ILIN,OPT.input
   I2 => STAT
END_MAP

MAP INOUT
   I1 => STAT_WRITE_OBJECT0
   I2 => OFF
END_MAP

|INCL \script\util.lib
|INCL \script\stat.mod
|INCL \script\ilin.mod
|INCL \script\run1.prg

10.7. Beispiel für Statistikdatei

Fixpunkte             
   COUNT,016000,ustat_v2_d2_ue2,Anzahl Objekte in Topic Fixpunkte

Fixpunkte.LFP          
   COUNT,016001,ustat_v1_d1_ue1,
   MIN,LageGen,016002,ustat_v2_d2_ue2,
   MAX,LageGen,016003,ustat_v2_d2_ue2,
   AVG,LageGen,016004,ustat_v2_d2_ue2,
   STD,LageGen,016005,ustat_v2_d2_ue2,
   MIN,HoeheGen,016006,ustat_v2_d2_ue2,
   MAX,HoeheGen,016007,ustat_v2_d2_ue2,
   AVG,HoeheGen,016008,ustat_v2_d2_ue2,
   STD,HoeheGen,016009,ustat_v2_d2_ue2,