저번에 작성했던 내용은 CSV나 TXT의 형태로 제공되는 데이터와 SHP을 KeyField를 통해 연결해서 속성정보가 풍부한 형태의 공간정보를 만드는 작업을 하였다.

(사실 저번 작성내용이 몇 달이 지났는지도 모르겠음..)


암튼, 조금 더 응용을 해보자.


그리고 응용을 해보기 전에 하나 전달할 께 있다면 앞으로는 QGIS를 좀 더 활용하도록 할 계획이다.

물론 ArcMap의 성능이나 파워풀함은 비교 대상이 없지만, QGIS는 무료라는 장점과 잘 사용하면 ArcMap보다 더 유연하게 활용할 수 도 있기 때문이다.

그리고.. ArcGIS를 학교에서 자유롭게 사용하다가.. 회사에 와버린 나머지 사용이 힘들어졌다 ㅜ_ㅠ




이제 본론.



GIS분야를 연구/공부하다보면 다양한 기관에서 획득한 데이터를 갖고 있게 된다.

(그리고 지도 서비스를 하다보면 여러 데이터를 만들어야 할 필요도 있다)


모든 데이터를 Shapefile로 주면 제일 좋겠으나, 가끔은 *.MDB, *.XLSX, *.DWG, *.GDB (거의 없음 주면 다행) 등으로 제공한다.

(예전 건축학과의 학생들만 봐도 CAD 파일을 ArcGIS에서 어떤식으로 열람?하는지에 대해서 당황해 하는것 같아서 내가 간간히 도와준적이 있다)

가끔은 Wiki Table에서 긁어모아야 할 필요도 있다... (<- 이건 어쩌면 최악?)


아.. 주제는 뭐로 하면 좋을까 고민하다가 GIS를 전공하지 않는? 사람들에게 활용을 쉽게 도와주게 끔 하는걸 만들어보자라는 생각이 들었다.

그래서 이번엔 서로 다른 포맷의 공간정보를 ArcGIS상에서 가공?할 수 있게 가져오는 방법을 설명하려고 한다.


주제 : CAD 파일 (*.dwg, *.dxf)를 GIS 소프트웨어로 가져오고 좌표까지 맞추기!


그러면 캐드 파일이 필요하다. 나는 갖고 있는 캐드 파일 하나를 가지고 놀 생각이다. 여러분들은 여러분 데이터 쓰셈.

AutoCAD의 도면을 GIS 소프트웨어 상으로 가져와서 작업하는부분에 있어서는 여러번 해보았다.

아마 이번 글은 GIS 전공자보다는 건축이나 도시쪽 관련종사자들이 필요한 부분이지 않나 싶다.



궁극의 ArcGIS의 경우는 캐드 데이터를 File Geodatabase 형태로 변환을 해준다.

그리고 좌표를 알고 있는 CAD 파일이라면 ArcGIS 상에서 CAD파일 선택 후, 좌표를 정의해주고 변환하면 끗.

QGIS에서도 같다.


아래의 지도는 QGIS로 불러온1:5000 수치지도이다.

프로젝션은 Korean Datum 2010/중부원점


어떻게 했게?

그냥 ㅋ 불러오면 ㅋ 됨 ㅋ 

Add Vector Layer에서 불러오세영



문제는 좌표를 모르는 CAD, 건축물 도면, 스캔한 고지도의 경우일 듯

이때는 CAD를 Raster파일이라 생각하면 쉽다.

사실 여기서는 Raster에 대해서 설명을 안해줬긴 한데 쉽게 얘기하면 이미지 파일임.

이를 끌어와서 지도위에 맞추는거임


여러가지 용어 설명이 필요함.. GCP라던지, Affine Transformation이라던지 .. 

근데 그런건 걍 무시하고


일단 해보기나 하자.

ArcGIS의 Georeference는 Toolbar에서 On하면 볼 수 있고

QGIS에서 한번 해보자.


내 수업을 들었던 우리 학생이 물어봤던게 있었음.

"오빠오빠 이거 어떻게 해요?"

ㅇㅇ 할 수 있어 ㅇㅇ 오빠

