|
Probleme mit SDO - Ebenen
Wenn Sie beim Zeichnen einer SDO - Ebene keine Elemente auf der Karte zu sehen bekommen, sollten Sie mal mit ITC nachsehen, was denn Iwan so treibt (das trifft im übrigen auch auf alle andere Ebenen zu...). Sie erhalten beim TraceLevel Detail das Statement, welches an die Datenbank abgesetzt wird. Gibt es dabei Fehler, so stehen diese in der Regel dabei. Sie können aber auch einfach mal das Statement rauskopieren und direkt an die Datenbank schicken.
Im Folgenden sind einige häufige Fehler näher erläutert:
Ebene ohne Spatialindex
Alle Geometriespalten, die IWAN zum zeichnen verwenden soll, benötigen unbedingt einen SpaltialIndex. Ansonsten ist folgender Fehler festzustellen:
ORA-13226: interface not supported without a spatial index
Erstellen Sie zuerst einen Eintrag in der USER_SDO_GEOM_METADATA - Tabelle:
INSERT INTO USER_SDO_GEOM_METADATA (TABLE_NAME,COLUMN_NAME,DIMINFO,SRID) VALUES ('TABNAME','GEOCOLUMN',MDSYS.SDO_DIM_ARRAY( MDSYS.SDO_DIM_ELEMENT('X', 4500000, 6000000, .00000005), MDSYS.SDO_DIM_ELEMENT('Y', 5000000, 6000000, .00000005)) ,82034);
Legen Sie dann den Index mit folgendem Statement an:
CREATE INDEX INDEX_NAME ON TABNAME (GEOCOLUMN) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARAMETERS(' SDO_INDX_DIMS=2');
Nicht vergessen TABNAME, GEOCOLUMN und die SRID (82034 = GK5) an Ihre Gegebenheiten anzupassen ;)
Falsche SRID
Wenn Geometrien im Oracle mit SRID gespeichert sind, ist diese SRID IWAN bekannt zu geben. Ansonsten erscheint folgender Fehler:
ORA-13208: internal error while evaluating [window SRID does not match layer SRID] operator
Dazu ist die Eigenschaft theSRID:"82034" bei den sonstigen Scriptanweisungen zu vergeben. Die Nummer ist entsprechend anzupassen. Wurde keine SRID vergeben, muß die Eigenschaft nicht gesetzt werden.
Zeichenvorgang bricht mit Fehler ORA 00600 ab
Wir haben bei einigen Ebenen feststellen können, daß der SpatialIndex sporadisch scheinbar nicht mehr funktioniert. Das betrifft scheinbar nur einige Elemente der Ebene - man sieht die Objekte im allgemeinen, aber wenn man in den Bereich kommt, wo ein solches "kaputtes" Element im Kartenausschnitt enthalten ist, sieht man plötzlich kein Objekt dieser Ebene mehr. Oracle vermeldet dann:
ORA-00600: Interner Fehlercode, Argumente: [kdsgrp1], [], [], [], [], [], [], [].
Ein Löschen und Neuerstellen des SpatialIndex hat das Problem bei uns bisher immer behoben.
|