2. Modul ARCGISOUT - ESRI Geodatabase schreiben

2.1. Allgemeines

Mit dem Modul können Objekte in eine ESRI-Geodatabase geschrieben werden. Unterstützt werden:

  • ESRI SDE Geodatabase (Oracle)

  • ESRI Personal Geodatabase (ACCESS)

  • ESRI File Geodatabase

Der Modul beinhaltet folgende Besonderheiten:

  • Schreibt Daten mit Geometrien in eine Geodatabase.

  • Legt Tabellen für die Daten und die Spatial Indexe entprechende der ESRI Geodatabase an.

  • Füllt das Geodatabase Repository mit den notwendigen Definitionen.

  • Die Geodatabase kann nach dem Schreiben der Daten direkt mit den ESRI-Anwendungen weiterbearbeitet werden.

Der Modul wird mit:

|INCL \script\arcgisout.mod

in einer ICS RUN1-Konfiguration verfügbar gemacht.

2.2. ESRI Lizenz

Der Modul verwendet das ESRI ArcObjects API. Für die Anwendung des Modules ist deshalb eine ESRI Lizenz notwendig. Folgende minimalen ESRI Lizenzen sind notwendig.

ESRI GeodatabaseESRI minimal Lizenz: Model kreierenESRI minimal Lizenz: Daten schreiben
SDEArcEditorArcGIS Engine Runtime
PersonalArcGIS Engine RuntimeArcGIS Engine Runtime
FileArcGIS Engine RuntimeArcGIS Engine Runtime

Wenn Sie zum Beispiel eine SDE Geodatabase bearbeiten möchten, benötigen Sie zum Kreieren des Modelles in SDE die ArcEditor Lizenz.. Ist das Modell in der SDE Geodatabase einmal angelegt, benötigen Sie zum Schreiben der Daten nach SDE nur noch die ArcGIS Engine Runtime Lizenz.

2.3. Parametermap ARCGISOUT_PARAM

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

Parameterreq/optBeschreibung
SRIDr<STRING>. Der Name des ArcGIS Spatial Reference System. Es muss der Name eines ArcGIS bekannten Projected Coordinate Systems sein. Beispiele: 'CH1903 LV03', 'CH1903+ LV95'
DATASEToON oder OFF, Default = OFF. Definiert, ob die in die Datenbank geschriebenen Daten als Datasets verwaltetet werden. Sie dazu mehr unter dem Kapitel Datasets im Module DBOUT.
STATISTICSoON oder OFF, Default = OFF. Statistik anzeigen.
SPATIAL_GEOM_CLEANoON oder OFF, Default = OFF. Bereinigt die Geometry mit ArcObject-Methode ITopologicalOperator.Simplify.
COMPRESSoON oder OFF, Default = OFF.Soll die SDE Datenbank nach dem import komprimiert werden. Nur bei SDE-Datenbanken anwendbar.

2.4. ArcGIS SDE Connect

Der Connect zu einer ArcGIS SDE Datebank wird unterschieden zwischen einem

  • Direct Connect (ab 10.1 Standard)

und einem

  • SDE Service Connect (bis 10.0 Standard)

Bis und mit SDE Version 10.0 war der Connect über einen SDE Service der Standard. Ab SDE Version 10.1 ist Direct Connect der Standard. Direct Connect benötigt keinen SDE Service, sondern verwendet die Möglichkeiten der Datenbank für einen Connect.

Bis SDE Version 10.0 konnte der SDE Service über das Postinstallations-Programm von SDE interaktiv eingerichtet werden. Ab SDE Version 10.1 muss der SDE Service manuell eingerichtet werden.

Entsprechend der Verbindung über Direct Connect oder SDE Service sind die Connect-Parameter etwas anders. Nachfolgend werden Beispiele für die Verbindung zweier geläufigen Datenbanken aufgeführt.

DatenbankConnectConnect Parameter InteraktivConnect Parameter Batch OPT.input/OPT.output
OracleDirect Connect
Server: ''

Leer.

Instance: sde:<Oracle-Client-Value>

sde: mit Oracle-Client-Version je nach Client Version: Oracle (für 8i), Oracle9i, Oracle10g, Oarcle11g

Database: <Database> (Optional)

Datenbank des Users.

User: <User>

Datenbank User

Password: <Password>@<Oracle-Service>

Password des Users und Oracle Service definiert für Client

Version: <Version> (Optional)

Leer oder Default sde.DEFAULT.

Parameter

