[foss4g korea 2016] geohash를 이용한 지형도 변화탐지와 시계열 관리
TRANSCRIPT
GeoHash 를 이용한 지형도 변화탐지와 시계열 관리
장병진
2
공간객체 식별자란 ?
출처 : 2015 년 한국인터넷전자상거래학회 / 한국정보시스템학회 / 한국지능정보시스템학회 춘계공동학술대회2014 년 공간객체등록번호 부여사업
3
출처 : 2015 년 한국인터넷전자상거래학회 / 한국정보시스템학회 / 한국지능정보시스템학회 춘계공동학술대회2014 년 공간객체등록번호 부여사업
공간객체 식별자의 활용방안
4
출처 : 2015 년 한국인터넷전자상거래학회 / 한국정보시스템학회 / 한국지능정보시스템학회 춘계공동학술대회2014 년 공간객체등록번호 부여사업
공간객체등록번호 유일식별자 부여
5
출처 : 2015 년 한국인터넷전자상거래학회 / 한국정보시스템학회 / 한국지능정보시스템학회 춘계공동학술대회2014 년 공간객체등록번호 부여사업
공간객체등록번호 유지관리
6
공간객체 식별자 문제점 UFID(34) = A(4) M(9) F(4) C(1) S(15) P(1)• A(4) : 지형지물 관리 기관 코드로서 기본공간정보를 구축 / 관리하는
기관의 코드 • M(9) : 도엽번호 필드로 , 전국을 포괄하는 수치지형도인 1/5,000 을
기준으로 9 자리 구성• F(4) : 기본공간정보를 구성하는 모든 지형지물 ( 예 : 도로경계 ) 에
대해서 일련번호를 부여한 것으로 수치지형도 Ver2.0 레이어 체계로 구성• C(1) : 지형지물에 번호를 부여하는 S 필드의 값을 결정하며 , C 가 1 이면
도엽 내에서의 일련번호로 지형지물에 번호를 부여하고 , C 가 2 이면 기관에서 사용하는 번호로서 지형지물에 번호를 부여
• S(15) : 도엽 내에서 지형지물의 일련번호• P(1) : 오류 확인 코드
지형도가 갱신되면 일련번호 (UFID) 를 겹치지 않게 새로 부여각 시기별 지형도간 일련번호 (UFID) 가 단 1 건도 일치하지 않음 !공간적으로 대부분의 점들이 소수점 아래 5 자리 이하에서 좌표변경
7
지형도의 갱신과정
주기
갱신
수시
갱신
제품
중심
(AS-IS)
기존지도와정사영상
전달
항공촬영 / 정사처리
지형도 전체 레이어 제작 작업
지형도납품
기존 지도와준공도면 전달
확인측량위치편집
납품
기존 지도와준공도면 전달
확인측량위치편집
납품
• 변화객체 판단 불가• 전체 새로운 ID 부여• 변경내용 충돌 발생
기존 지도와준공도면 전달
확인측량위치편집
납품
• 갱신객체 새로운 ID 생성
2 주 단위로 전체 데이터를 백업하여 한 벌로 저장 시계열 불가
8
GeoHash 란 ?
https://en.wikipedia.org/wiki/Geohash , http://geohash.org/wydm3fwt66xt
• Gustavo Niemeyer 가 geohash.org 라는 Web 서비스를 만드는 동안 발명 한 경위도를 기반으로 한 지오코딩 방법의 하나이다 .
• 누구나 쓸 수 있도록 알고리즘이 공개 되어있다 . • 계층 적 공간 데이터 구조이며 , 공간을 분할 해 나감으로써 표현한다 .• 지오 해시는 임의의 정밀도로 표현할 수 있는데 문자열의 수를 줄일수록 정밀도가
떨어지는 특징이 있다 .• 인근의 2 지점을 나타내는 코드는 비슷한 문자열로 구성되는 경우가 많다 .• 동시에 더 많은 문자열이 일치하면 해당 2 점이 더 가까운 것을 나타낸다 .• PostGIS, ArcGIS 등 유명 툴들에서 지원
select ST_GeoHash(ST_GeomFromText('POINT(127.0 37.5)', 4326), 12);-- "wydm3fwt66xt"select ST_GeoHash(ST_GeomFromText('POINT(127.00001 37.5)', 4326), 12);-- "wydm3fwt6dxj"select ST_GeoHash(ST_GeomFromText('POINT(127.0 37.50001)', 4326), 12);-- "wydm3fwt6kx8"select ST_GeoHash(ST_GeomFromText('POINT(127.1 37.50001)', 4326), 12);-- "wydmk4xmkst0"
문자열 이기에 텍스트 색인적용으로 공간연산에 비해 비교속도 월등 적절한 수준으로 정밀도를 제어 가능해 작은 변화 무시 가능 객체의 중심위치와 면적을 이용하면 공간적 특성기반 ID 로 사용 가능
작업용 저장소(PostGIS)
유지관리용 저장소(ArcSDE,
Oracle Spatial, PostGIS)
단방향 통신
단방향 통신
암호화 데이터파일( 승인 즉시 생산 )
암호화 데이터파일( 고시즉시 생산 )복호화시 데이터 검증
복호화시 데이터 검증
외주업무 담당자 전산실외주 업체
필요시 최신자료 전체 덤프
기본데이터 편집
검수 리포트
시계열 관리지원 생산 - 관리단계 아키텍처
생산관리도구
객체의 변화 탐지 방안
- 1 단계 : Geohash 를 이용하여 생성한 12 자리 코드를 키 (key) 값으로 하여 객체의 일치 여부 확인
- 2 단계 : 객체에 대한 추가 및 삭제 여부 , 동일한 객체에 대한 속성 변화 및 도형 변화 탐지Geohash 를 이용한 동일 객체 판단 기준
- 객체의 중심 위치에 대한 규칙적인 코드 ( 숫자 + 문자 ) 를 생성 ex) wyd1enczq9fd- 중심점의 위치가 동일하면 같은 코드가 생성되고 , 객체의 면적 또는 길이 기준을 함께 사용하여 판단
▪ POLYGON : Geohash 코드 + 면적 (± 5%) ▪ LINE : Geohash 코드 + 길이 (± 5%) ▪ POINT : Geohash 코드
GeoHash : wydjwkdbg00j면적 : 1129.3
GeoHash : wydjwkdbg00j면적 : 1116.9
좌측의 실례와 같이 객체 자체가 변화한 것이 아닌 경우에 같은 객체로 판단해야 하므로 , 객체의 면적에 대한 ±5% 기준을 오차로 허용함
(Geohash + 면적 또는 길이의 오차 ) 판단 기준 적용 이유
생산관리도구의 GeoHash 사용
제공한 원본자료와 수령자료의 변경을 탐지
각 변경사항을 하나씩 확인하여 승인하거나 거부하여 리포트와 유지관리용 DB 반영용 자료 생성
생산관리도구의 변경사항 탐지
원천동 일대 1 대 5 천 4 개 도엽
도엽번호- 37709082- 37709083- 37709092- 37709093
지역특성- 최근 수년간 대규모 개발행위가 있었음- 구시가지 , 신시가지가 모두 존재- 고속도로 , 국도 , 세도로 등 다양한 도로
존재- 하천 , 호수 등 다양한 수계 존재
자료시기- 2011, 2012, 2013, 2014, 2015
과거 지형도 시계열구축 테스트
13
1. 연속수치지형도와 국가기본공간정보 테이블 연결 분석2. 2011~2014 년도 연속수치지형도를 국가기본공간정보
형식으로 변환 ( 도형위주 )3. 2015 년도는 국가기본공간정보 시범사업 데이터 이용4. 2014 년 연속수치지형도와 2015 년도 일치 ( 유지 ) 객체
파악5. GeoHash(12 자리 ) 가 일치하고 면적 / 길이가 5%
이내차이면 일치로 판단6. 일치하지 않는 것 중 2015 년에만 있는 것은 생성으로 기록7. 일치하지 않는 것 중 2014 년에만 있는 것은 삭제로 기록8. 2013 년과 2014 년 , 2012 년과 2013 년 , 2011 년과
2012 년 분석
시계열 생성 테스트 데이터 구축과정
2011 년 2012 년 2013 년 2014 년 2015 년 2016 년
2014 년 7 월 1 일 시점- 생성일이 14 년 7 월 1 일 이전- 소멸일이 없거나 14 년 7 월 1 일 이후
시계열자료에서 원하는 시점자료 조회
15
객체 최소범위 사각형 추출
중심점 추출
경위도 좌표계로 변환
GeoHash 생성
GeoHash 가 일치하고 면적이 5% 이하 차이
지형도 객체 일치여부 판단 과정
16
select s.ogc_fid s_fid, t.ogc_fid t_sidfrom(select ogc_fid, ST_GeoHash(ST_Transform(st_centroid(st_envelope(wkb_geometry)), 4326), 12) as mbr_hash_12, st_area(wkb_geometry) as geom_areafrom nf_2014.nf_a_b01000) as s, (select ogc_fid, ST_GeoHash(ST_Transform(st_centroid(st_envelope(wkb_geometry)), 4326), 12) as mbr_hash_12, st_area(wkb_geometry) as geom_areafrom nf.nf_a_b01000) as twhere s.mbr_hash_12 = t.mbr_hash_12 and abs(s.geom_area-t.geom_area)/t.geom_area < 0.05
지형도 객체 일치판단 SQL
nf_a_b01000 레이어
년도 기준년도객체수 유지 유지비율 추가 삭제 순증2015 20864 20796 99.67% 68 48 202014 20844 20485 98.28% 359 297 622013 20782 18041 86.81% 2741 1963 7782012 20004 18902 94.49% 1102 1047 552011 19949 0
2011 2012 2013 2014 2015
건물데이터 ( 폴리곤 ) 시계열 실험
년도 기준년도객체수 유지 유지비율 추가 삭제 순증2015 1549 1 0.06% 1548 4252 -27042014 4253 394392.71% 312 408 -962013 4349 227752.36% 2096 392 17042012 2645 253095.65% 115 143 -282011 2673
2011 2012 2013 2014 2015
nf_l_a01000 레이어
도로선데이터 ( 라인 ) 시계열 실험
년도 기준년도객체수 유지 유지비율 추가 삭제 순증2015 2709 2694 99.45% 15 21 -62014 2715 2666 98.20% 49 34 152013 2700 2248 83.26% 452 238 2142012 2486 1955 78.64% 531 851 -3202011 2806
2011 2012 2013 2014 2015
nf_p_f02000 레이어
표고점데이터 ( 포인트 ) 시계열 실험
국토지리정보원 체계 개선방향지도 중심의 공간정보 생산 / 관리 / 제공 체제를
요소 중심으로 전환해 고객의 다양한 요구에 부응
사전 계획된 다양한 종류의 제품 생산 요소별로 저장된 통합 DB 에서 고객이 요청하는 제품 생산( 지역 / 주제 / 시점 / 포맷 자유선택 )
21
Thank you