Skip to main content
naming
Source Link
Vince
  • 20.5k
  • 16
  • 49
  • 65

I am using Oracle spatialSpatial

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))

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))

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))
Source Link

Insert a Point whose longitude is over date line at Oracle

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))