20. Modul SHPIN - ESRI Shapefile lesen

20.1. Allgemeines

Mit dem Modul SHPIN können Objekte aus ESRI Shapefile Dateien gelesen werden.

SHPIN wird mit:

|INCL \script\shpin.mod

in einer ICS RUN1-Konfiguration verfügbar gemacht.

20.2. Abhängigkeiten von anderen Modulen

Keine Abhängigkeiten vorhanden.

20.3. Parametermap SHPIN_PARAM

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

Parameterreq/optBeschreibung
STATISTICSrON oder OFF. Objektstatistik am Ende der .log Datei ausgeben.
DEBUGrON oder OFF. Debugmodus ein- oder ausschalten (Default = OFF).
DBF_DOSoON oder OFF. Falls ON gesetzt wird, werden DBF-Dateien im DOS-Zeichensatz gelesen. Sonst wird der Windowszeichensatz gelesen.
READ_MoON oder OFF. Falls ON gesetzt wird, werden die Measurement-Werte als Z-Koordinaten gelesen, falls vorhanden. Eventuelle Z-Koordinaten werden nicht gelesen. Mesurement-Werte können in fogenden Shape Typen vorkommen: POINTZ,POINTM, MULTIPOINTZ,MULTIPOINTM,POLYLINEZ,POLYLINEM, POLYGONZ,POLYGONM.

20.4. Objektmodell

Der Modul SHPIN liefert pro IN-Objekt folgende Systemkomponenten:

Komponentereq/optBeschreibung
IN.FILE(s)rName der Inputdatei ohne Verzeichnis und ohne Endung.
IN.TYPE(s)rTyp des Objekts. Mögliche Werte für IN.TYPE sind: NULL, POINT, MULTIPOINT,POLYLINE, POLYGON.
IN.SHPTYPE(s)rShapetyp des Objekts. Mögliche Werte für IN.SHPTYPE sind: NULLSHP, POINT,POINTZ,POINTM, MULTIPOINT,MULTIPOINTZ,MULTIPOINTM,POLYLINE,POLYLINEZ,POLYLINEM, POLYGON,POLYGONZ,POLYGONM.
IN.DIMENSION(s) r

Dimension der Objektgeometrie. Mögliche Werte sind: 2D oder 3D.

IN.FEATUREID(i)rFeatureid.
IN.MINX(r), IN.MINY(r) IN.MAXX(r), IN.MAXY(r)rXY-Rangebox um die Objektgeometrie IN.GEOM.
IN.MINZ(r), IN.MINZ(r) oZ-Range der Objektgeometrie IN.GEOM, falls Z vorhanden ist.
IN.MINM(r), IN.MINM(r) oM-Range der Objektgeometrie IN.GEOM, falls M vorhanden ist.
IN.GEOM(p,l) r

Objektgeometrie. Bemerkungen: Die Geometrie wird beim Typ POINT als Point zurückgegeben. Die Geometrie wird bei den Typen MULTIPOINT,POLYLINE und POLYGON als Liste zurückgegeben, auch wenn die Geometrie nur aus einem Teil besteht. Objekte vom Typ NULL haben keine Geometrie.

Neben dem IN-Objekt liefert der Modul SHPIN alle Attribute des aktuellen Objekts in der Map SHPIN_REC.

20.5. Exportierte Prozeduren und Methoden

ProzedurSHPIN_OPEN ! [s input][]
BeschreibungÖffnet die SHP Datei <input>. Die Prozedur wird von RUN1 automatisch aufgerufen.
Beispiel
'c:\test\test.shp' SHPIN_OPEN
ProzedurSHPIN_READ_OBJECT ! [][b state]
Beschreibung

Liest das nächste Objekt aus der aktuellen SHP-Inputdatei. Das Objekt wird in der MAP IN bzw. SHPIN_REC zurückgegeben. Falls Der Typ des gelesenen Objektes wird mit der Komponente IN.TYPE angegeben.

Beispiel
SHPIN_READ_OBJECT [TRUE]
ProzedurSHPIN_CLOSE ! [][]
BeschreibungSchliesst den Modul und gibt die durch den Modul belegten Resourcen wieder frei. Die Prozedur wird von RUN1 automatisch aufgerufen.
Beispiel
SHPIN_CLOSE

20.6. Skriptbeispiel

! Diese ICS Konfiguration zeigt alle von shpin.mod
! gelesenen Objekte in der .log Datei an.

|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 INPUT_SOURCES
   I1 => SHPIN,OPT.input
END_MAP

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

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