정부가 이른바 '빅 데이터' 유행에 발맞춰, 공공 데이터 공개에 적극 나서고 있다. 정부가 공개하고 있는 데이터는 믿을 만한 것인지, 또 쓸모있는 형태로 공개하고 있는지, 두번에 걸처 점검한다. 첫번째는 국토교통부가 공개한 지적도를 세밀하게, 두번째는 공공데이터포털 서비스를 폭넓게 따져볼 예정이다.
요즘 '빅 데이터'가 인기를 끌면서 함께 주목 받고 있는 것이 지도다. 각종 자료를 지도 위에 표시하는 것은 데이터 시각화의 기본 형식으로 자리잡았다. 그만큼 지도의 중요성도 커졌지만, 지도라고 다 같은 지도가 아니다. 정밀도나 정확성에서 하늘과 땅만큼의 차이가 있다.
한국에서 가장 상세하고 정밀한 지도는 뭘까? 아마도 땅을 지번별로 구분해놓은 지적도보다 더 정확한 것은 거의 없을 것이다. 통계청이 공개하고 있는 '소지역 통계 지도'(
새 창에서 보기)도 아주 상세하지만 지적도와는 비교가 안된다. 이런 지적도를 국토교통부가 '공간정보 오픈플랫폼'(
새 창에서 보기)을 통해 무료로 공개하고 있다. 2014년 10월 기준의 이 지적도에는 2013년 기준 공시지가가 함께 제공된다. 자료 처리 기술을 익히면 전국 땅의 가격을 보여주는 상세한 지도를 큰 어려움 없이 만들 수 있다.(
지적도 정보, 새 창에서 보기)
■ 기대에 크게 못미치는 엉터리 자료
지난 4월말 국토교통부 제공 지적도 가운데 서울시 부분을 받아 검토한 결과는 믿기지 않는 수준이었다. '동(법정동)별로 자료 가져오기' 기능을 이용해 검색해보니, 기본 정리조차 제대로 하지 않은 자료가 나왔다. 같은 지번이 두번, 세번, 심지어 6번까지 겹쳤다. 이 자료로 지도를 만들려면, 엄청난 시간을 들여 수정해야 한다. 지난 7월15일 두번째로 동별 자료 가져오기 기능을 검토해봤으나, 그 사이 달라진 건 없었다. (지적도 정보를 '위도와 경도로 찾기' 등 다른 방법으로 찾을 수도 있다.)
국토교통부 공간정보 오픈플랫폼 제공 지적도 자료의 문제는 아래 지도를 비교해보면 한눈에 알 수 있다.
■ 행정구역 분류 엉터리인데다 자료 중복도 부지기수
'동별 지적도 자료 찾기'의 가장 큰 문제는 분류가 제대로 안된 것이다. 서울특별시의 지적도를 검색했는데, 경기도 땅 일부가 딸려 온다. 또 같은 지번의 정보가 많게는 6번까지 중복해서 나오는 데 중복 방식도 종잡을 수 없다. 같은 지번이 연속해서 나오기도 하고(예컨대 양천구 신정동), 다른 동네 정보와 섞여서 나오기도 한다. 심지어 인접한 다른 자치구의 다른 동네 자료에 섞여 있는 경우도 있다. 광진구 중곡동의 몇몇 번지가 이런 식인데, 중곡동 자료가 아니라 중랑구 면목동 자료에 포함되어 있다. 게다가 동별, 구별 분류가 잘못되어 제공되는 자료가 예외적이라고 보기 어렵다. 종로구 청운동의 지적도 정보를 검색하면 제공되는 첫번째 100개 안에 정작 청운동의 지번은 88개뿐이다. 나머지 12개는 다른 동에 속한 지번 자료다. 종로구 부암동이 6, 신교동 3, 옥인동 3이다.
서울 25개 자치구 가운데 특히 자료가 엉망으로 검색되어 나오는 4개 구를 좀더 자세히 비교했다. 종로구의 자료엔 지번 중복은 말할 것도 없고, 중구, 성북구, 은평구, 서대문구 정보가 뒤섞여 들어온다. 양천구는 25개 자치구 가운데서 지번 중복이 가장 심한 곳이다. 공간정보 오픈플랫폼 서비스에서 양천구 자료를 동별(신정동, 목동, 신월동)로 구하면 총 4만2447개 지번 정보가 제공되는데, 중복을 정리하면 남는 건 딱 절반인 2만1188개다. 중구와 용산구도 중복되는 지번이 많은 편이다.
■ 지적도 오류 통계
아래 표는 서울시 전체 지적도 정보를 동별로 불러와 합쳤을 때 중복해서 나타나는 지번들이다. 서울시를 찾았는데, 경기도 고양시 북한동 지번이 다섯번이나 등장하는 게 특히 눈에 띈다.
자료가 중복된 지번 |
총 횟수 |
주소 |
지번 코드 |
6 |
중구 회현동1가 산 1-2 |
1114012100200010002 |
6 |
중구 예장동 산 5-6 |
1114014200200050006 |
6 |
양천구 신정동 793-8 |
1147010100107930008 |
6 |
양천구 신월동 5-1 |
1147010300100050001 |
6 |
동대문구 회기동 1-5 |
1123010800100010005 |
6 |
성북구 돈암동 609-1 |
1129010300106090001 |
6 |
양천구 신정동 산 150-9 |
1147010100201500009 |
5 |
종로구 옥인동 산 3-14 |
1111011100200030014 |
5 |
종로구 삼청동 산 2-1 |
1111014000200020001 |
5 |
종로구 훈정동 2 |
1111015000100020000 |
5 |
종로구 구기동 산 3-1 |
1111018200200030001 |
5 |
서대문구 홍제동 산 1-1 |
1141011100200010001 |
5 |
용산구 용산동1가 1-3 |
1117010600100010003 |
5 |
강서구 과해동 675 |
1150011100106750000 |
5 |
경기도 고양시 덕양구 북한동 산 1-1 |
4128110700200010001 |
4 |
은평구 대조동 228-9 등 142개 지번 |
3 |
종로구 청운동 143-2 등 492개 지번 |
2 |
성동구 금호동2가 305-67 등 33435개 지번 |
아래 표는 동별 검색 결과를 구별로 합친 것(번지 개수)과 오류를 수정한 결과(오류 수정본)의 비교다. 이 표의 '오류 수정본'은 단순히 중복 자료와 경기도 자료를 뺀 결과일뿐 별도 검증을 거쳐 최종 확인한 것이 아니다. 국토교통부에서 애초 제공한 지적도 정보가 부정확할 경우, 이 또한 부정확할 수밖에 없다.
서울시 구별 지적도 오류 |
|
법정동 |
번지 개수 |
오류 수정본 |
서울시 합계 |
469 |
860,428 |
824,498 |
종로구 |
87 |
43,064 |
41,082 |
중구 |
74 |
30,603 |
29,270 |
용산구 |
36 |
38,252 |
36,261 |
성동구 |
17 |
28,933 |
28,376 |
광진구 |
8 |
28,566 |
28,389 |
동대문구 |
10 |
41,107 |
40,492 |
중랑구 |
6 |
35,104 |
34,755 |
성북구 |
39 |
50,769 |
49,818 |
강북구 |
4 |
34,768 |
34,546 |
도봉구 |
4 |
19,260 |
19,086 |
노원구 |
5 |
18,151 |
17,918 |
은평구 |
11 |
50,650 |
50,235 |
서대문구 |
20 |
40,906 |
40,121 |
마포구 |
26 |
40,607 |
39,650 |
양천구 |
3 |
42,447 |
21,188 |
강서구 |
13 |
40,312 |
39,543 |
구로구 |
10 |
32,309 |
31,745 |
금천구 |
3 |
17,484 |
17,346 |
영등포구 |
34 |
37,373 |
36,935 |
동작구 |
9 |
35,096 |
34,388 |
관악구 |
3 |
39,595 |
39,379 |
서초구 |
10 |
29,410 |
29,017 |
강남구 |
15 |
30,107 |
29,900 |
송파구 |
13 |
27,930 |
27,714 |
강동구 |
9 |
27,625 |
27,344 |
광진구와 강남구에는 없어진 법정동인 노유동과 포이동으로 분류된 지번이 각각 하나씩 포함되어 있다. |
■ 불가사의한 오류
지적도 정보 구조를 들여다보면, 이런 오류가 어떻게 생길 수 있는지 불가사의하게 느껴질 지경이다. 지적도의 모든 번지수는 고유의 코드값이 있다. 이 때문에 이 코드값으로 자료를 분류하면 자료 중복이나 엉뚱한 자료를 제공할 일은 아예 없다. 지적도의 번지수 코드값이 일정한 규칙에 따라 부여되어 있기 때문이다. 이 코드값은, 정부 공식 법정동 코드 10자리, 번지 본번 4자리, 번지 부번 4자리 곧 18자리의 고유 값이다. (
예를 들어 서울 종로구 청운동 1-2 번지의 고유번호는 1111010100(법정동 코드)+0001(본번 1번지)+0002(부번 2)이다.)
'공간정보 오픈플랫폼' 사용자가 지적도를 동별로 검색하려면, 법정동 코드를 입력해야 한다. 이 코드와 일치하는 정보를 검색해서 사용자에게 보내주는 건 복잡할 게 별로 없다. 번지 코드값이 법정동 코드로 시작하는 것을 모두 찾아내 보여주라는 식으로 명령어를 처리하면 된다. 널리 쓰이는 데이터베이스인 마이에스큐엘(MySQL)에서 이 명령어는
select * from `지적도 전체 자료` where `지적도코드` like '법정동코드%' ;라는 단 한줄짜리다.
이렇게 간단히 처리할 수 있는 데도 오류가 생기는 것을 볼 때, 과연 '공간정보 오픈플랫폼' 전체가 제대로 운영되고 있는지 의문을 떨치기 어렵다. 정부가 공공 데이터를 적극 공개하는 건 환영할 일이다. 하지만 공개하는 자료의 정확성과 신뢰성이 없으면, 공개하지 않는 것보다 더 큰 부작용을 부를 수도 있다. 국토교통부는 당장 서비스를 종합 점검해 자료의 신뢰를 회복해야 할 것이다.
추가 (2015년 8월5일): 국토교통부 공간정보 오픈플랫폼 개발자 센터는 지난 7월27일 지번 검색 오류를 수정했다고 밝혔다. (자료 중복이 가장 심했던 양천구 신정동, 목동, 신월동의 지번 자료 정보 일부를 확인한 결과, 실제로 오류가 수정된 것으로 보인다.)
[ 알림 내용 새창에서 보기 ]
신기섭 기자
marishin@hani.co.kr
■
데이터 블로그 바로가기
■
공간정보 오픈플랫폼 바로가기