,<Instance>,<Database>,<User>,<Password>@<Oracle-Service>,<Version>

Beispiel

,sde:Oracle11g,,test,infogrips@ORCL,

 SDE Service
Server: <Server>

Server mit SDE Service

Instance: <SDE Service Port>

Port des SDE Services

Database: <Database> (Optional)

Datenbank des Users.

User: <User>

Datenbank User

Password: <Password>

Password des Users und Oracle Service definiert für Client

Version: <Version> (Optional)

Leer oder Default sde.DEFAULT.

Parameter

<Server>,<Instance>,<Database>,<User>,<Password>,<Version>

Beispiel

Server,5151,,test,infogrips,

SQL ServerDirect Connect
Server: <Server>

Server mit SDE Datenbank.

Instance: sde:sqlserver:<SQL Server Instance>>

sde:sqlserver mit SQL Server Instance

Database: <Database> (Optional)

Datenbank des Users.

User: <User>

Datenbank User

Password: <Password>

Password des Users

Version: <Version> (Optional)

Leer oder Default dbo.DEFAULT.

Parameter

<Server>,<Instance>,<Database>,<User>,<Password>,<Version>

Beispiel

server,sde:sqlserver:server\SQLEXPRESS,,test,infogrips,

 SDE Service
Server: <Server>

Server mit SDE Service

Instance: <SDE Service Port>

Port des SDE Services

Database: <Database> (Optional)

Datenbank des Users.

User: <User>

Datenbank User

Password: <Password>

Password des Users

Version: <Version> (Optional)

Leer oder Default dbo.DEFAULT.

Parameter

<Server>,<Instance>,<Database>,<User>,<Password>,<Version>

Beispiel

server,5151,,test,infogrips,

2.5. Objektmodell

Der Modul verlangt pro OUT-Objekt folgende Systemkomponenten:

Komponentereq/optBeschreibung
OUT.TABLE(s)rTablename des OUT Objekts.
OUT.GDB_DATASET(s)oGeodatabase Dataset, in welches das Objekt geschrieben werden soll.
OUT.<Attribut>(s)oAttributname der Tabelle. Der Wert der Komponente beinhaltet den Wert für die Datenbank. Der Typ des Werts muss mit dem Typ des Attributs in der Datenbank übereinstimmen. Es können beliebig viele Attribute definiert werden.

Dieses Objektmodell gilt für die Anwendung mit der Prozedur GDBOUT_WRITE_OBJECT0. Die Tabellen mit den Attributen müssen in der Datenbank bereits bestehen oder in einer Konfiguration mit Prozeduren und Methoden vorgängig erzeugt werden. Falls die Datenbankstrukturen automatisiert mit dem Modul erstellt werden sollen, so beachten Sie das Kapitel mit den Record-Definitionen und das Kapitel mit der Datenbank Modellgenerierung.

Den Objekten wird automatisiert im Attribute OBJECTID ein eindeutiger Schlüssel vergeben. Das Attribut OBJECTID ist nicht zu definieren.

2.6. Record Definitionen

Mit Record Definitionen können nicht nur Objekte in die Datenbank geschrieben werden, sondern auch Datenbank-Tabellen automatisiert in der Datenbank inklusive dem Geodatabase Repository angelegt werden. Eine Record Definition sieht wie folgt aus.

MAP RECORD_<n>
   TABLE => <Table-Name>
   GDB_DATASET => <Dataset-Name>
   :
   <Attribute-Name> => <Attribute-Type>,<Attribute-Value>
   :
END_MAP

Die einzelnen Bestandteile einer Record-Definition sind:

RECORD_<n>

Eine Record Definition ist eine Map. Der Map-Name muss mit dem Prefix RECORD_ beginnen und eine eindeutige Nummer <n> für die Record Definition beinhalten.

TABLE

Diese Komponente ist required und definiert die Datenbank-Tabelle.

<Table-Name>

Definiert als Wert der Komponente TABLE die Datenbank-Tabelle.

GDB_DATASET

Diese Komponente ist optional und definiert das Geodatabase Dataset.

[Anmerkung]

Im GDB-Repository können nur Objekte mit einer Geometrie einem Dataset zugeordnet werden.

Wird diese Komponente bei einem Objekt definiert, das keine Geometrie aufweist, wird eine Dummy-Geometrie in der Form eines Punktes dem Objekt angefügt. Damit kann das Objekt dem Dataset zugeordnet werden.

Um ein Objekt, das keine Geometrie aufweist, als reine Tabelle zu transferieren, darf diese Komponente nicht definiert werden.

