Python/Pandas

[kaggle learn geopandas] Your First Map

notty 2024. 6. 4. 19:16
728x90

사용 데이터

 

실생활에서 geo data를 활용하는 경우

  • 일본에서 지진이 많이 일어나는곳을 지도에 표시
  • 특정 종의 동물의 서식지 파악
  • 등등 지도 상에 표현할 수 있는 경우

Reading data

  • geospatial file format은  shapefile, GeoJSON, KML, GPKG등 다양하다
  • 이 코스에서는 shapefile을 다룰것이다
  • geopandas library를 사용
    • python에서 지리공간 데이터 작업을 지원하는 오픈소스 프로젝트
    • geopandas는 pandas의 데이터 타입을 확장하여 geometric(기하학적)타입에 대해 spital(공간)작업을 가능하도록한다
import geopandas as gpd

# read_file() 로 파일 불러오기
gpd_data = gpd.read_file('file path')

# pandas와 같은 방식으로 샘플 확인 가능, default : 5개
gpd_data.head()

 

* 데이터 샘플 5개 미리보기 (head())

 

* 전체 데이터중 subset을 구성한다

geo_data.loc[:, ['col1','col2','col3']]

 

Map

  • 모든 GeoDataFrame 형식은 'geometry' 열을 가지고 있다
  • GeoDataFrame.plot()을 하면 열 지정 없이 geometry가 자동으로 포함되어 지도를 그릴 수 있다
  • geopandas에서 제공하는 세계지도 데이터 위에 우리가 가진 정보를 함께 plot하면 지도상에서 시각화 가능

 

Geometry types

  • Point(*args) : 한 쌍의 좌표 (예: (x,y) or (x,y,z))
  • LineString([coordinates]) : 직선
  • LinearRing([coordinates]) : 좌표들을 이으면 loop가 생긴다
  • Polygon([shell, holes]) : 좌표를 이어서 loop를 만든다. 이때 음수의 영역까지 확장이 가능하다
  • MultiPoint([points]) : 한 쌍 이상의 좌표
  • MultiPolygon([polygons]) : 한개 이상의 폴리건
  • GeometryCollection([geoms]) : 한개의 차입의 geometry가 아니라 여러 타입이 섰여 있는 경우

 

* geopandas에서 제공하는 세계지도 데이터

 

* world_loans point 데이터를 세계지도에 표시한다

 

geopandas 공식문서

kaggle learn geopandas

728x90
반응형