Dear everyone
I am attempting to workout which polygons cover the same area in order to determine distinct polygons. This is so I can then have just one copy of a polygon to a new table and delete all the duplicate polygons in the current table.
I ran the following first to check something:
SELECT SDO_GEOM.RELATE
(A.geographical_coordinates,
'DETERMINE',
B.geographical_coordinates,
0.05) relationship
FROM MAP_INDEX A,
MAP_INDEX B
where A.geographical_coordinates is not NULL
and B.geographical_coordinates is not NULL;
but got the error message:
Error starting at line 1 in command:
SELECT DISTINCT A.mi_prinx,
SDO_GEOM.RELATE
(A.geographical_coordinates,
'EQUAL',
B.geographical_coordinates,
0.05)
FROM MAP_INDEX A,
MAP_INDEX B
where A.geographical_coordinates is not NULL
and B.geographical_coordinates is not NULL
Error report:
SQL Error: ORA-13000: dimension number is out of range
ORA-06512: at "MDSYS.SDO_GEOM", line 70
ORA-06512: at "MDSYS.SDO_GEOM", line 2647
13000. 00000 - "dimension number is out of range"
*Cause: The specified dimension is either smaller than 1 or greater than
the number of dimensions encoded in the HHCODE.
*Action: Make sure that the dimension number is between 1 and the maximum
number of dimensions encoded in the HHCODE.
I then tried the following:
SELECT DISTINCT A.mi_prinx,
SDO_GEOM.RELATE
(A.geographical_coordinates,
'EQUAL',
B.geographical_coordinates,
0.05)
FROM MAP_INDEX A,
MAP_INDEX B
where A.geographical_coordinates is not NULL
and B.geographical_coordinates is not NULL
which produced the following error message:
Error starting at line 1 in command:
SELECT
SDO_GEOM.RELATE
(A.geographical_coordinates,
'EQUAL',
B.geographical_coordinates,
0.05) relationship
FROM MAP_INDEX A,
MAP_INDEX B
Error report:
SQL Error: ORA-13050: unable to construct spatial object
ORA-06512: at "MDSYS.SDO_3GL", line 4
ORA-06512: at "MDSYS.MD2", line 771
ORA-06512: at "MDSYS.SDO_GEOM", line 2622
ORA-06512: at "MDSYS.SDO_GEOM", line 2649
13050. 00000 - "unable to construct spatial object"
*Cause: This is an internal error.
*Action: Contact Oracle Support Services.
Does anyone have any idea as to what I might doing wrong? The original polygons were created in MapInfo Professional 8 and I am working in 10.2g
I believe Imust be doing something wrong. I looked into SDO_GEOM_VALIDATE but again that produce the same error message as the first one. I have previously created a spatial index and inserted the values into the USER_SDO_GEOM_METADATA view.
I have been able to get the following to work, I was testing out examples online just to see if I could produce a result on an sdo function:
SELECT NAME_OF_FEATURE, SDO_GEOM.SDO_AREA(GEOGRAPHICAL_COORDINATES,M.DIMINFO)
FROM MAP_INDEX, user_sdo_geom_metadata M
WHERE M.TABLE_NAME='MAP_INDEX' AND M.COLUMN_NAME='GEOGRAPHICAL_COORDINATES'
AND geographical_coordinates is not null;
When I drew my polygons in MapInfo, they are likely to have gone partly outside of the boundary dimension values inserted in USER_SDO_GEOM_METADATA. Is that likely to be the cause of my problems or something else?
If it is the cause, is there away of setting up Oracle or MapInfo so that anything drawn outside of the dimension area is clipped.
Kind regards
Tim