블로그 이미지
다엄
잘해야지

calendar

1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

Notice

    'Programming/Oracle'에 해당되는 글 3

    1. 2010.06.20 oracle sdo_geometry 사용방법
    2010. 6. 20. 22:58 Programming/Oracle
    // table을 생성해준다.
    create table table_name(
     id NUMBER PRIMARY KEY,
     shape SDO_GEOMETRY
    );

    // sdo_geometry를 사용하기 전에 메타데이터를 생성해줘야한다.
    INSERT INTO user_sdo_geom_metadata
    (TABLE_NAME,
    COLUMN_NAME,
    DIMINFO,
    SRID)
    VALUES (
    'table_name', <-------- table 이름
    'shape', <------------- sdo_geometry 속성의 필드 이름
    SDO_DIM_ARRAY(
    SDO_DIM_ELEMENT('Longitude', -180, 180, 0.5), -- 10 meters tolerance
    SDO_DIM_ELEMENT('Latitude', -90, 90, 0.5)
    ),
    8307 -- SRID for 'Longitude / Latitude (WGS 84)' coordinate system
    );


    // 메타데이터 생성 후 인덱스를 걸어준다.

    // 인덱스를 걸고 나면, 데이터 파싱 시 잘못된 데이터 타입이 들어가면 에러처리가 된다.
    create index index_name on tablename(columnname) indextype is mdsys.spatial_index;


    // 테이블 생성 -> 메타데이터 생성 -> 인덱스 생성 까지 한 후 데이터를 넣어본다.
    // 데이터가 제대로 들어갔는지 확인하고 싶으면 다음과 같이 확인한다.
    // (제대로 된 SDO객체가 들어왔는지 확인하는 유효성 검사이다.
    // id와 유효성 검사 결과(true)가 뜬다. true가 아니면 잘못된 것임)
    SELECT id, SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT(shape, 0.5) FROM table_name

    posted by 다엄
    prev 1 2 3 next