Mit dem Skriptmodul können Objekte aus einer Intergraph GeoMedia Access Datenbank gelesen werden. Der Modul unterstützt speziell das GeoMedia Datenmodell und die GeoMedia Geometrien.
Der Modul wird mit:
|INCL \script\gmmdbin.mod
in einer ICS RUN1-Konfiguration verfügbar gemacht.
Der Modul basiert auf dem Modul DBIN. Alle im Modul DBIN beschriebenen Anteile gelten daher auch für den Modul GMMDBIN. Ziehen Sie deshalb die Dokumentationen des Modules DBIN bei.
Folgende Parameter können in der Map DB_PARAM für
den Modul gesetzt werden:
| Parameter | req/opt | Beschreibung |
SOURCE | o | ODBC-Source der Datenbank. Muss gesetzt werden, falls die ODBC-Source nicht interaktiv abgefragt wird. |
USER | o | Datenbank User für die Verbindung mit der ODBC-Source. Muss gesetzt werden, falls die ODBC-Source nicht interaktiv abgefragt wird. |
PASSWORD | o | Datenbank Password für die Verbindung mit der ODBC-Source. Muss gesetzt werden, falls die ODBC-Source nicht interaktiv abgefragt wird. |
| o | ON oder OFF, Default
= OFF. Für jedes gelesene Objekt eine Zeile
ausgeben. |
Folgende Parameter können in der Map DBIN_PARAM
gesetzt werden:
| Parameter | req/opt | Beschreibung |
STATISTICS | o | ON oder OFF, Default
= OFF. Statistik anzeigen. |
SELECT_PARSE | o | ON oder OFF, Default
= ON. Definiert, ob ein eventuelles SQL-select
Statement geparst werden soll. Als Argument für für das Modul kann
ein SQL-select Statement definiert werden. Als Default wird dieses
select-Statement von geparst , um spezielle Attribute zu erkennen,
die vom ODBC-Treiber nicht unterstützt werden und speziell gelesen
werden müssen. Manchmal können select-Statements (komplexe Joins)
nicht erfolgreich geparst werden. In solchen Fällen ist dieser
Parameter auf OFF zu schalten. Sie müssen
besorgt sein, dass das select-Statement von ODBC verarbeitet
werden kann. |
Zur Zeit stehen keine Parameter in der Map
GMMDBIN_PARAM zur Verfügung.
| Parameter | req/opt | Beschreibung |
|
Der Modul liefert pro IN-Objekt folgende Systemkomponenten:
| Komponente | req/opt | Beschreibung |
IN.TABLE(s) | r | Tablename des IN Objekts. |
Alle weiteren Komponenten sind abhängig von der Tabellen-Definition in der Datenbank.
Der Modul beinhaltet alle Prozeduren und Methoden wie der Modul DBIN. Ziehen Sie deshalb die Dokumentationen des Modules DBIN bei. Zusätzlich stellt der Modul GMMDBIN folgende Prozeduren und Methoden zur Verfügung.
| Prozedur | GMMDBIN_OPEN [s input][] |
| Beschreibung | Öffnet eine Datenbank definiert und
liest Objekte von der Datenbank in Abhängigkeit von
<input>. Für
<input> können folgende Werte verwendet
werden.
|
| Beispiel | |
|
| Prozedur | GMMDBIN_READ_OBJECT [][b state] |
| Beschreibung | Liest das nächste IN-Objekt aus der geöffneten Datenbank-Tabelle. Die Prozedur wird von RUN1 automatisch aufgerufen. |
| Beispiel | |
| Prozedur | GMMDBIN_CLOSE [][] |
| Beschreibung | Schliesst den Modul und gibt die durch den Modul belegten Resourcen wieder frei. Die Prozedur wird von RUN1 automatisch aufgerufen. |
| Beispiel | |
Der Modul GMMDBIN stellt zusätzlich folgende Prozeduren und Methoden zur Verfügung.
| Methode | GEOMEDIA.BLOB_TO_GEOM [B blob-geometry][g geometry] |
| Beschreibung | Übersetzt eine GeoMedia Access Geometrie in einem Blob in eine ICS-Geometrie. |
| Beispiel | |
| Methode | GEOMEDIA.BLOB_TO_GEOM [B blob-geometry][(i VAlignment,) (i HAlignment,) (r rotation,) g|li geometry, s type, b status] |
| Beschreibung | Übersetzt eine GeoMedia Geometrie als
BLOB in eine ICS-Geometrie. Kann die Geometry übersetzt werden,
wird als Status TRUE zurückgegen, ansonsten
FALSE. Je nach Geometrie-Type wird die Geometry
als einzelne Geometry oder als Liste von Geometrien zurückgegeben.
Beim GeoMedia-Typ gmpoint wird zusätzlich die Rotation geliefert.
Beim GeoMedia-Typ gmtext wird zusätzlich die Rotation, der Text,
das horizontale und das vertikale Alignment geliefert. Folgende
Typen werden zurückgegeben:
point,line,area,list,gmpoint,gmtext. |
| Beispiel | |
Folgende Konversionen werden
durchgeführt:
|
! Diese ICS Konfiguration zeigt alle von gmmdbin.mod ! gelesenen Objekte in der .log Datei an. |LICENSE \license\iltools.lic MAP USER_INPUT1 DIALOG => FILE MESSAGE => 'Enter Access Input Database' FILE_FILTER => mdb FILE_EXISTS => TRUE OPT => input END_MAP MAP DB_PARAM SOURCE => '' ! ODBC-Source USER => '' ! ODBC-User PASSWD => '' ! ODBC-Password END_MAP MAP DBIN_PARAM STATISTICS => ON END_MAP MAP GMMDBIN_PARAM END_MAP MAP INPUT_SOURCES I1 => GMMDBIN,* END_MAP MAP INOUT I1 => DISPLAY_IN0 END_MAP |INCL \script\gmmdbin.mod |INCL \script\db2il\dbdisplay.out |INCL \script\run1.prg