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

 

Oracle Spatial

Für den Zugriff auf ORACLE-SDO Ebenen sind umfangreiche Einstellungen möglich/nötig.

Im besonderen die Beschaffung von Informationen zu der geographischen Ausdehnung der Ebenenelemente ist nicht immer ganz trivial. Iwan kann mit diesen (ansonsten optionalen) Informationen einige Optimierungen vornehmen.

Da iwan als Quellenangabe jedes abfragbare Datenbankobjekt (Tabellenname, Synonyme, View, Select - Statements usw.) akzeptiert, greift er nicht direkt auf die Informationen in der SDO_GEOM_METADATA Tabelle zu.

Wenn der Zugriff auf die USER_SDO_GEOM_METADATA Informationen möglich ist, kann durch einen View auf diese Informationen zugegriffen werden.

Ist die Angabe nicht einfach möglich, verwenden Sie alternativ den Parameter theInitExtent.

View für die Extent-Ermittlung im iwan Stil
CREATE OR REPLACE VIEW VW_IWANSTYLE_EXTENTS AS
(
SELECT
XVALS.TABLE_NAME SOURCE,
XVALS.XMIN XMIN,
YVALS.YMIN YMIN ,
XVALS.XMAX XMAX,
YVALS.YMAX YMAX
FROM
(SELECT
e.sdo_lb as xmin,
e.sdo_ub as xmax,
G.TABLE_NAME,G.COLUMN_NAME
from
user_Sdo_geom_metadata G,
TABLE(G.diminfo)e
WHERE
e.sdo_dimname='X') XVALS,
(SELECT
e.sdo_lb as ymin,
e.sdo_ub as ymax,
G.TABLE_NAME,G.COLUMN_NAME
from
user_Sdo_geom_metadata G,
TABLE(G.diminfo)e
WHERE
e.sdo_dimname='Y') YVALS
WHERE
XVALS.TABLE_NAME = YVALS.TABLE_NAME AND XVALS.COLUMN_NAME = YVALS.COLUMN_NAME
);
Ermittlung der Ausdehnung aller Elemente einer Tabelle

Wenn Sie Probleme bei der Zuweisung der DIMINFO Daten für USER_SDO_GEOM_METADATA haben, hilft Ihnen dieses PL/SQL Skript weiter.


DECLARE
  v_tableName  VARCHAR(50) := 'ALK_FL';
v_columnName VARCHAR(50) := 'GEOM'; BEGIN
UPDATE user_sdo_geom_metadata SET diminfo =
(SELECT
MDSYS.SDO_DIM_ARRAY(
MDSYS.SDO_DIM_ELEMENT('X', EX.XMIN, EX.XMAX, .005),
MDSYS.SDO_DIM_ELEMENT('Y', EX.YMIN, EX.YMAX, .005))
FROM
(SELECT v.constVal,
SUM(DECODE(v.idx,1,v.column_value,0)) xmin,
SUM(DECODE(v.idx,2,v.column_value,0)) ymin,
SUM(DECODE(v.idx,3,v.column_value,0)) xmax,
SUM(DECODE(v.idx,4,v.column_value,0)) ymax
FROM
(SELECT
b.COLUMN_VALUE, rowNum idx,
1 constVal
FROM
(SELECT SDO_TUNE.EXTENT_OF(v_tableName,v_columnName) geom
FROM dual) a,
TABLE(a.geom.sdo_ordinates) b
)v
GROUP BY v.constVal
ORDER BY v.constVal
)EX
)
WHERE
TABLE_NAME = v_tableName AND COLUMN_NAME=v_columnName;
END;
/

Druckersymbol Druckversion dieser Seite 

Zuletzt geändert am 25.05.05 (rn)
Seitenalias: "HOWTOS$ORACLE OracleSpatial"
   Sitemap | IDU Homepage: [http://www.idu.de] cardo Homepage: [http://www.cardogis.com] GDDB Homepage: [http://www.gddb.de]