4. Skriptbibliothek TRANSFORM.LIB

4.1. Allgemeines

In der Skriptbibliothek TRANSFORM sind diverse Hilfprozeduren definiert, welche in einer ICS Konfiguration benutzt werden können um Transformationen zwischen Koordinatensystemen auszuführen. Die Bibliothek wird mit:

|INCL \script\transform.lib

in einer ICS Konfiguration verfügbar gemacht. Die Scriptbibliothek ist auch bereits verfügbar, wenn die Scriptbibliothek UTIL inkludiert wird. Die meisten Input- und Output-Module inkludieren die Scriptbibliothek UTIL bereits. Dadurch steht auch die Scriptbibliothek TRANSFORM zur Verfügung.

4.2. Parametermap TRANFORM_PARAM

Folgende Parameter können in der Map TRANSFORM_PARAM gesetzt werden:

Parameterreq/optBeschreibung
SRS_INoDas Input Koordinatensystem.
SRS_OUToDas Output Koordinatensystem.
SRS_FENCEoDas Koordinatensystem für eine eventuellen Fence. Der Fence wird von TRANSFORM_PARAM.SRS_FENCE nach TRANSFORM_PARAM.SRS_OUT transformiert.

Die Koordinatensystem können einer Konfiguration auch mit folgende Optionen übergegeben werden:

OPT.srs_in

Entspricht TRANSFORM_PARAM.SRS_IN .

OPT.srs_out

Entspricht TRANSFORM_PARAM.SRS_OUT .

OPT.srs_fence

Entspricht TRANSFORM_PARAM.SRS_FENCE .

Die Koordinatensysteme werden in den Parametern, respektive Optionen wie folgt definiert.

EPSG:<EPSG-Code>

Der Prefix EPSG: ist fix. <EPSG-Code> entspricht dem Code für das Koordinatensystem nach EPSG.

Beispiele:

EPSG:3785 Google Maps

EPSG:4326 WGS84

EPSG:21780 Liechtensteinisches Koordinatensystem FL1903 / LV03

EPSG:21781 Schweizerisches KoordinatensystemCH1903 / LV03

Weitere Koordinatensysteme können bei Bedarf implementiert werden.

4.3. Exportierte Prozeduren

ProzedurTRANSFROM_GEOMETRY ! [g geometry][g geometry]
BeschreibungTransformiert eine Geometrie vom Koordinatensystem TRANSFER_PARAM.SRS_IN zum Koordinatensystem TRANSFER_PARAM.SRS_OUT .
Beispiel
IN.GEOM TRANSFORM_GEOMETRY ! [geometry]
ProzedurTRANSFROM_FENCE ! [g geometry][g geometry]
BeschreibungTransformiert die Geometrie eines eventuellen Fences vom Koordinatensystem TRANSFER_PARAM.SRS_FENCE zum Koordinatensystem TRANSFER_PARAM.SRS_OUT .
Beispiel
VAR.FENCE TRANSFORM_FENCE ! [geometry]
ProzedurTRANSFROM_OBJECT ! [m* map][]
BeschreibungTransformiert alle Geometrieen eines Objektes vom Koordinatensystem TRANSFER_PARAM.SRS_IN zum Koordinatensystem TRANSFER_PARAM.SRS_OUT .
Beispiel
&IN TRANSFORM_GEOMETRY
ProzedurTRANSFROM_OBJECT1 ! o object
BeschreibungAnalog TRANSFORM_OBJECT. Zur Anwendung in der Map INOUT unter run1.
Beispiel
MAP INOUT
:
I1  => TRANSFORM_OBJECT1,IN,....
:
END_MAP

4.4. Skriptbeispiel

! Diese ICS Konfiguration zeigt alle von shpin.mod
! gelesenen Objekte in der .log Datei an.
! Dabei werden die Geometrien der Objekte transformiert.

|LICENSE \license\iltools.lic

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

MAP SHPIN_PARAM
   STATISTICS => ON
   DEBUG      => OFF
END_MAP

MAP TRANSFORM_PARAM
   SRS_IN  => 21781
   SRS_OUT => 4326
END_MAP

MAP INPUT_SOURCES
   I1 => SHPIN,OPT.input
END_MAP

MAP INOUT
   I1 => TRANSFORM_OBJECT1,IN,DISPLAY_OBJECT1,IN,DISPLAY_OBJECT1,SHPIN_REC
END_MAP

|INCL \script\shpin.mod
|INCL \script\run1.prg