Letzte Änderung:  
29.03.2010 13:10:12
 
ein Counter...
Anmelden
  Dokumentation - [How-To's] - [ESRI Geodatabase]  
Bild Über IWAN
Bild Das Produkt
Bild ein wenig Technik
Bild Referenzen
Bild Open GIS
Bild History
Bild Aktuelle Änderungen

Bild Dokumentation
Bild Datenzugriff
Bild IwanScript
Bild Symbole und Klassifikation
Bild How-To's
PixelBild ESRI Geodatabase
PixelBild Kartenausgestaltung
PixelBild PostGreSQL / PostGIS
PixelBild Oracle Spatial
PixelBild Kartenqualität
PixelBild Rasterdatenoptimierungen
Bild Beispielskripten

Bild Kontakt/Impressum
Bild Kontakt
Bild Impressum
Bild Haftungsausschluss
Bild Copyright
Bild Weitere Links

 

Zugriff auf ESRI Geodatabase

Iwan ist in der Lage binär gespeicherte Informationen aus ODBC Datenbanken zu lesen. Dabei handelt es sich um ein Format, welches dem der ESRI Shapedateien ähnelt. Dieses Format existiert bei uns seit einigen Jahren. Die Firma ESRI hat mit der Einführung der ArcGIS Produktfamilie ebenfalls eine datenbankbasierte Speicherfrom für Geodaten ermöglicht, die "Personal Geodatabase". Es handelt sich dabei um eine JET Datenbank (auch bekannt als Access Datenbank). Die binären Daten werden dabei in einer der Shape-Datei ähnlichen Struktur abgelegt. Der Zugriff (mit Einschränkungen) durch iwan ist mit dem Befehl "AddTheODBCLayer" möglich.

Verbindungsparameter

Bei der Datenquelle handelt es sich um eine JET Datenbank. Für diese stehen auf jedem Rechner die ODBC Provider von Microsoft zur Verfügung. Die Verbindungszeichenfolge lautet dabei:

Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\myDb.mdb;

Datenquellen

Iwan erwartet für eine ODBC Datenquelle vom Typ "BLOB" (Binary-Large-Objects) immer vier weitere Spalten für die Abfrage der räumlichen Ausdehung eines jeden Objekts. In der GDB muss für diese Abfrage ein View (Abfrage) bereitgestellt werden. Die Informationen sind über eine Tabelle mit dem Präfix "_Shape_index" zu beziehen.

Die Ausdehnung für jedes Objekt kann als ganzzahliges Vielfaches der Index-Gridsize gespeichert werden. Dabei muss der Wert aus der Tabelle GDB_GeomColumns ermittelt und in der Abfrage berücksichtigt werden.

SELECT
([MinGX]-1)*1228.5 AS XMIN,
([MinGY]-1)*1228.5 AS YMIN,
([MaxGX]+1)*1228.5 AS XMAX,
([MaxGY]+1)*1228.5 AS YMAX,
skn_l.*
FROM
skn_l_Shape_Index
INNER JOIN
skn_l ON skn_l_Shape_Index.IndexedObjectId = skn_l.OBJECTID;

Bei dieser Abfrage wird die Tabelle SKN_L gegen die Indextabelle SKN_L_SHAPE_INDEX verknüpft. Die Index-Gridsize beträgt 1228.5 und wurde für die Ermittlung des Extent berücksichtigt.

Alternativ kann die Gridsize natürlich in der Abfrage durch eine Verknüpfung eingefügt werden:

SELECT
([MinGX]-1)*gz.IdxGridSize AS XMIN,
([MinGY]-1)*gz.IdxGridSize AS YMIN,
([MaxGX]+1)*gz.IdxGridSize AS XMAX,
([MaxGY]+1)*gz.IdxGridSize AS YMAX,
FuPoly.*
FROM
(SELECT IdxGridSize
FROM GDB_GeomColumns
WHERE TableName = 'FuPoly') gz,
FuPoly
INNER JOIN FuPoly_Shape_Index ON
FuPoly_Shape_Index.IndexedObjectId = FuPoly.OBJECTID;

Beispiel(e)
connStr="Driver={Microsoft Access Driver (*.mdb)};";
+"Dbq=C:\Temp\THS\geometrie.mdb;"




ret=ExecOld("AddTheODBCLayer", theServer:connStr, theLayer:"VW_SKN", theType:"BINARY", theField:"XMIN|YMIN|XMAX|YMAX|SHAPE", theSymbol:"12", UseDrawSel:true, theName:{toCreate}, theDescription:"SKN - MDB", theFormatString:"ESRISHAPE");
Druckersymbol Druckversion dieser Seite 

Zuletzt geändert am 27.02.06 (rn)
Seitenalias: "ESRIGEODATABASE-HowTo"
   Sitemap | IDU Homepage: [http://www.idu.de] cardo Homepage: [http://www.cardogis.com] GDDB Homepage: [http://www.gddb.de]