기초번호위치정보DB
안전 사고 발생에 대한 신속 대응 및 내비게이션 등에 위치정보 제공을 위한 기초번호 중심점 좌표정보를 제공합니다.
기초번호 위치정보란 도로시작점에 20m 간격으로 나누어진 구간의 중심점 좌표(X,Y)를 추출한 정보입니다.
기초번호 중심점 좌표는 WGS84타원체의 경위도좌표입니다.(매월말 기준 전체 및 월변동 자료,일변동 자료제공)
기초번호 위치정보란 도로시작점에 20m 간격으로 나누어진 구간의 중심점 좌표(X,Y)를 추출한 정보입니다.
기초번호 중심점 좌표는 WGS84타원체의 경위도좌표입니다.(매월말 기준 전체 및 월변동 자료,일변동 자료제공)
기초번호 위치정보 구축 및 현행화
- 기초번호 위치정보DB 레이아웃
기초번호 위치정보DB 레이아웃
순번 | 컬럼명 | 크기 | 형식 | PK | 비고 |
---|---|---|---|---|---|
1 | 시군구코드 | 5 | 문자 | PK | |
2 | 기초구간일련번호 | 10 | 숫자 | PK | |
3 | 기초번호본번 | 5 | 숫자 | PK | 도로중심선 기준 왼쪽: 홀수, 오른쪽: 짝수 |
4 | 기초번호부번 | 5 | 숫자 | PK | |
5 | 도로구간일련번호 | 12 | 숫자 | 도로구간연계KEY | |
6 | 시도명 | 40 | 문자 | ||
7 | 시군구명 | 40 | 문자 | ||
8 | 읍면동코드 | 8 | 문자 | 시군구코드(5)+읍면동코드(3) 참고정보(중심점좌표가 위치한 읍면동) | |
9 | 읍면동명 | 40 | 문자 | 참고정보(중심점좌표가 위치한 읍면동) | |
10 | 도로명코드 | 7 | 문자 | ||
11 | 도로명 | 80 | 문자 | ||
12 | 도로구간시점 | 80 | 문자 | ||
13 | 도로구간종점 | 80 | 문자 | ||
14 | 중심점좌표_X | 14 | 문자 | 도로 중심선으로부터 좌우로 1.5m 떨어진 지점의 기초번호 중심점 좌표, 경위도(WGS84) |
|
15 | 중심점좌표_Y | 14 | 문자 | 도로 중심선으로부터 좌우로 1.5m 떨어진 지점의 기초번호 중심점 좌표, 경위도(WGS84) |
변동분 DB 레이아웃
순번 | 컬럼명 | 크기 | 형식 | PK | 비고 |
---|---|---|---|---|---|
1 | 시군구코드 | 5 | 문자 | PK | |
2 | 기초구간일련번호 | 10 | 숫자 | PK | |
3 | 기초번호본번 | 5 | 숫자 | PK | 도로중심선 기준 왼쪽: 홀수, 오른쪽: 짝수 |
4 | 기초번호부번 | 5 | 숫자 | PK | |
5 | 도로구간일련번호 | 12 | 숫자 | 도로구간연계KEY | |
6 | 시도명 | 40 | 문자 | ||
7 | 시군구명 | 40 | 문자 | ||
8 | 읍면동코드 | 8 | 문자 | 시군구코드(5)+읍면동코드(3) 참고정보(중심점좌표가 위치한 읍면동) | |
9 | 읍면동명 | 40 | 문자 | 참고정보(중심점좌표가 위치한 읍면동) | |
10 | 도로명코드 | 7 | 문자 | ||
11 | 도로명 | 80 | 문자 | ||
12 | 도로구간시점 | 80 | 문자 | ||
13 | 도로구간종점 | 80 | 문자 | ||
14 | 중심점좌표_X | 14 | 문자 | 도로 중심선으로부터 좌우로 1.5m 떨어진 지점의 기초번호 중심점 좌표, 경위도(WGS84) |
|
15 | 중심점좌표_Y | 14 | 문자 | 도로 중심선으로부터 좌우로 1.5m 떨어진 지점의 기초번호 중심점 좌표, 경위도(WGS84) |
|
16 | 이동사유코드 | 1 | 숫자 | C : 신규 , U : 변경, D : 삭제 | |
17 | 변경일시 | 8 | 문자 |
전월 기준 전체자료에 변동분만을 갱신하여 최신상태로 유지할 수 있습니다.
- C : 신규 도로명주소로 INSERT 수행
- U : PK컬럼을 기준으로 데이터에 변동이 발생한 건 UPDATE 수행
- D : 폐지된 도로명주소로써 PK컬럼을 기준으로 DELETE 수행
- C : 신규 도로명주소로 INSERT 수행
- U : PK컬럼을 기준으로 데이터에 변동이 발생한 건 UPDATE 수행
- D : 폐지된 도로명주소로써 PK컬럼을 기준으로 DELETE 수행
- 변동자료 현행화
기초번호 위치정보 신규 및 변경 처리
/*
신규 건 처리
- 신규분외에 누락된 자료가 있을 경우를 위해 UPDATE 후 INSERT하도록 구현
*/
UPDATE 기초구간위치정보 A
SET (A.도로구간일련번호,A.시도명,A.시군구명,A.읍면동코드……) =
(SELECT 도로구간일련번호,시도명,시군구명,읍면동코드…… FROM 기초구간위치정보변경분 B
WHEREB.시군구코드 = A.시군구코드
AND B.기초구간일련번호 = A.기초구간일련번호
AND B.기초번호본번 = A.기초번호본번
AND B.기초번호부번 = A.기초번호부번
AND B.이동사유코드 = 'U')
WHERE EXISTS (SELECT 1 FROM 기초구간위치정보변경분 C WHERE C.시군구코드 = A.시군구코드
AND C.기초구간일련번호 = A.기초구간일련번호
AND C.기초번호본번 = A.기초번호본번
AND C.기초번호부번 = A.기초번호부번
AND C.이동사유코드 = 'U')
INSERT INTO 기초구간위치정보 (도로구간일련번호,시도명,시군구명,읍면동코드……)
SELECT 도로구간일련번호,시도명,시군구명,읍면동코드…… FROM 기초구간위치정보변경분 A
WHERE A.이동사유코드 = 'C'
AND NOT EXISTS (SELECT 1 FROM 기초구간위치정보 B WHERE B.시군구코드 = A.시군구코드
AND B.기초구간일련번호 = A.기초구간일련번호
AND B.기초번호본번 = A.기초번호본번
AND B.기초번호부번 = A.기초번호부번)
/* ORACLE 9i이상 버전에서 MERGE문 사용 예시 */
MERGE INTO 기초구간위치정보 A
USING (SELECT 기초번호본번,기초번호부번,도로구간일련번호…… FROM 기초구간위치정보변경분 WHERE 이동사유코드 IN ('C','U')) B
ON (A.시군구코드 = B.시군구코드 AND A.기초구간일련번호 = B.기초구간일련번호 AND A.기초번호본번 = B.기초번호본번 AND A.기초번호부번 = B.기초번호부번)
WHEN MATCHED THEN
UPDATE SET A.도로구간일련번호 = B.도로구간일련번호, A.시도명 = B.시도명, A.시군구명 = B.시군구명,........
WHEN NOT MATCHED THEN
INSERT (A.도로구간일련번호,A.시도명,A.시군구명,A.읍면동코드,……)
VALUES (B.도로구간일련번호,B.시도명,B.시군구명,B.읍면동코드,……)
-- 폐지처리
DELETE FROM 기초구간위치정보 A
WHERE EXISTS (SELECT 1 FROM 기초구간위치정보변경분 B WHERE B.시군구코드 = A.시군구코드
AND B.기초구간일련번호 = A.기초구간일련번호
AND B.기초번호본번 = A.기초번호본번
AND B.기초번호부번 = A.기초번호부번
AND B.이동사유코드 = 'D')