Letzte Änderung:  
29.03.2010 13:10:12
 
ein Counter...
Anmelden
  Dokumentation - [How-To's] - [PostGreSQL / PostGIS]  
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 PostGreSQL / PostGIS

Ab der Iwan Version 3.2.x wird der Zugriff auf Postgres Ebenen unter der Erweiterung Postgis vollständig unterstützt (im folgenden PG). Für den Zugriff wird der Ebenentyp "AddTheODBCLayer" verwendet. Diese zugegebenermaßen etwas verwirrende Bezeichnung hat einen historischen Ursprung. Die Performance mit den ODBC Treibern war nicht sehr gut, daher wurde intern die PG-API verwendet. Um die Ebenentypen gering zu halten findet der Parameter "theDatabase" Verwendung um die Nutzung der PG-API zu aktivieren. Dadurch wurden gegenüber dem ODBC Zugriff deutliche Perfomancesteigerungen erzielt.

Iwan verwendet für den datensatzbasierten Zugriff über die Funktion GetRowByRowId des  Layerobjektes standardmäßig die Spalte "OID" (siehe Parameter "theIdField") . Für diese sollte immer ein Index erstellt werden. Alternativ ist jede andere Spalte oder die Angabe des Wertes "NONE" möglich.

Verbindungsparameter

Bei der Erstellung der Verbindungszeichenfolge muss beachtet werden, dass kein ODBC - ConnectionString, sondern die PG konforme Darstellung erwartet wird. Die PG Konvention erlaubt die Angabe der Parameter in einer durch Leerzeichen separierten Form. Die einzelnen Parameter sind dabei durch ein = - Zeichen zu trennen.

Hier ein Beispiel für eine gültige Verbindunszeichenfolge:

user=postgres password=XXX host=localhost dbname=geo port=5433

Datenquellen

Als Quelle kann jedes Datenbankobjekt verwendet werden, auf welches ein "SELECT * ..." anwendbar ist. D.H., dass für Statements als Datenquelle eine Klammerung und die Definition eines Alias nötig ist.

Beispiele für gültige Datenquellen sind:

tbl_geodaten

(SELECT THE_GEOM,OID,ID FROM TBL_MYGEOM WHERE ...) AS TBL1

Beschriftungen mit PostGIS

Für die Erstellung einer Ebene nur für Beschriftungen können einige Sonderparameter definiert werden. Dabei wird der Erste und der Letzte Punkt der Geometrie (des ersten Part's) als Richtungsvektor verwendet. Die Argumente sind ...

....
theTextField:"text",
theSizeField:"isize",
theJustifyField:"just",
theSrid:"31469"
....

Bekannte Probleme

Zur Zeit werden keine Felder des Datentyps "NUMERIC" ausgewertet. Die Präzision spielt dabei keine Rolle.

Ebenso sind Probleme bei dem Zugriff auf UNICODE Zeichenfolgen bekannt. Wenn möglich sollte auf diese verzichtet werden.

Werden Klassifikationen nicht in Form von ILF Dateien angewendet, setzt iwan ein "SELECT DISTINCT ...)" gegen die Datenquelle ab. Dieser Vorgang kann u.U. sehr viel Zeit in Anspruch nehmen.

Ebenso wird, wie bei jeder Datenquelle, versucht die Ausdehung aller Elemente und die Anzahl der Objekte beim Laden der Ebene zu ermitteln. Auch dabei kann es zu erheblichen Verzögerungen bei der ersten Bereistellung kommen.

Zur Optimierung dieses Vorganges kann der Parameter "theExtentInfo" verwendet werden. Die Angabe von "NONE" ermittelt keinerlei weitere Informationen. Iwan kann in diesem Fall allerdings auch keine Abfrageoptimierungen durchführen.

Verwenden Sie alternativ den Parameter theInitExtent.

Beispiel(e)
ret=ExecOld("AddTheODBCLayer",
	theServer:"user=usr password=xxxx host=srv1 dbname=geo port=5433",
	theLayer:"(SELECT * FROM alk_flurst WHERE ART = 1) AS A",
	theType:"OGC",
	theField:"the_geom",
	theSymbol:"41",
	UseDrawSel:true,
	theName:"PG_FL",
	theMaxScale:10000,
theIdField:"OID", theDescription:"ALK - Flurstücke Postgres 8", theDataBase:"POSTGRES", theExtentInfo:"NONE");
Druckersymbol Druckversion dieser Seite 

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