[공간데이터분석] shp 파일을 geojson 파일로 변환하기

young·2022년 10월 9일
2

공간데이터분석

목록 보기
3/3
post-thumbnail
post-custom-banner

공간데이터 파일 변환의 필요성

프로젝트를 진행하면서 사용한 시각화 패키지인 Python folium에서 geojson 파일만 읽을 수 있어, 갖고 있는 shp 지리 경계 파일을 json 파일로 변환해야 하는 일이 있었다.
이외에도 shp 파일은 geodataframe 형식이어서 처리가 더 간편하지만 크기가 크다는 단점이 있어 geojson 형식의 파일이 필요할 때가 있다.
프로젝트를 진행하면서 알게 된 shp 파일을 geojson파일로 변경하는 방법에 대해 글로 작성한다.


*모든 코드와 이용 방법은 Python 3.8 기준으로 작성되었음

1. 코드 이용하기

geopandas 모듈

Python에서 shp 파일을 임포트하려면 geopandas가 반드시 필요하다.
geopandas 패키지는 json 파일 변환 기능을 제공하고 있다

import geopandas
data.to_file(driver='GeoJSON', filename='변환할_파일명.geojson')
# driver를 GeoJSON으로 반드시 설정해줄 것

pandas 모듈

pandas 모듈에서도 json 변환 기능을 제공하고 있다.
대량의 파일이더라도 간단하게 변환이 가능하다.

import pandas
data.to_json()

참고 링크

https://programmerpsy.tistory.com/category/GIS/Python%20%EA%B8%B0%EB%B0%98%20%EA%B3%B5%EA%B0%84%20%EB%B6%84%EC%84%9D

2. 웹사이트 이용하기

shp 파일을 geojson 파일로 변환해주는 사이트

http://gipong.github.io/shp2geojson.js/
위 사이트에서 shp 파일을 geojson 파일로 변환이 가능하다.

Upload zip file을 눌러 shp 파일이 포함된 압축파일을 임포트한다.

encoding 란에 euk-kr을 입력하고 Preview를 누른다.

.geojson 버튼을 눌러 변환된 geojson 파일을 다운로드 받는다.

참고 링크

https://mjs1995.tistory.com/169?category=802136

3. QGIS 이용하기

QGIS

QGIS는 공간·지리 데이터를 다루고 처리하고 시각화하는데 최적화된 프로그램이다.
QGIS 설치는 아래 링크를 참고하여 설치하였다.
GIS) QGIS로 시군구 정보 shp 를 json 변환하는 법_특별시/도단위 json 파일
출처: https://pororiri.tistory.com/entry/GIS-QGIS로-시군구-정보-shp-를-json-변환하는-법특별시도단위-json-파일

QGIS에서 shp를 geojson으로 변환하기

모든 방법은 아래 링크를 참고하여 진행하였다.
QGIS로 shp파일을 geoJson으로 변경하기

가장 먼저 왼쪽 상단의 데이터 원본 관리자 - 벡터를 눌러 shp 파일이 포함된 zip 파일을 벡터 데이터로 추가해준다.
(shp 파일 단독만 임포트하면 데이터 인식이 제대로 되지 않는다.)
인코딩 방식은 UTF-8 이나 EUC-KR 등 파일에 맞는 인코딩 방식을 설정해주면 되며, 자동으로 해도 잘 작동한다.
데이터의 주소가 제대로 인식되지 않는 경우 반드시 인코딩 방식을 제대로 설정해주어야 한다.

필터링을 원하는 경우

링크를 참고하여 필터링을 진행한 후 shp 파일을 geojson 파일로 변경해준다.
GIS) QGIS로 시군구 정보 shp 를 json 변환하는 법_특별시/도단위 json 파일
출처: https://pororiri.tistory.com/entry/GIS-QGIS로-시군구-정보-shp-를-json-변환하는-법특별시도단위-json-파일

좌표계 변환을 원하는 경우

링크를 참고하여 좌표계를 변환한 후 shp 파일을 geojson 파일로 변환해준다.
https://wikidocs.net/163656

shp 파일로 불러온 레이어 우클릭 - Export - 객체를 다른 이름으로 저장 을 선택한다.

파일 형식을 GeoJson으로 선택하고 geojson으로 변환할 파일의 이름을 입력해준다.
좌표계가 원하는 좌표계가 맞는지 반드시 확인 후 변환한다.

가장 편한 방법

프로젝트를 진행하면서 세 가지 방법을 모두 사용해보았는데, 데이터 필터링과 좌표계 변환이 간편한 QGIS 이용 방법이 데이터를 바로 확인할 수 있으면서도 이용이 간편해 가장 편했다.
QGIS는 설치가 오래 걸린다는 단점이 있으나, 공간 데이터 전처리가 필요하다면 QGIS를 설치하여 이용하는 것을 추천한다.

profile
한 걸음씩 쌓아가는 데이터 분석
post-custom-banner

0개의 댓글