파이썬 활용한 데이터 프로세싱

지난 블로그에서는 지자체의 음식물 쓰레기 데이터를 엑셀로 다운로드 받은 후 테이블 조인, 중복 삭제 등 여러 단계의 프로세싱을 거쳐서 웹맵으로 퍼블리싱을 하였습니다.

ArcGIS Pro에서 제공하는 프로세싱 UI 툴을 이용하여 쉽게 할 수 있지만 자주 반복되는 업무라면 자동화하는 방법을 연구해 볼 수 있습니다. ArcGIS는 UI로 가능한 여러 오퍼레이션을 arcpy라고 하는 파이썬 API로 제공하고 있으므로 오늘은 이를 이용해서 어떻게 데이터 프로세싱을 자동화 할 수 있을지 알아보겠습니다.

다음 영상은 부산 진구청 음식물 쓰레기 데이터를 프로세싱 했던 과정을 arcpy 스크립트로 변환한 예시입니다.

파이썬으로 데이터 복사, 중복 삭제 등 작업하기

영상에서 보시듯이 지오프로세싱 툴을 목록에서 파이썬 코드 영역으로 끌어와서 파라미터를 설정하는 방식으로 쉽게 프로그래밍을 할 수 있습니다.

파이썬을 이용한 자동화는 큰 데이터를 프로세싱할때 더 큰 의미가 있으므로 이번에는 제법 큰 데이터를 한번 처리해 보도록 하겠습니다.

산림청에서는 전국 등산로 정보를 제공하고 있는데 다운로드 받아보니 총 2900여개의 등산로 정보를 개별 파일로 제공되고 있었습니다. arcpy를 이용해서 이를 프로세싱하고 지도에 가시화하여 보도록 하겠습니다. 우선 아래 영상을 통해 데이터 다운로드 및 포맷, 프로젝트 개요를 확인하세요.

등산로 데이터 구조

프로세싱 단계는 크게 다음과 같습니다.

  1. MNT_CODE.xls 파일을 읽어 등산로 목록 및 코드 저장
  2. 등산로 코드별 zip 파일 압축 풀기
  3. 프로세싱이 용이하도록 shapefile 파일명 수정
  4. 분기점(Point): SPOT.shp
  5. 등산로(Polyline): PMNTN.shp
  6. 안전 지점(Point): SAFE_SPOT.shp
  7. 각 피쳐별로 피쳐 클래스 생성
  8. 데이터 붙여넣기 작업
  9. 데이터 속성별 심볼 적용으로 가시화 

약 140여 라인의 파이썬 코드를 작성하였고 이전 경우와 마찬가지로 파이썬 코드 윈도우에 붙여넣기를 하였습니다. 

파이썬 코드 붙여넣기
파이썬 코드가 실행되는 모습

필자의 작업환경에서는 약 2시간동안 데이터 프로세싱을 하였고 최종 결과물은 다음과 같습니다.

최종결과물

이제 다음 단계로는 웹맵을 퍼블리싱하게되면 웹 브라우져에서 데이터 분석과 현황파악을 위한 앱을 손쉽게 만들 수 있을 것입니다.

 

답글 남기기