In den letzten Kapiteln wurde der generelle Aufbau von ICS und die Funktionsweise des RUN1 Algorithmus erklärt. In diesem Kapitel soll nun auf die praktische Arbeit mit den diversen ICS Werkzeugen eingegangen werden.
Die iG/Script Konfigurationsdateien sind ASCII Dateien, welche mit einem beliebigen Texteditor bearbeitet werden können. Wir empfehlen die Verwendung eines Texteditors mit Anzeige- bzw. Suchfunktionen für die Zeilennummer (z.B. PFE, Ultraedit, etc.). Via die Zeilennummer können Fehler in den Skriptdateien leicht gefunden werden.
Für einige Schnittstellen existieren ausserdem spezielle Konfigurationseditoren mit einer graphischen Benutzeroberfläche (GUI), z.B. DBEDIT, DXFEDIT, SHPEDIT, etc. . Nachfolgend ist die Benutzeroberfläche von SHPEDIT dargestellt:
Diese Editoren erzeugen ebenfalls RUN1 kompatible
.cfg
Dateien, welche auch von Hand (d.h. mit einem
Texteditor) nachbearbeitet oder ergänzt werden können. Konsultieren Sie
dazu die entsprechenden Benutzerhandbücher.
Für die Ausführung von iG/Script Konfigurationen kann man je nach Anwendungszweck unter vier verschiedenen Runtime Umgebungen auswählen:
Eignet sich für das Ausführen von beliebigen iG/Script Konfigurationen unter Windows. Eine detaillierte Beschreibung dieser Oberfläche ist im INTERLIS Tools Benutzerhandbuch enthalten.
Bei ICS for Microstation handelt sich um eine direkt in das CAD Paket Microstation integrierte Version von ICS for Windows. Eine detaillierte Beschreibung dieser Oberfläche ist im INTERLIS Tools Benutzerhandbuch enthalten.
ICS Kommandozeilenversion, welche sich vorallem für die automatisierte Verarbeitung von grossen Datenbeständen oder für das Debugging eignet (s.a. nächster Abschnitt). Eine detaillierte Beschreibung dieser Oberfläche ist im INTERLIS Tools Benutzerhandbuch enthalten.
Der GeoShop ist ein universeller Datenserver für das Publizieren, Verteilen und Verkaufen von Geodaten im Intra- oder Internet. Der GeoShop baut auf ICS (bzw. den INTERLIS Tools) auf. iG/Script Programme welche für ICS entwickelt wurden, können auch im GeoShop ausgeführt werden. Das Produkt GeoShop ist in der separaten Dokumentation zum GeoShop beschrieben.
Als Beispiel ist nachfolgend die Benutzeroberfläche ICS for Windows dargestellt:
Auch beim geübtesten ICS Programmierer wird einmal der Fall auftreten, dass eine Konfiguration nicht genau das macht, was er oder sie wollte, bzw. das die Konfiguration mit einer Fehlermeldung abbricht. Bei der Fehlersuche kann man wie folgt vorgehen:
Zuerst sollte man die Fehlermeldung in der Logdatei (normalerweise \data\temp\ics.log) untersuchen. Meist findet man dort einen Hinweis auf die Zeilennummer des Problems in der Skriptdatei.
Mit einem Texteditor kann man dann die entsprechende Stelle im
Skript untersuchen. Falls man nicht sofort sieht, wo das Problem
liegt (wie z.B. bei einem Syntaxfehler), kann man mit
DISPLAY
Befehlen versuchen das Problem im Skript
genauer einzukreisen. Es ist z.B. folgender Benutzerskript
(user.out
) geschrieben worden:
... 278 IN.TXT => OUT.TXT ...
Bei der Ausführung des Skripts ist dabei folgender Fehler aufgetreten:
*** ERROR *** ICSCPU() attribute ROOT.IN.Txt unknown user.out line 278 STACK EMPTY END_STACK PSTACK EMPTY END_PSTACK
Dann sollte man in der Datei user.out
vor
der Zeile 278 einen DISPLAY
Befehl wie folgt
einbauen:
278 DISPLAY IN 279 IN.TXT => OUT.TXT
Bei der nächsten Ausführung des Skripts wird dann der Inhalt des IN-Objekts ausgegeben:
--- MAP IN ------- Txt -> string(hello, world) refs:1 --- END MAP IN ---
Offenbar liegt also das Problem darin, dass die Komponente
nicht IN.TXT
, sondern IN.Txt
heisst, was zum Skriptabbruch führte (in iG/Script ist die Gross-
bzw. Kleinschrift von Komponentennamen wesentlich).
Für das Debugging eignen sich ausserdem die Methoden
|
Das oben beschriebene Verfahren kann aber mühsam sein, wenn man jedesmal den Skript starten und dann diverse Eingaben interaktiv machen muss, bis dann der Skript endlich an der Problemstelle abbricht. Man kann daher die Testläufe automatisieren, indem man mit der ICS Kommandozeile arbeitet und den Skript mit allen notwendigen Parametern aufstartet. Der Skript fragt dann nicht mehr interaktiv nach Parametern (s.a. INTERLIS Tools Benutzerhandbuch für alle möglichen Parameter). Nachfolgend ist ein Beispiel mit der ICS Kommandozeile angegeben:
ics.exe -script \il2dxf\Grunddatensatz.cfg -input test.itf -output test.dxf
Bei sehr vielen Parametern kann man ausserdem eine
Optionendatei (hier: test.opt
) wie folgt
anlegen:
script \il2dxf\Grunddatensatz.cfg input test.itf output test.dxf log c:\test.log ... etc.
Die Optionendatei test.opt
kann man dann
wie folgt anwenden:
ics.exe -opt test.opt
Muss man sehr viele Dateien verarbeiten, ist es sinnvoll, eine Batchdatei anzulegen.
Beispiel 5. Batchdatei translate.bat
ICS_DIR\system\bin\ics.exe -script \script\il2dxf\Grunddatensatz.cfg \ -input test1.itf -output test1.dxf ICS_DIR\system\bin\ics.exe -script \script\il2dxf\Grunddatensatz.cfg \ -input test2.itf -output test2.dxf ICS_DIR\system\bin\ics.exe -script \script\il2dxf\Grunddatensatz.cfg \ -input test3.itf -output test3.dxf ... etc. ... ICS_DIR\system\bin\ics.exe -script \script\il2dxf\Grunddatensatz.cfg \ -input testn.itf -output testn.dxf
Die Batchdatei translate.bat kann man dann von der MSDOS Kommandozeile wie folgt aufrufen:
$ translate.bat
Für eine noch höhere Autmatisierung kann man den Batchaufruf
ausserdem in einen Systemtask (Geplante Tasks
in der
Windows-Systemsteuerung) einbetten, welcher dann zu einem bestimmten
Zeitpunkt jeweils wieder ausgeführt wird. Konsultieren Sie dazu die
entsprechenden Dokumentationen der Windows Betriebssysteme.
Schliesslich steht mit dem GeoShop ein Produkt zur Verfügung mit dem man jeden ICS Script ins Intra- oder Internet stellen kann. Mögliche GeoShop Anwendungen sind:
Automatisierte Lieferung von Daten an Dritte via Dateisystem, FTP oder E-Mail.
Automatische Verrechnung der Datenbezüge.
Visualisierung der Daten im Internet- bzw. Intranet.
etc.
Das Produkt GeoShop ist in seperaten Benutzerhandbüchern beschrieben.