10 분 소요

1. 라이브러리 불러오기

import geopandas as gpd
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import plotly

Geopandas 라이브러리는 공간 데이터를 다루는데 사용됩니다. Pandas의 기능을 확장하여 지리적인 데이터를 다루기 쉽게 만들어줍니다.

2. 데이터 불러오기

world_gdf = gpd.read_file(gpd.datasets.get_path("naturalearth_lowres")) # 내장 데이터셋의 파일 경로 변환
world_gdf.head()
C:\Users\82104\AppData\Local\Temp\ipykernel_2480\2848402422.py:1: FutureWarning: The geopandas.dataset module is deprecated and will be removed in GeoPandas 1.0. You can get the original 'naturalearth_lowres' data from https://www.naturalearthdata.com/downloads/110m-cultural-vectors/.
  world_gdf = gpd.read_file(gpd.datasets.get_path("naturalearth_lowres")) # 내장 데이터셋의 파일 경로 변환
pop_est continent name iso_a3 gdp_md_est geometry
0 889953.0 Oceania Fiji FJI 5496 MULTIPOLYGON (((180.00000 -16.06713, 180.00000...
1 58005463.0 Africa Tanzania TZA 63177 POLYGON ((33.90371 -0.95000, 34.07262 -1.05982...
2 603253.0 Africa W. Sahara ESH 907 POLYGON ((-8.66559 27.65643, -8.66512 27.58948...
3 37589262.0 North America Canada CAN 1736425 MULTIPOLYGON (((-122.84000 49.00000, -122.9742...
4 328239523.0 North America United States of America USA 21433226 MULTIPOLYGON (((-122.84000 49.00000, -120.0000...
states = gpd.read_file(r'C:\Users\82104\OneDrive\바탕 화면\study\python\minimal\data\ne_110m_admin_1_states_provinces.shp')
states.head(1)
featurecla scalerank adm1_code diss_me iso_3166_2 wikipedia iso_a2 adm0_sr name name_alt ... FCLASS_ID FCLASS_PL FCLASS_GR FCLASS_IT FCLASS_NL FCLASS_SE FCLASS_BD FCLASS_UA FCLASS_TLC geometry
0 Admin-1 scale rank 2 USA-3514 3514 US-MN http://en.wikipedia.org/wiki/Minnesota US 1 Minnesota MN|Minn. ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-89.95766 47.28691, -90.13175 47.292...

1 rows × 122 columns

states['geometry'][1]

2023-06-14-map_6_0

print(type(states))
<class 'geopandas.geodataframe.GeoDataFrame'>
states.geom_type.head(4) # geometry의 유형 반환
0         Polygon
1         Polygon
2         Polygon
3    MultiPolygon
dtype: object
states.crs # 좌표 참조 시스템(CRS, Coordinate Reference System) 정보를 반환하는 속성
<Geographic 2D CRS: EPSG:4326>
Name: WGS 84
Axis Info [ellipsoidal]:
- Lat[north]: Geodetic latitude (degree)
- Lon[east]: Geodetic longitude (degree)
Area of Use:
- name: World.
- bounds: (-180.0, -90.0, 180.0, 90.0)
Datum: World Geodetic System 1984 ensemble
- Ellipsoid: WGS 84
- Prime Meridian: Greenwich

CRS는 좌표 참조 시스템의 약어입니다. 지리 데이터에서 위치를 나타내는 좌표 시스템입니다. 좌표 참조 시스템은 지구의 곡률과 크기를 고려하여 지리적인 위치를 정확하게 표현하기 위해 사용됩니다.

CRS는 다양하게 표현할 수 있으며, 각각의 방식은 지구의 모양과 크기에 대한 가정, 좌표 체계, 측정 단위 등을 정의합니다. 예로, WGS84(World Geodetic System 1984)는 가장 일반적으로 사용하는 좌표 참조 시스템 중 하나로, GPS와 같은 위치 기반 시스템에서 사용됩니다. UTM(Universal Transverse Mercator)은 작은 영역에서 좌표를 표현하는 데 사용되며 거리 계산에 특화되어 있습니다.

ax = states.plot()
plt.show()

2023-06-14-map_11_0

3. GeoJSON 파일로 내보내고 불러오기

# 내보내기
states.to_file('my_file.json', driver = "GeoJSON")
# 불러오기
new_df = gpd.read_file(r'C:\Users\82104\OneDrive\바탕 화면\study\python\minimal\my_file.json')
new_df
featurecla scalerank adm1_code diss_me iso_3166_2 wikipedia iso_a2 adm0_sr name name_alt ... FCLASS_ID FCLASS_PL FCLASS_GR FCLASS_IT FCLASS_NL FCLASS_SE FCLASS_BD FCLASS_UA FCLASS_TLC geometry
0 Admin-1 scale rank 2 USA-3514 3514 US-MN http://en.wikipedia.org/wiki/Minnesota US 1 Minnesota MN|Minn. ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-89.95766 47.28691, -90.13175 47.292...
1 Admin-1 scale rank 2 USA-3515 3515 US-MT http://en.wikipedia.org/wiki/Montana US 1 Montana MT|Mont. ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-116.04823 49.00037, -113.05950 49.0...
2 Admin-1 scale rank 2 USA-3516 3516 US-ND http://en.wikipedia.org/wiki/North_Dakota US 1 North Dakota ND|N.D. ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-97.22894 49.00089, -97.21414 48.902...
3 Admin-1 scale rank 2 USA-3517 3517 US-HI http://en.wikipedia.org/wiki/Hawaii US 8 Hawaii HI|Hawaii ... NaN NaN NaN NaN NaN NaN NaN NaN NaN MULTIPOLYGON (((-155.93665 19.05939, -155.9080...
4 Admin-1 scale rank 2 USA-3518 3518 US-ID http://en.wikipedia.org/wiki/Idaho US 1 Idaho ID|Idaho ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-116.04823 49.00037, -115.96780 47.9...
5 Admin-1 scale rank 2 USA-3519 3519 US-WA http://en.wikipedia.org/wiki/Washington_(state) US 6 Washington WA|Wash. ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-117.03143 48.99931, -117.02665 47.7...
6 Admin-1 scale rank 2 USA-3520 3520 US-AZ http://en.wikipedia.org/wiki/Arizona US 1 Arizona AZ|Ariz. ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-109.04522 36.99991, -109.04367 31.3...
7 Admin-1 scale rank 2 USA-3521 3521 US-CA http://en.wikipedia.org/wiki/California US 8 California CA|Calif. ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-114.64222 35.05311, -114.62212 34.9...
8 Admin-1 scale rank 2 USA-3522 3522 US-CO http://en.wikipedia.org/wiki/Colorado US 1 Colorado CO|Colo. ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-102.05017 40.00081, -102.04012 38.4...
9 Admin-1 scale rank 2 USA-3523 3523 US-NV http://en.wikipedia.org/wiki/Nevada US 1 Nevada NV|Nev. ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-117.02825 42.00002, -114.03422 41.9...
10 Admin-1 scale rank 2 USA-3524 3524 US-NM http://en.wikipedia.org/wiki/New_Mexico US 1 New Mexico NM|N.M. ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-109.04367 31.34190, -109.04522 36.9...
11 Admin-1 scale rank 2 USA-3525 3525 US-OR http://en.wikipedia.org/wiki/Oregon US 6 Oregon OR|Ore. ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-116.91500 45.99998, -116.67900 45.8...
12 Admin-1 scale rank 2 USA-3526 3526 US-UT http://en.wikipedia.org/wiki/Utah US 1 Utah UT ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-114.03422 41.99312, -111.05024 42.0...
13 Admin-1 scale rank 2 USA-3527 3527 US-WY http://en.wikipedia.org/wiki/Wyoming US 1 Wyoming WY|Wyo. ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-111.08518 44.50615, -111.06719 44.5...
14 Admin-1 scale rank 2 USA-3528 3528 US-AR http://en.wikipedia.org/wiki/Arkansas US 1 Arkansas AR|Ark. ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-89.66292 36.02307, -89.67351 35.940...
15 Admin-1 scale rank 2 USA-3529 3529 US-IA http://en.wikipedia.org/wiki/Iowa US 1 Iowa IA|Iowa ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-96.45266 43.50179, -95.35994 43.500...
16 Admin-1 scale rank 2 USA-3530 3530 US-KS http://en.wikipedia.org/wiki/Kansas US 1 Kansas KS|Kans. ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-102.04118 36.99198, -102.04012 38.4...
17 Admin-1 scale rank 2 USA-3531 3531 US-MO http://en.wikipedia.org/wiki/Missouri US 1 Missouri MO ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-89.66292 36.02307, -90.31539 36.023...
18 Admin-1 scale rank 2 USA-3532 3532 US-NE http://en.wikipedia.org/wiki/Nebraska US 1 Nebraska NE|Nebr. ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-102.05017 40.00081, -102.05017 40.0...
19 Admin-1 scale rank 2 USA-3533 3533 US-OK http://en.wikipedia.org/wiki/Oklahoma US 1 Oklahoma OK|Okla. ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-103.00322 36.99516, -102.04118 36.9...
20 Admin-1 scale rank 2 USA-3534 3534 US-SD http://en.wikipedia.org/wiki/South_Dakota US 1 South Dakota SD|S.D. ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-96.53945 46.01797, -96.55689 45.872...
21 Admin-1 scale rank 2 USA-3535 3535 US-LA http://en.wikipedia.org/wiki/Louisiana US 5 Louisiana LA ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-94.05976 33.01212, -93.09403 33.010...
22 Admin-1 scale rank 2 USA-3536 3536 US-TX http://en.wikipedia.org/wiki/Texas US 4 Texas TX|Tex. ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-106.50734 31.75429, -106.61953 31.9...
23 Admin-1 scale rank 2 USA-3537 3537 US-CT http://en.wikipedia.org/wiki/Connecticut US 1 Connecticut CT|Conn. ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-73.49794 42.05451, -72.73222 42.035...
24 Admin-1 scale rank 2 USA-3513 3513 US-MA http://en.wikipedia.org/wiki/Massachusetts US 6 Massachusetts Commonwealth of Massachusetts|MA|Mass. ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-71.80091 42.01325, -72.73222 42.035...
25 Admin-1 scale rank 2 USA-3538 3538 US-NH http://en.wikipedia.org/wiki/New_Hampshire US 1 New Hampshire NH|N.H. ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-70.81505 42.86519, -70.93360 42.884...
26 Admin-1 scale rank 2 USA-3539 3539 US-RI http://en.wikipedia.org/wiki/Rhode_Island US 6 Rhode Island State of Rhode Island and Providence Plantatio... ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-71.85383 41.32004, -71.79295 41.466...
27 Admin-1 scale rank 2 USA-3540 3540 US-VT http://en.wikipedia.org/wiki/Vermont US 1 Vermont VT ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-72.45707 42.72708, -73.28203 42.743...
28 Admin-1 scale rank 2 USA-3541 3541 US-AL http://en.wikipedia.org/wiki/Alabama US 5 Alabama AL|Ala. ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-88.16696 34.99967, -86.90968 34.999...
29 Admin-1 scale rank 2 USA-3542 3542 US-FL http://en.wikipedia.org/wiki/Florida US 5 Florida FL|Fla. ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-87.53039 30.27420, -87.45789 30.411...
30 Admin-1 scale rank 2 USA-3543 3543 US-GA http://en.wikipedia.org/wiki/Georgia_(U.S._state) US 6 Georgia GA|Ga. ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-85.00519 30.99069, -85.05442 31.108...
31 Admin-1 scale rank 2 USA-3544 3544 US-MS http://en.wikipedia.org/wiki/Mississippi US 5 Mississippi MS|Miss. ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-91.15624 33.01000, -91.10808 33.206...
32 Admin-1 scale rank 2 USA-3545 3545 US-SC http://en.wikipedia.org/wiki/South_Carolina US 1 South Carolina SC|S.C. ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-80.86501 32.03316, -81.03644 32.084...
33 Admin-1 scale rank 2 USA-3546 3546 US-IL http://en.wikipedia.org/wiki/Illinois US 1 Illinois IL|Ill. ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-91.43033 40.36860, -91.41023 40.551...
34 Admin-1 scale rank 2 USA-3547 3547 US-IN http://en.wikipedia.org/wiki/Indiana US 1 Indiana IN|Ind. ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-88.05108 37.81960, -88.01881 38.021...
35 Admin-1 scale rank 2 USA-3548 3548 US-KY http://en.wikipedia.org/wiki/Kentucky US 1 Kentucky Commonwealth of Kentucky|KY ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-89.49836 36.50620, -89.27398 36.611...
36 Admin-1 scale rank 2 USA-3549 3549 US-NC http://en.wikipedia.org/wiki/North_Carolina US 5 North Carolina NC|N.C. ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-83.07637 34.97903, -84.32097 34.986...
37 Admin-1 scale rank 2 USA-3550 3550 US-OH http://en.wikipedia.org/wiki/Ohio US 1 Ohio OH|Ohio ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-84.82368 39.10653, -84.81787 39.799...
38 Admin-1 scale rank 2 USA-3551 3551 US-TN http://en.wikipedia.org/wiki/Tennessee US 1 Tennessee TN|Tenn. ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-90.24924 35.02083, -90.13493 35.113...
39 Admin-1 scale rank 2 USA-3552 3552 US-VA http://en.wikipedia.org/wiki/Virginia US 6 Virginia VA ... NaN NaN NaN NaN NaN NaN NaN NaN NaN MULTIPOLYGON (((-83.33059 36.67266, -83.17851 ...
40 Admin-1 scale rank 2 USA-3553 3553 US-WI http://en.wikipedia.org/wiki/Wisconsin US 1 Wisconsin WI|Wis. ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-91.22820 43.50125, -91.25466 43.613...
41 Admin-1 scale rank 2 USA-3554 3554 US-WV http://en.wikipedia.org/wiki/West_Virginia US 1 West Virginia WV|W.Va. ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-81.97254 37.53595, -82.16728 37.554...
42 Admin-1 scale rank 2 USA-3555 3555 US-DE http://en.wikipedia.org/wiki/Delaware US 1 Delaware DE|Del. ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-75.04839 38.44876, -75.71462 38.449...
43 Admin-1 scale rank 2 USA-3556 3556 US-DC http://en.wikipedia.org/wiki/Washington,_D.C. US 1 District of Columbia DC|D.C. ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-77.04124 38.78954, -77.04123 38.789...
44 Admin-1 scale rank 2 USA-3557 3557 US-MD http://en.wikipedia.org/wiki/Maryland US 1 Maryland MD ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-75.37754 38.01538, -75.37754 38.015...
45 Admin-1 scale rank 2 USA-3558 3558 US-NJ http://en.wikipedia.org/wiki/New_Jersey US 5 New Jersey NJ|N.J. ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-75.52781 39.49865, -75.55427 39.691...
46 Admin-1 scale rank 2 USA-3559 3559 US-NY http://en.wikipedia.org/wiki/New_York US 3 New York NY|N.Y. ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-73.49794 42.05451, -73.55349 41.289...
47 Admin-1 scale rank 2 USA-3560 3560 US-PA http://en.wikipedia.org/wiki/Pennsylvania US 1 Pennsylvania Commonwealth of Pennsylvania|PA ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-80.51893 40.64111, -80.51627 42.324...
48 Admin-1 scale rank 2 USA-3561 3561 US-ME http://en.wikipedia.org/wiki/Maine US 6 Maine ME|Maine ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-70.64573 43.09008, -70.75102 43.080...
49 Admin-1 scale rank 2 USA-3562 3562 US-MI http://en.wikipedia.org/wiki/Michigan US 1 Michigan MI|Mich. ... NaN NaN NaN NaN NaN NaN NaN NaN NaN POLYGON ((-89.95766 47.28691, -89.84283 47.464...
50 Admin-1 scale rank 2 USA-3563 3563 US-AK http://en.wikipedia.org/wiki/Alaska US 6 Alaska AK|Alaska ... NaN NaN NaN NaN NaN NaN NaN NaN NaN MULTIPOLYGON (((-153.22873 57.96897, -152.5647...

51 rows × 122 columns

4. 데이터 매핑

world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))
world.head()
C:\Users\82104\AppData\Local\Temp\ipykernel_2480\913829029.py:1: FutureWarning: The geopandas.dataset module is deprecated and will be removed in GeoPandas 1.0. You can get the original 'naturalearth_lowres' data from https://www.naturalearthdata.com/downloads/110m-cultural-vectors/.
  world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))
pop_est continent name iso_a3 gdp_md_est geometry
0 889953.0 Oceania Fiji FJI 5496 MULTIPOLYGON (((180.00000 -16.06713, 180.00000...
1 58005463.0 Africa Tanzania TZA 63177 POLYGON ((33.90371 -0.95000, 34.07262 -1.05982...
2 603253.0 Africa W. Sahara ESH 907 POLYGON ((-8.66559 27.65643, -8.66512 27.58948...
3 37589262.0 North America Canada CAN 1736425 MULTIPOLYGON (((-122.84000 49.00000, -122.9742...
4 328239523.0 North America United States of America USA 21433226 MULTIPOLYGON (((-122.84000 49.00000, -120.0000...
# 가상의 데이터 생성
data = pd.DataFrame({
    'name': world['name'],
    'data': np.random.randint(100, 1000, len(world))
})
data.head()
name data
0 Fiji 698
1 Tanzania 207
2 W. Sahara 570
3 Canada 418
4 United States of America 438
world_df = world.merge(data, on = 'name')
world_df
pop_est continent name iso_a3 gdp_md_est geometry data
0 889953.0 Oceania Fiji FJI 5496 MULTIPOLYGON (((180.00000 -16.06713, 180.00000... 698
1 58005463.0 Africa Tanzania TZA 63177 POLYGON ((33.90371 -0.95000, 34.07262 -1.05982... 207
2 603253.0 Africa W. Sahara ESH 907 POLYGON ((-8.66559 27.65643, -8.66512 27.58948... 570
3 37589262.0 North America Canada CAN 1736425 MULTIPOLYGON (((-122.84000 49.00000, -122.9742... 418
4 328239523.0 North America United States of America USA 21433226 MULTIPOLYGON (((-122.84000 49.00000, -120.0000... 438
... ... ... ... ... ... ... ...
172 6944975.0 Europe Serbia SRB 51475 POLYGON ((18.82982 45.90887, 18.82984 45.90888... 958
173 622137.0 Europe Montenegro MNE 5542 POLYGON ((20.07070 42.58863, 19.80161 42.50009... 164
174 1794248.0 Europe Kosovo -99 7926 POLYGON ((20.59025 41.85541, 20.52295 42.21787... 528
175 1394973.0 North America Trinidad and Tobago TTO 24269 POLYGON ((-61.68000 10.76000, -61.10500 10.890... 449
176 11062113.0 Africa S. Sudan SSD 11998 POLYGON ((30.83385 3.50917, 29.95350 4.17370, ... 552

177 rows × 7 columns

fig, ax = plt.subplots(figsize = (10, 6))
world_df.plot(ax = ax, column = 'data', cmap = 'inferno', legend = False, alpha = 0.9)
ax.set_title('data')
ax.set_axis_off() # x축과 y축의 눈금과 레이블을 제거하여 축을 비활성화합니다.

cb = fig.colorbar(ax.collections[0], ax = ax, location = 'right', shrink = 0.5) # shrink: 컬러바의 크기 축소
plt.show()

2023-06-14-map_19_0

댓글남기기