Projects/Camping Info

[Camping info] Folium과 Leaflet.js의 차이점과 용도 파악

Chuuu_DevCamp:) 2022. 5. 19. 00:05
반응형

1. Folium

https://python-visualization.github.io/folium/

 

Folium — Folium 0.12.1 documentation

folium builds on the data wrangling strengths of the Python ecosystem and the mapping strengths of the leaflet.js library. Manipulate your data in Python, then visualize it in on a Leaflet map via folium. Concepts folium makes it easy to visualize data tha

python-visualization.github.io

Folium은 한마디로 leaflet.js을 호출해 데이터를 지도에 시각화 할 수있는 파이썬 기반 오픈소스 라이브러리이다.

즉, leaflet.js 라이브러리 위에 얹어져 있는 python 라이브러리라고 이해하면 될 것 같다. 

Folium으로 시각화하여 html으로 저장해보면, html의 script 파트가 전부 leaflet.js로 구성되어 있는 것을 확인 할 수 있다. 이에 따라 본인은 Folium은 데이터를 시각화 하기 위해 leaflet.js 기반 자바스크립트 코드를 생성해 주는 라이브러리라고 이해하였다.

 

Folium의 장점은 데이터를 python이라는 언어를 통해 쉽게 조작하고, folium 라이브러리를 호출해 leaflet.js 코드를 직접 짜지 않고 데이터를 시각화 할 수 있다는 것이다.

하지만, 생성된 leaflet 코드를 수정 하기 어렵다는 점과, python 코드 실행 시 매번 새로 html코드를 만들기 때문에 잘못 하다 기존 html 작업본이 날아갈 수 있다는 단점이 있어 folium은 방대한 양의 데이터를 시각화 하는 용도로만 사용 하는 것이 적합해 보인다.

2. leaflet.js

https://leafletjs.com/examples/quick-start/

 

Quick Start Guide - Leaflet - a JavaScript library for interactive maps

← Tutorials Leaflet Quick Start Guide This step-by-step guide will quickly get you started on Leaflet basics, including setting up a Leaflet map, working with markers, polylines and popups, and dealing with events. Preparing your page Before writing any

leafletjs.com

an open-source JavaScript library
for mobile-friendly interactive maps

leaflet.js는 위의 공식 문서에 명시된 바와 같이 자바스크립트를 이용해 가볍게 지도 객체를 호출해 mapping 할 수 있는 웹 지도화 라이브러리이다. 앞서 말한 folium의 지도 데이터 시각화를 leaflet.js를 사용해 얼마든지 구현이 가능하다.

웹에서 지도화 코드와 원하는 동작에 대한 코드 직접 작성하기 때문에, 지도기반 웹 서비스를 개발하는 용도로 사용 하는 것이 적합해 보인다.