I am using Oracle Spatial
table structure
CREATE TABLE "MINTAKA"."GRID_POINT_BOUNDARY"
(
"BOUNDARY_ID" NUMBER(19,0),
"BOUNDARY_DEF" MDSYS.SDO_GEOMETRY NOT NULL ENABLE,
CONSTRAINT "GRID_POINT_BOUNDARY_PK" PRIMARY KEY ("BOUNDARY_ID") ENABLE
)
configure the longitude and latitude range
INSERT INTO USER_SDO_GEOM_METADATA (TABLE_NAME, COLUMN_NAME, DIMINFO, SRID)
VALUES ('GRID_POINT_BOUNDARY',
'BOUNDARY_DEF',
SDO_DIM_ARRAY( -- in our case, we only have 2 dimensions, latitude and longitude
SDO_DIM_ELEMENT('Longitude', -180, 180, 0.0001),
SDO_DIM_ELEMENT('Latitude', -90, 90, 0.0001)
),
4326
);
create the index at the spatial column
CREATE INDEX GRID_POINT_BOUNDARY_DEF_IDX ON MINTAKA.GRID_POINT_BOUNDARY (BOUNDARY_DEF) INDEXTYPE IS MDSYS.SPATIAL_INDEX
so why I still can successfully register a point whose longtitue is over 180 at the Oracle db??
INSERT INTO GRID_POINT_BOUNDARY (BOUNDARY_ID, BOUNDARY_DEF)
VALUES (1234, MDSYS.SDO_GEOMETRY(2001, 4326, NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1, 1, 1), MDSYS.SDO_ORDINATE_ARRAY(185.0, -42.001))