<Dataset-Name>

Definiert als Wert der Komponente GDB_DATASET das Geodatabase Dataset..

<Attribute-Name>

Definiert als Komponente einen Attribut-Namen der Tabelle. Es können beliebig viele Attribute als Komponenten definiert werden.

<Attribute-Type>

Definiert den Attribut-Type in der Datenbank. Im Normalfall können der Datenbank bekannt Typen verwendet werden. Spezialtypen einer Datenbank werden eventuell nocht nicht unterstützt. Solche Spezialtypen werden bei Bedarf und auf Anfrage implementiert. Bei den Typen ist auf folgendes zu achten.

CHAR(<length>)

Stringtypen sind immer als CHAR mit der Länge <length> zu definieren..

NUMBER(p,s)

Number-Type.

INTEGER

Integer-Type.

DATE

Date-Type.

Ein Datum kann übergeben werden als:

- INTEGER im Format YYYYMMDD z.B.20141204

- STRING im Format 'YYYY-MM-DD' z.B '2014-12-04'

Ein Datum mit Zeit kann übergeben werden als

- STRING im Format 'YYYY-MM-DD HH24-MI-SS' z.B '2014-12-04 14:09:59'

GEOMETRY(<type>;<dimension>;<HASM>)

Geometrien müssen als Type GEOMETRY definiert werden. Dabei sind folgende weiteren Definitionen notwendig.

<type>

Type der Geometrie, einer der Werte: point|line|area.

<dimension>

Dimension der Geometrie, einer der Werte: 2D|3D.

<HASM>

Geometrie besitzt die Measure-Dimension, einer der Werte: TRUE|FALSE.

[Anmerkung]

Geodatabase erlaubt nur eine Geometrie-Definition pro Tabelle. Deshalb kann pro Record-Definition nur ein Geometrie-Attribut definiert werden.

[Anmerkung]

Um mögliche Einschränkungen von SDE zu umgehen, ist es empfehlenswert, den Geometrie-Attributen den Name SHAPE zu vergeben.

<Attribut-Value>

Definiert den Wert für das Attribut. Als Wert können absolute Werte oder ICS-Variablen, die einen Wert beinhalten - z.B. IN.OBJID - verwendet werden.

Beispiel einer Record Definition.

MAP RECORD_15
   TABLE => Bodenbedeckung_BoFlaeche_Area
   GDB_DATASET => Bodenbedeckung
   OBJID => CHAR(32),IN.OBJID
   Entstehung => CHAR(32),IN.Entstehung.OBJID
   Qualitaet => INTEGER,IN.Qualitaet
   Qualitaet_TXT => CHAR(7),IN.Qualitaet
   Art => INTEGER,IN.Art
   Art_TXT => CHAR(47),IN.Art_TXT
   SHAPE => GEOMETRY(area;2D;FALSE),IN.GEOM
END_MAP

2.7. Datasets

Zur Verwaltung von Datasets in der Datenbank ist das analoge Kapitel des Modules DBOUT zu beachten.

Um ein Dataset aus einer Geodatabase Datenbank zu löschen, steht folgende Konfiguration zur Verfügung:

ILTOOLS_DIR\system\script\il2arcgis\arcgisdatasetdelete.cfg

2.8. Datenbank Modellgenerierung mit CONFIG_PARAM.GENERATE_MODEL

Falls basierend auf den Record-Definitionen vor einem Datentransfer das gesamte Datenbankmodell erstellt werden soll, so ist der Parameter CONFIG_PARAM.GENERATE_MODEL auf ON zu setzten:

MAP CONFIG_PARAM
   GENERATE_MODEL => ON
END_MAP

Entsprechend den Record-Definitionen wird vor einem Datentransfer das Datenbankmodell inklusive den Definitionen für das Geodatabase Repository generiert, falls es nicht schon generiert wurde.

Um das Datenmodell inklusive den Daten und den Definitionen im Geodatabase Repository aus einer Geodatabase Datenbank zu löschen, steht folgende Konfiguration zur Verfügung:

ILTOOLS_DIR\system\script\il2arcgis\arcgisgdbdelete.cfg

2.9. Topologie Flächennetze

ESRI-Datenbanken - insbesondere SDE -sind sehr heikel bezüglich der Topologie von Flächennetzen. Wenn von INTERLIS Flächennetze wie die Bodenbedeckung der amtlichen Vermessungen mit erlaubten Overlaps übertragen werden, entstehen in der Regel in ESRI-Datenbanken Flächennetze mit Fehlern in der Topologie.

