본문 바로가기

컴퓨터/파이썬 (Python)

Ridge-map으로 지형도 그리기

시스템 사양 (환경)

CPU - 3700X

Memory - 64GB

Mainboard - Msi, MAG B550M MORTAR

GPU - VEGA 64

WSL - Ubuntu 20.04

 

우연히 방문한 github 글에서 Python으로 지형도를 그리는 글을 찾았다.

출처는 아래와 같다 (운영하시는 분이 정말 대단하신분 같다, 링크를 기록하는 겸 글을 쓴다.)

ridge-map | Pega Devlog (jehyunlee.github.io)

 

ridge-map

지형을 중첩된 line plot으로 그리는 ridgemap 라이브러리를 소개합니다. Matplotlib 생태계의 일원으로 쉽게 사용할 수 있습니다. 소스 코드를 조금 고쳐줄 필요가 있습니다. 1. ridge-map pypi: ridge-map/ 설

jehyunlee.github.io

 

1. Ridge Map 설치

pip install ridge_map 을 입력하여 설치한다.

 

2. Package import

 

from ridge_map import FontManager
from ridge_map import RidgeMap
import matplotlib.pyplot as plt

 

3. 구글맵 오류 수정

 

font = FontManager('https://github.com/google/fonts/blob/main/ofl/arsenal/Arsenal-Bold.ttf?raw=true')

 

4. 구글맵에서 좌표가져오기

 

구글 지도를 두번 클릭하면 사진처럼 경도와 위도가 출력된다.

원하는 범위의 위도와 경도를 기록 한 후, 아래의 코드에 입력해 준다.

(RidgeMap ((좌표 입력), font=font.prop))

 

5. 좌표로 지정한 범위의 지형도 출력/저장

 

rm = RidgeMap((124.318976,32.950181,131.451489,43.161168), font=font.prop)
values = rm.get_elevation_data(num_lines=150)
values=rm.preprocess(
    values=values,
    lake_flatness=2,
    water_ntile=10,
    vertical_ratio=100)
ax = rm.plot_map(values=values,
            label='Korea',
            label_y=0.1,
            label_x=0.7,
            label_size=40,
            kind="elevation",
            line_color=plt.get_cmap('gist_earth'),
            linewidth=1.2)


fig = ax.figure
fig.tight_layout()
fig.savefig("98_ridgemap_03.png")

 

6. 결과물