gvSIG bugs #5834
Falla al crear una tabla con una geometria 3D en oracle.
| Status: | Fixed | % Done: | 0% | |
|---|---|---|---|---|
| Priority: | Normal | Spent time: | - | |
| Assignee: | ||||
| Category: | Database | |||
| Target version: | 2.6.1-4006 | |||
| Severity: | Minor | Add-on version: | ||
| gvSIG version: | 2.6.0 | Add-on build: | ||
| gvSIG build: | 4000 | Add-on resolve version: | ||
| Operative System: | Add-on resolve build: | |||
| Keywords: | Proyecto: | |||
| Has patch: | Hito: | |||
| Add-on name: | Unknown |
Description
El error que se produce tiene que ver con las dimensiones de la geometria.
Falla con geometrias 3D; pero no esta claro si es al crear el indice o al hacer la query.
Documentacion al respecto se puede consultar Aqui
Associated revisions
refs #5834, correcciones en la creacion de indices espaciales con mas de 2 dimensiones.
History
#1
Updated by Joaquín del Cerro Murciano about 2 years ago
Parece que habia una incongruencia en como se estaba creando la columna geometria.
Para crearla, por un lado se insertaban las cosas en la tabla OGIS_GEOMETRY_COLUMNS y por otro se creaba el indice:
INSERT INTO MDSYS.OGIS_GEOMETRY_COLUMNS (
F_TABLE_SCHEMA, F_TABLE_NAME, F_GEOMETRY_COLUMN, GEOMETRY_TYPE)
VALUES ('P1', 'TEST', 'GEOMETRY', 1001);
CREATE INDEX "SDX_TEST_GEOMETRY" ON "TEST" ("Geometry")
INDEXTYPE IS MDSYS.SPATIAL_INDEX PARAMETERS ('LAYER_GTYPE=POINT');
El problema es que al insertar los datos en la tabla OGIS_GEOMETRY_COLUMNS se indicaba que era una geometria de tipo punto 3d (1001), y al crear el indice, en los PARAMETERS no se indicaba dimensiones y por defecto se asume 2D.
Tras la correccion las sentencias que se crean son:
INSERT INTO MDSYS.OGIS_GEOMETRY_COLUMNS (
F_TABLE_SCHEMA, F_TABLE_NAME, F_GEOMETRY_COLUMN, GEOMETRY_TYPE)
VALUES ('P1', 'TEST', 'GEOMETRY', 1001);
CREATE INDEX "SDX_TEST_GEOMETRY" ON "TEST" ("Geometry")
INDEXTYPE IS MDSYS.SPATIAL_INDEX PARAMETERS ('SDO_INDX_DIMS=3,LAYER_GTYPE=POINT');
Ahora siempre se indica el parametro SDO_INDX_DIMS, siendo de 2 para geometrias 2D, 3 para las 3D y 2DM, y de 4 para las 3DM.
#2
Updated by Joaquín del Cerro Murciano about 2 years ago
- Status changed from New to Fixed