Um solche Fehler in der ESRI-Topologie zu eliminieren, empfehlen wir folgendes Vorgehen.

Konfiguration *.cfg

Definieren Sie die Map ARCGISOUT_SPECIAL

MAP ARCGISOUT_SPECIAL
   Bo_BoFlaeche_Area     => AREA_TOPOLOGY
   Li_Liegenschaft_Area  => AREA_TOPOLOGY
   DEFAULT               => OFF
END_MAP

Erstellen Sie für jede ArcGIS-Featureclass, die ein Flächennetz beinhaltet, einen Eintrag mit dem Wert AREA_TOPOLOGY.

Für diese Featureclasses wird nach der INTERLIS-Topologieberechnung die Topologie ein zweites Mal berechnet, indem Overlap-Flächen als eigenständige Flächen behandelt werden.

Python Script *.py mit Repair Geometry und Validate Topology

Erstellen Sie ein ArcGIS Python Script, das auf Featureclasses mit einem Flächennetz ein Repair Geometry und ein Validate Topology ausführt.

Führen Sie das Python-Script nach dem Datentransfer auf den gewünschten Featureclasses aus oder integrieren Sie das Script in den Datentransfer - siehe nächster Schritt Konfiguration *.out.

Siehe Beispiel Python-Script:

ILTOOLS_DIR\system\script\il2arcgis\il2arcgis_valTopo.py

# infoGrips
# 2016.05.31/tg created
#
#=====================================================================================
import glob
import os
import getopt
import arcpy
import sys

#=====================================================================================
def validateTopology(featureClass):

   topologyName = featureClass + '_Topology_Validate'

   try:
      arcpy.RepairGeometry_management(in_features=featureClass)
      print(arcpy.GetMessages())
   except:
      print(arcpy.GetMessages())
      raise
   try:
      '''
      If the Cluster Tolerance parameter is blank or set to 0
      the xy tolerance of the feature dataset which contains the topology will be used.
      '''
      arcpy.CreateTopology_management(arcpy.env.workspace, topologyName, 0)
      print(arcpy.GetMessages())
   except:
      print(arcpy.GetMessages())
      raise
   try:
      arcpy.AddFeatureClassToTopology_management(arcpy.env.workspace + os.sep +
                                                topologyName, featureClass, "1", "1")
      print(arcpy.GetMessages())
   except:
      print(arcpy.GetMessages())
      raise
   try:
      arcpy.AddRuleToTopology_management(arcpy.env.workspace + os.sep + topologyName,
                                          "Must Not Have Gaps (Area)", featureClass, "", "", "")
      print(arcpy.GetMessages())
   except:
      print(arcpy.GetMessages())
      raise
   try:
      arcpy.AddRuleToTopology_management(arcpy.env.workspace + os.sep + topologyName,
                                          "Must Not Overlap (Area)", featureClass, "", "", "")
      print(arcpy.GetMessages())
   except:
      print(arcpy.GetMessages())
      raise
   try:
      arcpy.ValidateTopology_management(arcpy.env.workspace + os.sep + topologyName,
                                          "FULL_EXTENT")
      print(arcpy.GetMessages())
   except:
      print(arcpy.GetMessages())
      return

#=====================================================================================
def main(argv):

   gdb = ''
   dataset = ''
   feature = ''

   use = 'topo.py -g <gdb> -d <dataset> -f <feature>'

   try:
      opts, args = getopt.getopt(argv,"hg:d:f:")
   except getopt.GetoptError:
      print use
      sys.exit(2)
   for opt, arg in opts:
      if opt == '-h':
         print use
         sys.exit()
      elif opt in ("-g"):
         gdb = arg
      elif opt in ("-d"):
         dataset = arg
      elif opt in ("-f"):
         feature = arg

   print '-g = ', gdb
   print '-d = ', dataset
   print '-f = ', feature

   arcpy.env.overwriteOutput=True
   for gdbFile in glob.glob(gdb):
      arcpy.env.workspace = gdbFile + os.sep + dataset
      print(gdbFile)
      print(arcpy.env.workspace)
      validateTopology(featureClass= feature)
      pass

#=====================================================================================
if __name__ == '__main__':
   main(sys.argv[1:])

#=====================================================================================
Konfiguration *.out

Das oben aufgeführte Python-Script kann in den Datentransfer intergriert werden.

Siehe Beispiel:

ILTOOLS_DIR\system\script\il2arcgis\il2arcgis.out

