나는이 질문에 대한 답을 알아내는 동안 약간을 보냈습니다. Google 검색 에서 즉시 분명하지는 않으므로 여기에 답변을 게시하면 도움이 될 것이라고 생각했습니다. 비 연속 다각형 에 대한 추가 질문도 있습니다 .
즉각적인 쉬운 답변 : 다음 명령을 사용하십시오.
centroids <- getSpPPolygonsLabptSlots(polys)
(이것은 R의 중요한 공간 패키지에 대한 SpatialPolygonsDataFrame R 데이터 클래스 의 클래스 설명 에서 발견되었습니다. sp )
이것은 정확히 똑같은 일을하는 것 같습니다
cents <- SpatialPointsDataFrame(coords=cents, data=sids@data, proj4string=CRS("+proj=longlat +ellps=clrk66"))
다음 코드에서 R 설치시 복제 가능해야합니다 (시도하십시오!)
#Rcentroids
install.packages("GISTools")
library(GISTools)
sids <- readShapePoly(system.file("shapes/sids.shp", package="maptools")[1],
proj4string=CRS("+proj=longlat +ellps=clrk66"))
class(sids)
plot(sids)
writeSpatialShape(sids, "sids")
cents <- coordinates(sids)
cents <- SpatialPointsDataFrame(coords=cents, data=sids@data,
proj4string=CRS("+proj=longlat +ellps=clrk66"))
points(cents, col = "Blue")
writeSpatialShape(cents, "cents")
centroids <- getSpPPolygonsLabptSlots(sids)
points(centroids, pch = 3, col = "Red")
센트 (파란색)와 센트 로이드 (빨간색)가 동일한 센트 로이드 인 경우 (코드를 실행 한 후에 표시되어야 함) :
여태까지는 그런대로 잘됐다. 그러나 QGIS에서 다각형 중심을 계산할 때 (메뉴 : Vector | Geometry | Polygon Centroids) 비 연속 다각형에 대한 결과는 약간 다릅니다.
따라서이 질문은 3 가지입니다.
- 빠르고 쉬운 답변
- 인접하지 않은 다각형의 중심을 계산하기 위해 R을 사용하는 사람들에게 경고
- 멀티 파트 (비 연속) 폴리곤을 올바르게 설명하기 위해 R에서 어떻게 수행해야하는지에 대한 질문