잡동사니
[오라클] WKB 데이터 Simpling 하기 본문
안녕하세요. yeTi입니다.
오늘은 WKB(Well-Known Binary)형태를 가지는 Blob형 Geometry 데이터를 오라클에서 지원하는 SDO_UTIL 패키지를 활용하여 Simpling하는 방법에 대해서 알아보겠습니다.
설명
- WKB형태의 BLOB형 데이터를 Simpling
- threshold : Simpling할 간격
- tolerance : Point를 식별할 간격
쿼리
UPDATE [테이블 명]
SET [WKB형 BLOB 컬럼명] = (
SELECT SDO_UTIL.TO_WKBGEOMETRY(
SDO_UTIL.RECTIFY_GEOMETRY(
SDO_UTIL.SIMPLIFY(
SDO_GEOMETRY([WKB형 BLOB 컬럼명], [SRID]),
10, -- threshold value for geometry simplification
0.005 -- tolerance
), 0.005 -- tolerance
)
)
FROM [테이블 명]
)
응용 PL/SQL문
설명
- Geometry의 Vertex수가 일정 수 이상이면 Simpling 수행
쿼리
declare
VERTEX_CNT NUMBER;
BEGIN
SELECT SDO_UTIL.GETNUMVERTICES(SDO_GEOMETRY([WKB형 BLOB 컬럼명], [SRID]))
INTO VERTEX_CNT
FROM [테이블 명];
IF VERTEX_CNT > [기준 Vertex 수]
THEN
UPDATE [테이블 명]
SET [WKB형 BLOB 컬럼명] = (
SELECT SDO_UTIL.TO_WKBGEOMETRY(SDO_UTIL.RECTIFY_GEOMETRY(SDO_UTIL.SIMPLIFY(
SDO_GEOMETRY([WKB형 BLOB 컬럼명], [SRID]),
10, -- threshold value for geometry simplification
0.005 -- tolerance
), 0.005 -- tolerance
))
FROM [테이블 명]
);
COMMIT;
END IF;
END;
참고 문헌
'IT > Database' 카테고리의 다른 글
[오라클] '파일을 찾을 수 없음 WFMLRSVCApp.ear' 해결 방법 (6) | 2016.11.23 |
---|---|
[MariaDB] 쿼리 모음 (0) | 2016.10.24 |
[성능 비교] Oracle과 MariaDB간 간단 성능 비교 자료 (0) | 2016.10.24 |
[오라클] BLOB 타입의 데이터로 면적 알아보기 (2) | 2016.06.20 |
[오라클] 명령어 모음 (0) | 2016.05.26 |