PROCEDURE ARCGIS_PYTHON_VALTOPO_RUN ! [s dataset, s feature] 

   ! arguments
   !----------
   => LOCAL.FEATURE
   => LOCAL.DATASET

   ! edit
   !-----
   'C:\Python27\ArcGIS10.2\python.exe'                   => LOCAL.PY_EXE

   '\script\il2arcgis\il2arcgis_valTopo.py' EXPAND_PATH  => LOCAL.PY_FILE


   ! message
   !--------
   DISPLAY ''
   DISPLAY '=========================================='
   DISPLAY 'Topology postprocess'
   DISPLAY LOCAL.DATASET,'.',LOCAL.FEATURE
   DISPLAY ''

   ! py and log get
   !---------------

   LOCAL.PY_FILE 
   FILENAME_PARSE
   => LOCAL.FDIR
   => LOCAL.FNAME
   => LOCAL.FEXT

   LOCAL.FDIR . '\' . LOCAL.FNAME . '.log'   => LOCAL.LOG 

   ! command build and run
   !----------------------
   LOCAL.PY_FILE
   . ' -g ' . OPT.output
   . ' -d ' . LOCAL.DATASET
   . ' -f ' . LOCAL.FEATURE
   => LOCAL.PY_COMMAND

   LOCAL.PY_EXE
   . ' ' . LOCAL.PY_COMMAND
   . ' > ' . LOCAL.LOG
   => LOCAL.COMMAND

   DISPLAY LOCAL.COMMAND
   DISPLAY ''

   LOCAL.COMMAND OSCALL TO_INT => LOCAL.STATUS

   ! log add
   !---------
   IF LOCAL.LOG TEXTFILE.OPEN THEN
      => LOCAL.FID
      WHILE LOCAL.FID TEXTFILE.READLN DO
         DISP
      END_WHILE
   END_IF

   ! message end
   !-------------
   DISPLAY ''
   IF LOCAL.STATUS = 0 THEN
      DISPLAY 'finished with success status=',LOCAL.STATUS
   ELSE
      DISPLAY 'finished with failure status=',LOCAL.STATUS
   END_IF
   DISPLAY ''

END_PROCEDURE

!-----------------------------------------------------------------------------

PROCEDURE POST_RUN1 

   'Bodenbedeckung' 'Bo_BoFlaeche_Area'    ARCGIS_PYTHON_VALTOPO_RUN
   'Liegenschaften' 'Li_Liegenschaft_Area' ARCGIS_PYTHON_VALTOPO_RUN

END_PROCEDURE
 

2.10. Exportierte Prozeduren und Methoden

ProzedurARCGISOUT_OPEN [s input][]
Beschreibung

Öffnet eine bestehende Datenbank oder kreiert neue Datenbank.

  • Für eine Personal Geodatabase muss in input die Access-Datenbank *.mdb gesetzt werden.

  • Für eine File Geodatabase muss in input die File-Datenbank *.gdb gesetzt werden.

  • Für eine SDE Geodatabase muss in input die SDE connection in der Form <server>,<instance>,<database>,<user>,<password>,<version> gesetzt werden.

Prozedur wird von RUN1 automatisch aufgerufen.

Beispiel
'c:\data\arcgis.mdb' ARCGISOUT_OPEN
ProzedurARCGISOUT_WRITE_OBJECT0
Beschreibung

Schreibt ein Objekt in die Datenbank. Das OUT-Objekt muss gemäss dem Objektmodell gefüllt sein.

Beispiel
ARCGISOUT_WRITE_OBJECT0
ProzedurARCGISOUT_WRITE_RECORD1 ! s recordname
Beschreibung

Schreibt ein Objekt definiert mit <recordname> in die Datenbank. <recordname> ist der Name einer Record-Definition (siehe weiter oben).

Beispiel
... => ARCGISOUT_WRITE_RECORD1,RECORD_1
ProzedurARCGISOUT_CLOSE [][]
BeschreibungSchliesst den Modul und gibt die durch den Modul belegten Resourcen wieder frei. Die Prozedur wird von RUN1 automatisch aufgerufen.
Beispiel
ARCGISOUT_CLOSE
MethodeARCGISOUT.COMPRESS [][]
BeschreibungEine SDE Datenbank komprimieren. Danach sollten die Anzahl SDE-States minimiert sein: select count(*) from sde.states. Die Datenbank muss geöffnet und geschlossen werden.Diese Methode ist für die alleinige Anwendung ohne Import oder Export gedacht. Soll nach dem Import eine Komprimierung erfolgen, dann ist folgender Parameter zu setzen: ARGGISOUT_PARAM.COMPRESS
Beispiel
<sde-CONNECT-parameter> ARCGIS.OPEN
ARCGIS.COMPRESS
ARCGIS.CLOSE

