Pysal에 새로오고로드, 읽기 등으로 그립을 잡을 수 있습니다. 나는 소수점 이하 (WGS84)의 테스트 포인트 데이터를 가지고 있으며 get_point_dist 함수를 사용하려고합니다. 그것을 실행 한 후에, 나는 정확한 응답을 얻지 만 미터/KM 등의 거리를 DD로보고 싶습니다.pysal에서 거리 단위를 설정할 수 없습니다
아이디어를 얻는 방법이나 대답은 "입력 데이터 투영"입니까?
Pysal에 새로오고로드, 읽기 등으로 그립을 잡을 수 있습니다. 나는 소수점 이하 (WGS84)의 테스트 포인트 데이터를 가지고 있으며 get_point_dist 함수를 사용하려고합니다. 그것을 실행 한 후에, 나는 정확한 응답을 얻지 만 미터/KM 등의 거리를 DD로보고 싶습니다.pysal에서 거리 단위를 설정할 수 없습니다
아이디어를 얻는 방법이나 대답은 "입력 데이터 투영"입니까?
PySAL의 get_points_dist 메소드는 유클리드 공간에서만 작동하기 때문에이를 사용하려면 입력 데이터를 투영해야합니다.
그러나 arcdist 메서드를 사용할 수 있습니다.
참고 : 포인트 튜플은 (Long, Lat) 순서로 제공되어야합니다. 예를 들어
:
>>> import pysal
>>> pt0 = (-74.0, 40.7)
>>> pt1 = (-77.0, 38.8)
>>> pysal.cg.arcdist(pt0, pt1)
arcdist은 완벽한 구형을 가정하고 계정에 지오이드 (WGS84)를하지 않습니다, 몇 가지 한계를 가지고있다. 기본값을 KiloMeters로 바꾸려면이 값을 변경하기 위해 필요한 단위로 구의 반경을 지정해야합니다. KM 및 마일 제공 상수, pysal.cg.sphere.RADIUS_EARTH_KM pysal.cg.sphere.RADIUS_EARTH_MILES
예 :
>>> pysal.cg.arcdist(pt0, pt1, pysal.cg.sphere.RADIUS_EARTH_KM)
PySAL의 KDTree는 구면 좌표로 작동하며 제공 (meteline/180 lng/-180 lng) 및 여론 조사에서도 가장 가까운 정확한 이웃 결과를 제공합니다.
>>> pts = [(-179.0,0.0), (170,0.0), (179.0,0.0)]
>>> kd = pysal.cg.KDTree(pts, distance_metric='Arc', radius = pysal.cg.sphere.RADIUS_EARTH_KM)
>>> d, i = kd.query((-180.0,0.0), k=3)
>>> d
array([ 111.19492664, 111.19492664, 1111.94926645])
>>> i
array([0, 2, 1])
KD 상수에 대한 헤드 업과 마찬가지로 KDTree 기능 공개에 감사드립니다. 필자가 가장 가까운 이웃 쿼리는 내가 뭘 찾았는지 – user965586
Charles, PySAL의 KDTree 용 문서가 숨겨져있는 것 같습니다 (예 : scipy KDTree 구현과 비교). PySAL 구현, km 단위의 거리 반환이 가장 유용 할 것이므로 좋은 링크의 방향으로 나를 안내 할 수 있습니까? Louis – user965586
KodTree에 대한 좋은 호출, 문서가 누락되었습니다. 문서의 소스가 항상 소스 코드입니다. https://github.com/pysal/pysal/blob/master/pysal/cg/kdtree.py – Charles