개인 공부/에러는 그만

[.shp] 좌표 파일 읽기

육츠 2024. 6. 1. 12:11

기상청 빅데이터 콘테스트를 준비하는 도중 좌표가 필요했다.

참고url

 

[Python] 전국 행정구역별(법정동) 개수와 경계/중심 좌표 데이터 - GeoPandas

목차 [Python] 전국 행정구역별 지도 시각화 (Folium, 일부-경기도/인천) Python 지도 시각화 Library folium을 사용해 행정구역별 시각화를 진행해보겠습니다. 필요 Site : SGIS(통계지리정보서비스), QGIS, 지

herjh0405.tistory.com

 

해당 티스토리를 보고 따라하려던 찰나.. 두가지 오류를 만났다.

import geopandas as gpd
import os

path = './'

# SHAPE_RESTORE_SHX 환경 변수 설정
os.environ['SHAPE_RESTORE_SHX'] = 'YES'

# Shapefile 읽기
sd = gpd.read_file(os.path.join(path, 'coordinate/202307_ctprvn.shp'), encoding='cp949')
sgg = gpd.read_file(os.path.join(path, 'coordinate/202307_sig.shp'), encoding='cp949')

# 좌표 참조 시스템 (CRS) 설정 (예시: EPSG:4326)
sd = sd.set_crs(epsg=4326)
sgg = sgg.set_crs(epsg=4326)

 

오류 1. 왜 읽어오면 하나의 컬럼만 읽어 오는가?

shp 파일만 읽어오면 이러한 오류가 난다. 

 

zip으로 담겨져 있는 모든 파일을 내가 path를 연결해둔 곳에 전부 가지고 있으면 된다.

행정구역(shp) 파일 다운로드

 

대한민국 최신 행정구역(SHP) 다운로드 – GIS Developer

 

www.gisdeveloper.co.kr

 

오류 2. 왜 to_crs 가 아니고 set_crs 인가?

ValueError: Cannot transform naive geometries.  Please set a crs on the object first.

좌표 시스템이 설정 되지 않았기 때문이라고 하니 우선 set 후 to 로 변환해주면 되는 것 같다.