Neben diesen Prozeduren des Modules stehen auch die Methoden der Klasse DB zur Verfügung (s.a. iG/Script Benutzer- und Referenzhandbuch).

2.11. Skriptbeispiel

! Diese ICS Konfiguration liest ein INTERLIS FIle,
! erzeugt eine Tabelle für LFP's in der Datenbank
! inklusive den Definitionen des Geodatabase Repository
! und schreibt die LFP's in die Tabelle.

|LICENSE \license\iltoolspro.lic

MAP CONFIG_PARAM
   GENERATE_MODEL => ON
END_MAP

MAP USER_INPUT1
   DIALOG        => FILE
   MESSAGE       => 'Enter INTERLIS Input File'
   FILE_FILTER   => itf
   FILE_EXISTS   => TRUE
   OPT           => input
END_MAP

MAP USER_INPUT2
   DIALOG        => ARCGIS
   MESSAGE       => 'Enter SDE or Database Output File'
   FILE_FILTER   => *
   FILE_EXISTS   => FALSE
   OPT           => output
END_MAP

MAP ILIN_PARAM
   INTERLIS_DEF => \models\Grunddatensatz.ili
   STATISTICS   => ON
   CALC_SURFACE => ON
   ENUM_TO_TEXT => ON
   TRACE        => OFF
END_MAP

MAP ILIN_TOPO
   DEFAULT => OFF
END_MAP

MAP ARCGISOUT_PARAM
   SRID            => 'CH1903 LV03'
   STATISTICS      => ON
   DATASET         => ON
END_MAP

MAP RECORD_1
   TABLE => Fi_LFP1
   GDB_DATASET => FixpunkteKategorie1
   OBJID => CHAR(32),IN.OBJID
   Entstehung => CHAR(32),IN.Entstehung.OBJID
   NBIdent => CHAR(12),IN.NBIdent
   Nummer => CHAR(12),IN.Nummer
   SHAPE => GEOMETRY(point;2D;FALSE),IN.Geometrie
   HoeheGeom => NUMBER(7,3),IN.HoeheGeom
   LageGen => NUMBER(4,1),IN.LageGen
   LageZuv => INTEGER,IN.LageZuv
   LageZuv_TXT => CHAR(4),IN.LageZuv_TXT
   HoeheGen => NUMBER(4,1),IN.HoeheGen
   HoeheZuv => INTEGER,IN.HoeheZuv
   HoeheZuv_TXT => CHAR(4),IN.HoeheZuv_TXT
   Begehbarkeit => INTEGER,IN.Begehbarkeit
   Begehbarkeit_TXT => CHAR(14),IN.Begehbarkeit_TXT
   Punktzeichen => INTEGER,IN.Punktzeichen
   Punktzeichen_TXT => CHAR(17),IN.Punktzeichen_TXT
END_MAP

MAP INPUT_SOURCES
   I1 => ILTOPO,OPT.input
END_MAP

MAP INOUT
   I1                => IN.TOPIC,IN.TABLE
   I1,Fixpunkte,LFP  => ARCGISOUT_WRITE_RECORD1,RECORD_1
   I1,*              => OFF
END_MAP

|INCL \script\iltopo.mod
|INCL \script\arcgisout.mod
|INCL \script\il2arcgis\il2arcgis\arcgisout.mod
|INCL \script\run1.prg

2.12. Bestehende Konfigurationen IL2GDB/IL2SDE oder GDB2IL/SDE2IL nach IL2ARCGIS/ARCGIS2IL migrieren

Die Module ARCGISIN/ARCGISOUT lösen die Module GDBIN/GDBOUT und SDEIN/SDEOUT ab. Bestehende Konfigurationen IL2GDB/GDB2IL und IL2SDE/SDE2IL sind deshalb durch Konfiguration IL2ARCGIS/ARCGIS2il abzulösen. Für dieser Migration steht folgendes Script zur Verfügung.

ILTOOLS\system\script\il2gdb\CFG_GDB2ARCGIS.cfg

Das Script verlangt als Input eine IL2GDB/GDB2IL oder IL2SDE/SDE2IL Konfiguration und schreibt als Output eine analoge IL2ARCGIS/ARCGIS2IL Konfiguration.