저는 50 개 이상의 다른 다각형 (50 개 이상의 다른 영역을 나타냅니다)과 10,000 개 이상의 데이터 포인트가있는 셰이프 파일을 하나의 영역에 포함하고 있습니다. 문제는 이미 10,000 개 이상의 포인트가 이미 있어야하는 지역으로 코딩 되었기 때문에 지리적 공간 거리에서이 코딩 된 지역에서 얼마나 멀리 떨어져 있는지 파악하고 싶습니다.다각형에서 지리적 거리를 계산하는 방법은 무엇입니까?
셰이프 파일을 라이브러리의 owin
개체로 변환하고 distfun
을 사용하는 나의 현재 접근법 (아래 코드)은 위도가 긴 유클리드 공간에서 거리를 가져옵니다. 그러나 나는 지리적 - 공간적 거리 (결국 km로 변환)를 얻고 싶습니다. 나는 어디로 가야합니까?
#basically cribbed from http://cran.r-project.org/web/packages/spatstat/vignettes/shapefiles.pdf (page 9)
shp <- readShapeSpatial("myShapeFile.shp", proj4string=CRS("+proj=longlat +datum=WGS84"))
regions <- lapply(slot(shp, "polygons"), function(x) SpatialPolygons(list(x)))
windows <- lapply(regions, as.owin)
# need to convert this to geo distance
distance_from_region <- function(regionData, regionName) {
w <- windows[[regionName]]
regionData$dists <- distfun(w)(regionData$lat, regionData$long)
regionData
}
sp에서 sp1을 시도하고 longlat = TRUE로 설정하십시오. – mdsumner
@mdsummer : spDistsN1은 두 점 사이의 거리를 계산합니다. 나는 다각형에서 점으로의 거리가 필요하다. 변환하는 방법은 나에게 즉시 명백하지 않다. – prabhasp
다각형의 좌표는? 중심 또는 일부 선택된 경계 지점 (가장 가까운 지점?) 또는 모든 경계 지점? 귀하의 질문은 이것에 대해 명확하지 않습니다. spDists/spDistsN1은지도 투영을 선택하지 않고 점 집합 사이에 필요한 큰 원 거리를 제공하므로 궁극적으로 올바른 좌표 또는 요약이 추출되면 사용하게됩니다.이 문제에 대한 질문을 명확히 할 수 있습니까? ? – mdsumner