incastle의 콩나물

[python] 위도 경도 좌표 polygon 안/밖 유무 확인하기, shapely 본문

python

[python] 위도 경도 좌표 polygon 안/밖 유무 확인하기, shapely

incastle 2019. 3. 28. 21:54

데이터 마이닝 위치 데이터(위도, 경도)를 활용해서 분석 중 찾은 라이브러리 shapely.

폴라곤 내부의 점을 분석하는 용도로 사용해보자.

 

미션

1. polygon을 형성

2. 특정 좌표가 polygon 영역 안에 있으면 True 밖에 있으면 False

 

 

# 필요한 라이브러리 설치
!pip3 install --upgrade setuptools
!pip3 install shapely


from shapely.geometry import Point, Polygon

# 경희대 공대 위치를 폴리곤으로 형성
engineer = [(37.245452, 127.079964), (37.247041, 127.079842), (37.247912, 127.081486),(37.245588, 127.081612)]
engineer_poly = Polygon(engineer)

#맥북은 바로 설치가 됐는데 window는 라이브러리 설치가 바로 안된다는 이야기가 있다. 

https://www.lfd.uci.edu/~gohlke/pythonlibs/

 

Python Extension Packages for Windows - Christoph Gohlke

by Christoph Gohlke, Laboratory for Fluorescence Dynamics, University of California, Irvine. Updated on 2 April 2019 at 05:08 UTC. This page provides 32- and 64-bit Windows binaries of many scientific open-source extension packages for the official CPython

www.lfd.uci.edu

여기서 whl다운 받아서 

pip install packagename.whl 를 해야 한다고 함

여기서 whl다운 받아서 pip install packagename.whl

구글 지도를 이용하면 위도 경도를 찾을 수 있음. 적당하게 경희대 공대를 사각형 공간으로 정의 내리고 그 좌표로 폴리곤을 형성. 잘 만들어졌는지 확인하기 위한 좌표는 빨간색으로 색칠한 좌표와 같음. 테스트 1, 테스트 2

 

test_code1 = Point(37.245434, 127.078640)
#false 값이 나와야함
test_code2 = Point(37.246416, 127.080324)
#true 값이 나와야함


test_code.within(engineer_poly)
>> False

test_code2.within(engineer_poly)
>> True

 

Comments