공간정보/Shapely(Python)

Shapely #0 소개 및 설치 방법

요긴소프트 2022. 11. 14. 11:21
728x90
반응형

Shapely는 기하학적인 객체의 조작 및 분석을 위한 파이썬 라이브러리입니다.

Manipulation and analysis of geometric objects

현재 Github에서 꾸준히 업데이트 관리되고 있습니다.

Buffer 구현 모습

 

소개에 따르면 널리 사용하고 있는 오픈 소스 기하학 라이브러리인 GEOS(PostGIS, JTS 등에서 사용)를 사용하고 있다고 합니다.

Shapely 2.0 이상 버전을 사용하시려면 Python 은 3.7이상, GEOS는 3.5이상, NumPy는 1.14 이상 버전이 설치되어 있거나 설치하면 됩니다. 설치방법은 간단히 pip install shapely 를 통해 할 수 있고, conda 환경이라면 conda install shapely --channel conda-forge 를 통해서서 설치 가능합니다.

다양한 공간연산을 제공하고 있으며, 전통적으로 많이 사용하는 WKT, WKB 포맷을 기본으로 제공하고 GeoJSON도 손쉽게 사용할 수 있습니다. 

>>> from shapely.wkt import dumps, loads
>>> dumps(loads('POINT (0 0)'))
'POINT (0.0000000000000000 0.0000000000000000)'
>>> import json
>>> from shapely.geometry import mapping, shape
>>> s = shape(json.loads('{"type": "Point", "coordinates": [0.0, 0.0]}'))
>>> s
<POINT (0 0)>
>>> print(json.dumps(mapping(s)))
{"type": "Point", "coordinates": [0.0, 0.0]}

라이센스는 BSD 3-Clause 라 상용 소프트웨어 제작에 적용가능합니다. 단, 오픈소스가 늘 그렇듯 관련 라이센스 사용에 대한 정보를 배포시 포함시켜야 겠지요.

 

728x90
반응형