오빠는 다 할 수 있어. 불러줘 오빠.


지적도? 이미지를 구했고 이를 GIS 소프트웨어상에 올리는 작업임

(여기서 저 지적도이미지 파일을 캐드파일이라 생각해보자.  (내가 갖고 있는 모든 캐드파일이 다 좌표 정의된 캐드파일이라... 어쩔 수 없이 이미지로 설명하는 중)


결과를 먼저 보여주자면 이렇다


그리고 저기서 Measure 도구를 이용해서 면적이라던지 거리를 구하면 됨. (물론 신뢰도 100%는 아니고 어림잡아 알 수 있음)







실습을 해보자.

실습은 초파의 사진을 서울대로 투영해보자. (그리고 초파의 사진 = 서울대 dxf 라고 생각하자)



자 올라갔다.

사실 여기다 올리면 안되긴 하는데 보여주기 위함임


ArcMap과 비슷한 방법으로 옮기면 된다.

우리가 쓸 도구는 Georeferencer 이다.

Raster Tab에서 확인이 가능하다.


사실 QGIS에는 네이버지도, 구글지도, 다음지도 같은 지도가 필요하다 (Reference Map) 그리고 Georeferencer에서 원하는 이미지를 찾아서 이미지의 어느 부분지 reference map의 어디 부분이다를 찍어줘야 한다.


이런 느낌이랄까?

저 포인트들을 GCP라고 하는데 드론이나 측량할때도 많이 나오는 용어임 그라운드 컨트롤 포인트. 



이를 몇번 하다보면 어느정도 이동하는걸 볼 수 있다.



이렇게 이렇게 찍어주고


Transformation Setting을 해야하는데 Transformation Type이나 Resampling Method는 그냥 Default로 간다. 




Tada. 쵸파가 서울대 위에 있다. 잇힝.

이런식으로 Georefencer를 이용하면 투영되지 않은 캐드파일이나 이미지를 투영시킬 수 있다.





퇴근하고 한시간 정도씩 쓰려고 한다.

근데 티스토리가 나은지, 네이버블로그가 나은지 전혀 모르겠다.


근데 퇴근하면 정말 쉬고 싶다.

반응형


학교에서 살다보니 ArcGIS 라이센스 문제에 있어 전혀 문제가 없었습니다.


제가 지금 학교에서 나와 회사생활을 하고 있는데 이게 생각보다 쉽지가 않네요. (물론 회사는 정식 라이센스 이지만 제가 쉽게 사용하기가 어렵습니다. 그리고 제 개인컴퓨터에도 ArcGIS가 없는 상황이구요)





그래서 ArcGIS강의에서 QGIS와 ArcGIS에 있는 Spatial Analysis툴을 대신할만한 Geoda를 사용하면 어떤지 고민이 됩니다.


같이 작업하는 분들과 얘기 후 추후 업뎃 하도록 하겠습니다.





요새 회사 적응하느라 늦었습니다. 죄송합니다.

반응형

'지도쟁이들 분석노트 > :P 생각정리' 카테고리의 다른 글

아.. 오랜만에 밤을 세어본다.  (0) 2018.04.27
최근 근황  (0) 2017.08.01
학위 취득 축하 및 나에 대한 고찰  (0) 2017.03.08
근황정리.  (2) 2016.11.24
일본 출장 다녀왔습니다.  (0) 2016.08.06


저번에 만들어놓은 컨텐츠의 양이 장난 아니다라는 얘기가 있었다.


연구실 영민님의 개인 블로그에서도 얘길 하지만 그냥 다짜고짜 시작하는게 맞지 않겠느냐? 실제로 우리가 진행하면서 시행착오를 쓰는게 더 낫지 않겠느냐? 동영상을 하는게 낫지 않겠느냐의 의견도 주고 받앗다.  > 영민님 블로그 (클릭)


고민하다가 그냥 글로 남기는게 좋겠다라는 생각이 들어서 목차를 바꿀까 한다. (바꿀까?)


일단 기본 공간정보를 다루는것은 중요한 일이기 때문에 이부분은 그대로 진행하는걸로 한다.



공간정보의 세세한 설명보다는 이 글을 읽는 사람은 어느정도의 공간데이터를 다루는 지식이 있다고 가정하고 진행하겠다. (즉, shp이뭔지, dbf가 뭔지 shx가 뭔지 prj가 뭔지..)


대부분 대학원생 및 연구원들의 한계는 이 데이터를 어디서 구하느냐이다.



정부 3.0 이다 뭐다 한국형 오픈 어쩌고 해서 최근 공공데이터가 많이 공개되었다.

기본적으로 내가 개인적으로 많이 이용하는 데이터는 국토부와 통계청이다. (링크 걸어놓음)



국가공간정보포털

통계청

국토지리정보원


이 정도인것 같다.


그리고 민간?업체의 경우 비즈지아이에스 가 있을테고

그밖의 원하는 자료는 Crawling 하거나, 아름아름 구해보기도하고, 만들어보기도 한다.

여기서 Crawling이나 Editing을 가르쳐주는것은 힘들것 같다. 그래서 위 데이터를 어떻게 지지고 볶아야 하는지에 대해서 설명할까 한다.



자 일단 그러면 통계청 데이터를 사용해보자.


통계청데이터는 굉장히 여러가지가 있다. 그중에서 내가 갖고 있는건 뭐 사업체, 인구총괄, 뭐 교육별, 산업분류별 등등 다양하다 (이들은 속성이고)

도로경계, 집계구경계 등 다양한 형태의 shp 도 제공한다.





그러나 통계청은 집계구 경계가 큰 의미를 갖는다고 할 수 있다.

한편 txt 파일로 제공해주는 속성도 양이 어마어마 하다. 어머어마 한 만큼 데이터를 보면 편집하기 까다롭다.



필드명은 없고 첫 컬럼은 년도, 두번째 컬럼은 집계구 번호, 3번은 속성의 종류? 4번은 속성값이다.

여기서 나는 성연령별 인구기 때문에 각 집계구에 001~054까지의 해당하는 속성값이라고 이해하면 될 것이다.

그럼 집계구 shp과 위 데이터를 ArcMap에서 한번 확인해보자. (언제나, 배경은 서울대를..)



그런데 저렇게 되있으면 못쓴다.

그래서 나는 일반적으로 속성 데이터의 경우 QGIS에서 구분자를 넣어서 dbf로 만든다음 ArcMap으로 불러와서 사용한다.


이렇게

변환이 되지롱~


그리고 Field_3의 QUERY를 통해 원하는 정보를 뺀다음 이를 집계구 shp 과 join 하면 된다.


그럼 in_age_***이 무엇인가?

통계청의 자룐 이렇게 말하고 있다.


그렇기에 내가 만약에 4세 이하의 인구를 뽑고 싶다라고 하면

"field_3" = 'in_age_001' 이렇게 날린 후 집계구 shp과 join을 하면 완성 된다. 이를 여러번 (54번) 하면 집계구 shp 은 다음과 같은 속성을 갖을 수 있다.



물론 저걸 노가다 할 수 있지만 노가다 하면 안되니까 자동화 하면 된다.

그 방법은 연구실을 떠나기전 후배들에게 전수하고 갈려고 한다.
조금 있다가 후배들이랑 공동 연구 하러 갈꺼라서 여기 까지 쓸란다.

결론, 통계청 데이터는 저렇게 쓰시면 됩니다~


반응형

하이루 방가방가



현재 서울대에서 GIS 하는 사람들은

사실상 나를 제외하고 서울대를 떠났다.


나도 떠나고 싶다...



뭐 교재를 만든다는 둥 뭐한다는 둥 했는데 최근 컨텐츠 제작을 하지 못했다.


변명을 늘어놓자면


1. 후배 양성

2. 연구실 일 (세미나 준비)

3. 연구(?)

4. 데이터 정비

5. 여기저기 기웃기웃


등을 했다.


교재를 만들기 위해 나보다 더 꼼꼼한? 사람이 필요하다고 느꼇고. 같은 연구실에 있는 영민님을 영입?하기로 했다.

곧 새로운 목차와 교재가 나올 것 같다.

반응형

+ Recent posts