Mit dem Modul SHPOUT können Objekte in eine ESRI Shapefile Datei geschrieben werden.
Der Modul SHPOUT wird mit:
|INCL \script\shpout.mod
in einer ICS RUN1-Konfiguration verfügbar gemacht.
Folgende Parameter können in der Map
SHPOUT_PARAM
für den Modul gesetzt werden:
Parameter | req/opt | Beschreibung |
FILEPREFIX_GET | o | ON oder OFF ,
Default: OFF . Definiert ob ein
Fileprefix interaktiv abgefragt werden soll. |
FILEPREFIX | o | Default: OFF . Definiert ob ein
Fileprefix interaktiv abgefragt werden soll. |
STROKE_TOL | r | <real> . Stroke-Tolerance
zur Auflösung von Kreisbögen in Liniensegmente. Als
Stroke-Tolerance können dieselben Werte wie für die
ICS-Methode ICS.STROKE verwendet werden
(s.a. iG/Script Benutzer- und Referenzhandbuch). Mit
OFF werden die Kreisbögen nicht
aufgelöst. |
DBF_DOS | o | ON oder OFF .
Falls ON gesetzt wird, werden DBF-Dateien
im DOS-Zeichensatz geschrieben (ArcExlorer). Sonst wird der
Windowszeichensatz verwendet (ArcView). |
PRJ_FILE | o | <file>, Definiert ein *.prj Template-File mit
dem Spatial Referenz System für die Shapefiles. Beispiele
sind
ILTOOLS_DIR\system\data\SHP_CH1903_LV03.prj
und
ILTOOLS_DIR\system\data\SHP_CH1903+_LV03.prj .
Pfad kann relativ zu ILTOOLS_DIR
angegeben werden. |
CPG_FILE | o | <Codepage>, Definiert die Codepage
(Zeichensatz) für die Sachdaten im dbf-File. Per Default
1252, der Windows-Zeichensatz. Notwendig ab ESRI 10.3/10.4
um z.B. Umlaute richtig darzustellen. Mit dem Wert
OFF werden die cpg-Files nicht erzeugt
Der Wert des Parameters wird in das cpg-File
geschrieben.. |
DEBUG | r | ON oder OFF ,
Default = OFF . Debugmodus ein oder
aus. |
STATISTICS | r | ON oder OFF ,
Default = OFF . Objektstatistik am Ender
der .log Datei anzeigen. |
Komponente | req/opt | Beschreibung |
OUT.FILE(s) | r | Dateiname der Outputdatei ohne Endung .shp. |
OUT.TYPE(s) | r | Typ des Outputobjekts (s.a. unten). |
OUT.DIMENSION(s) | r | Dimension der Ouputdatei
( |
OUT.TYPE =
'DBF'
Ein OUT-Objekt vom Typ DBF erzeugt nur eine DBF-Datei.
OUT.TYPE =
'NULL'
Ein OUT-Objekt vom Typ NULL
erzeugt
ein NULL-Objekt. Das NULL-Objekt hat keine spezifischen
Komponenten.
OUT.TYPE =
'POINT'
Komponente | req/opt | Beschreibung |
OUT.GEOM(p) | r | Punktkoordinate. |
OUT.TYPE =
'MULTIPOINT'
Komponente | req/opt | Beschreibung |
OUT.GEOM(l) | r | Liste aus Punktkoordinate(n). |
OUT.TYPE =
'POLYLINE'
Komponente | req/opt | Beschreibung |
OUT.STROKE_TOL(r) | r | Stroketoleranz. Löst alle Kreisbögen in einer Geometrie in Liniensegmente auf. Ein Kreisbogen wird gleichmässig in Liniensegemente aufgelöst, bis die Toleranz unterschritten ist.
|
OUT.GEOM(l) | r | Liniengeometrie. |
OUT.TYPE =
'POLYGON'
Komponente | req/opt | Beschreibung |
OUT.STROKE_TOL(r) | r | Stroketoleranz (s.a.
|
OUT.GEOM(a) | r | Flächengeometrie. |
Obwohl das SHP Format keine Möglichkeit für die graphische Ausgabe
von Text bietet, ist die Darstellung von Text mit SHPOUT trotzdem
möglich (s.a. SHPOUT_WRITE_TEXT6
). Dazu muss
vorgängig die Map TEXT_SYMBOLOGY
in der
.cfg
Datei wie folgt angelegt werden:
MAP TEXT_SYMBOLOGY
...
<symbology> => <file>,<font>,<size>,<offset>,<xscale>,<slant>
...
END_MAP
Die einzelnen Parameter haben folgende Bedeutung:
<symbology>
Name der definierten Textsymbologie. Der Name der Symbologie muss SHPOUT_WRITE_TEXT6 als Argument übergeben werden.
<file>
Name der Outputdatei.
<font>
Name des Fonts. Der Font muss in
ICS_DIR\font
vorhanden sein.
<size>
Schrifthöhe in Benutzereinheiten.
<offset>
Abstand des der Beschriftungsposition vom Einfügepunkt.
Der Abstand wird wie eine Punktkoordinate eingegeben, d.h. z.B.
0.0/1.5
.
<xscale>
Skalierungsfakor in x-Richtung.
<slant>
Neigungswinkel in Altgrad.
Prozedur | SHPOUT_OPEN ! [s directory][] |
Beschreibung | Öffnet den SHPOUT Modul auf dem
Dateiverzeichnis <directory> . Alle
Outputdateien werden in das Verzeichnis
<directory> geschrieben. Die
Prozedur wird von RUN1 automatisch aufgerufen. |
Beispiel |
|
Prozedur | SHPOUT_WRITE_DBF1 ! file |
Beschreibung | Schreibt nur ein
|
Beispiel |
|
Prozedur | SHPOUT_WRITE_NULL1 ! file |
Beschreibung | Schreibt ein
|
Beispiel |
|
Prozedur | SHPOUT_WRITE_POINT3 ! p position,s dimension,s file |
Beschreibung | Schreibt ein
|
Beispiel |
|
Prozedur | SHPOUT_WRITE_POLYLINE4 ! l geometry, s dimension, r stroktol, s file |
Beschreibung | Schreibt ein
|
Beispiel |
|
Prozedur | SHPOUT_WRITE_POLYGON4 ! a geometry, s dimension, r stroktol, s file |
Beschreibung | Schreibt ein
|
Beispiel |
|
Prozedur | SHPOUT_WRITE_TEXT6 ! s txt, p pos, r rot, i hali, i vali, s symbology |
Beschreibung | Schreibt ein
|
Beispiel |
|
Prozedur | SHPOUT_CLOSE ! [][] |
Beschreibung | Schliesst den Modul und gibt die durch den Modul belegten Resourcen wieder frei. Die Prozedur wird von RUN1 automatisch aufgerufen. |
Beispiel |
|
Methode | SHPOUT.CREATE_FILE [s Datei,s Typ,s Dimension,m Attribute][] |
Beschreibung | Erzeugt eine neue Shapedatei.
Die einzelnen Parameter haben folgende Bedeutung:
<Datei> : Name der Shapedatei ohne Endung.
<Typ> : Objekttyp der Shapedatei
(NULL , POINT ,
POLYLINE , POLYGON ).
<Dimension> : 2D
oder 3D (ohne Bedeutung für
NULL Objekte).
<Attribute> : Map in welcher die
Objektattribute beschrieben sind. |
Beispiel |
|
! Diese ICS Konfiguration kopiert alle von shpin.mod ! gelesenen Objekte mit shpout.mod in in eine .shp Datei. |LICENSE \license\iltools.lic MAP USER_INPUT1 DIALOG => FILE ! FILE | FILES | DIRECTORY | STRING | ODBC MESSAGE => 'Enter .shp Input File' FILE_FILTER => shp FILE_EXISTS => TRUE OPT => input END_MAP MAP USER_INPUT2 DIALOG => DIRECTORY ! FILE | FILES | DIRECTORY | STRING | ODBC MESSAGE => 'Enter .shp Output Directory' FILE_FILTER => * OPT => output END_MAP MAP SHPIN_PARAM STATISTICS => ON DEBUG => OFF END_MAP MAP SHPOUT_PARAM STATISTICS => ON PRJ_FILE => \data\SHP_CH1903_LV03.prj DEBUG => OFF END_MAP MAP INPUT_SOURCES I1 => SHPIN,OPT.input END_MAP MAP INOUT I1 => COPY_INOUT0 END_MAP |INCL \script\shpin.mod |INCL \script\shpout.mod PROCEDURE COPY_INOUT0 ! copy IN map &IN &OUT MAPCOPY ! copy all attributes &SHPIN_REC &SHPOUT_REC MAPCOPY SHPOUT_WRITE_OBJECT END_PROCEDURE |INCL \script\run1.prg