728x90
반응형
WKT(Well Known Text) 포맷은 이름대로 직관적으로 도형의 정보를 알 수 있는 포맷이다. GEOS에서 소개된 WKT 포맷의 예는 아래와 같다.
POINT(0 0)
POINT EMPTY
LINESTRING(0 0, 0 1, 1 2)
LINESTRING EMPTY
POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))
POLYGON((0 0, 4 0, 4 4, 0 4, 0 0), (1 1, 1 2, 2 2, 2 1, 1 1))
POLYGON EMPTY
MULTIPOINT(0 0, 1 1)
GEOMETRYCOLLECTION(MULTIPOINT(0 0, 1 1), POINT(3 4), LINESTRING(2 3, 3 4))
점(POINT), 선(LINESTRING), 면(POLYGON), 다중점(MULTIPOINT), 기하집합(GEOMETRYCOLLECTION) 등 읽으면 의미를 알 수 있는 형태이다.
Shapely에 사용하는 방법은 이전 소개에서 보았던 방법대로 from shapely.wkt import dumps, loads 구문으로 관련 모듈을 import 한 후에 사용할 수 있다.
from shapely.wkt import dumps, loads
# WKT문자열을 Geometry로 변환
geom = loads('POLYGON EMPTY')
# Geometry를 WKT 문자열로 변환
dumps(geom)
if geom.is_empty:
print('비어있는 폴리곤 입니다')
위와 같이 사용할 수 있습니다. is_empty 는 geometry 객체에서 사용할 수 있는 연산으로 해당 도형이 null인지 확인 할 수 있습니다.
한가지 주의 사항은 도형의 경우, empty와 null을 혼동하지 않도록 더욱 조심해야 한다. 예를들어 교집합(intersection), 차집합(difference)의 결과가 없는 경우 empty가 되고, geometry 변수자체에 값이 없는 경우 null이 된다.
728x90
반응형
'공간정보 > Shapely(Python)' 카테고리의 다른 글
Shapely #3 기하 도형 그리기(Plot) (0) | 2022.11.14 |
---|---|
Shapely #1 bounding box 쉽게 만들기 (0) | 2022.11.14 |
Shapely #0 소개 및 설치 방법 (0) | 2022.11.14 |