[foss4g korea 2016] geohash를 이용한 지형도 변화탐지와 시계열 관리

21
GeoHash 를 를를를 를를를 를를를를를 를를를 를를 장장장

Upload: bj-jang

Post on 14-Apr-2017

431 views

Category:

Software


3 download

TRANSCRIPT

Page 1: [FOSS4G Korea 2016] GeoHash를 이용한 지형도 변화탐지와 시계열 관리

GeoHash 를 이용한 지형도 변화탐지와 시계열 관리

장병진

Page 2: [FOSS4G Korea 2016] GeoHash를 이용한 지형도 변화탐지와 시계열 관리

2

공간객체 식별자란 ?

출처 : 2015 년 한국인터넷전자상거래학회 / 한국정보시스템학회 / 한국지능정보시스템학회 춘계공동학술대회2014 년 공간객체등록번호 부여사업

Page 3: [FOSS4G Korea 2016] GeoHash를 이용한 지형도 변화탐지와 시계열 관리

3

출처 : 2015 년 한국인터넷전자상거래학회 / 한국정보시스템학회 / 한국지능정보시스템학회 춘계공동학술대회2014 년 공간객체등록번호 부여사업

공간객체 식별자의 활용방안

Page 4: [FOSS4G Korea 2016] GeoHash를 이용한 지형도 변화탐지와 시계열 관리

4

출처 : 2015 년 한국인터넷전자상거래학회 / 한국정보시스템학회 / 한국지능정보시스템학회 춘계공동학술대회2014 년 공간객체등록번호 부여사업

공간객체등록번호 유일식별자 부여

Page 5: [FOSS4G Korea 2016] GeoHash를 이용한 지형도 변화탐지와 시계열 관리

5

출처 : 2015 년 한국인터넷전자상거래학회 / 한국정보시스템학회 / 한국지능정보시스템학회 춘계공동학술대회2014 년 공간객체등록번호 부여사업

공간객체등록번호 유지관리

Page 6: [FOSS4G Korea 2016] GeoHash를 이용한 지형도 변화탐지와 시계열 관리

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 자리 이하에서 좌표변경

Page 7: [FOSS4G Korea 2016] GeoHash를 이용한 지형도 변화탐지와 시계열 관리

7

지형도의 갱신과정

주기

갱신

수시

갱신

제품

중심

(AS-IS)

기존지도와정사영상

전달

항공촬영 / 정사처리

지형도 전체 레이어 제작 작업

지형도납품

기존 지도와준공도면 전달

확인측량위치편집

납품

기존 지도와준공도면 전달

확인측량위치편집

납품

• 변화객체 판단 불가• 전체 새로운 ID 부여• 변경내용 충돌 발생

기존 지도와준공도면 전달

확인측량위치편집

납품

• 갱신객체 새로운 ID 생성

2 주 단위로 전체 데이터를 백업하여 한 벌로 저장 시계열 불가

Page 8: [FOSS4G Korea 2016] GeoHash를 이용한 지형도 변화탐지와 시계열 관리

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 로 사용 가능

Page 9: [FOSS4G Korea 2016] GeoHash를 이용한 지형도 변화탐지와 시계열 관리

작업용 저장소(PostGIS)

유지관리용 저장소(ArcSDE,

Oracle Spatial, PostGIS)

단방향 통신

단방향 통신

암호화 데이터파일( 승인 즉시 생산 )

암호화 데이터파일( 고시즉시 생산 )복호화시 데이터 검증

복호화시 데이터 검증

외주업무 담당자 전산실외주 업체

필요시 최신자료 전체 덤프

기본데이터 편집

검수 리포트

시계열 관리지원 생산 - 관리단계 아키텍처

생산관리도구

Page 10: [FOSS4G Korea 2016] GeoHash를 이용한 지형도 변화탐지와 시계열 관리

객체의 변화 탐지 방안

- 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 사용

Page 11: [FOSS4G Korea 2016] GeoHash를 이용한 지형도 변화탐지와 시계열 관리

제공한 원본자료와 수령자료의 변경을 탐지

각 변경사항을 하나씩 확인하여 승인하거나 거부하여 리포트와 유지관리용 DB 반영용 자료 생성

생산관리도구의 변경사항 탐지

Page 12: [FOSS4G Korea 2016] GeoHash를 이용한 지형도 변화탐지와 시계열 관리

원천동 일대 1 대 5 천 4 개 도엽

도엽번호- 37709082- 37709083- 37709092- 37709093

지역특성- 최근 수년간 대규모 개발행위가 있었음- 구시가지 , 신시가지가 모두 존재- 고속도로 , 국도 , 세도로 등 다양한 도로

존재- 하천 , 호수 등 다양한 수계 존재

자료시기- 2011, 2012, 2013, 2014, 2015

과거 지형도 시계열구축 테스트

Page 13: [FOSS4G Korea 2016] GeoHash를 이용한 지형도 변화탐지와 시계열 관리

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 년 분석

시계열 생성 테스트 데이터 구축과정

Page 14: [FOSS4G Korea 2016] GeoHash를 이용한 지형도 변화탐지와 시계열 관리

2011 년 2012 년 2013 년 2014 년 2015 년 2016 년

2014 년 7 월 1 일 시점- 생성일이 14 년 7 월 1 일 이전- 소멸일이 없거나 14 년 7 월 1 일 이후

시계열자료에서 원하는 시점자료 조회

Page 15: [FOSS4G Korea 2016] GeoHash를 이용한 지형도 변화탐지와 시계열 관리

15

객체 최소범위 사각형 추출

중심점 추출

경위도 좌표계로 변환

GeoHash 생성

GeoHash 가 일치하고 면적이 5% 이하 차이

지형도 객체 일치여부 판단 과정

Page 16: [FOSS4G Korea 2016] GeoHash를 이용한 지형도 변화탐지와 시계열 관리

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

Page 17: [FOSS4G Korea 2016] GeoHash를 이용한 지형도 변화탐지와 시계열 관리

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

건물데이터 ( 폴리곤 ) 시계열 실험

Page 18: [FOSS4G Korea 2016] GeoHash를 이용한 지형도 변화탐지와 시계열 관리

년도 기준년도객체수 유지 유지비율 추가 삭제 순증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 레이어

도로선데이터 ( 라인 ) 시계열 실험

Page 19: [FOSS4G Korea 2016] GeoHash를 이용한 지형도 변화탐지와 시계열 관리

년도 기준년도객체수 유지 유지비율 추가 삭제 순증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 레이어

표고점데이터 ( 포인트 ) 시계열 실험

Page 20: [FOSS4G Korea 2016] GeoHash를 이용한 지형도 변화탐지와 시계열 관리

국토지리정보원 체계 개선방향지도 중심의 공간정보 생산 / 관리 / 제공 체제를

요소 중심으로 전환해 고객의 다양한 요구에 부응

사전 계획된 다양한 종류의 제품 생산 요소별로 저장된 통합 DB 에서 고객이 요청하는 제품 생산( 지역 / 주제 / 시점 / 포맷 자유선택 )

Page 21: [FOSS4G Korea 2016] GeoHash를 이용한 지형도 변화탐지와 시계열 관리

21

Thank you