친애하는 사람들이 stackoverflow.for 루프의 R에있는 다각형의 면적 계산
SPDF의 각 다각형의 면적을 계산하려고합니다. 나는 데이터를 입력하고 영역 목록을 가져올 수있는 함수를 만들기 위해 노력하고 있습니다. 나는 내 폴리곤의 모든 영역을 반환하는 for 루프를 작성해야한다. 한 폴리곤의 표면 계산을 위해 다음 코드가 작동합니다 :
surfacefirstpolygon <- gArea(inputSPDF[1,1])
이 코드는 다음 코드를 실행할 때 i를 하나씩 출력합니다.
polys <- slot(inputSPDF,"polygons")
for(i in 1:length(polys)){
print(i)
}
은 그 때 나는 다음을 수행하여 for 루프에 함께 이러한 코드 조각을 넣어보십시오 :
이polys <- slot(inputSPDF,"polygons")
areasofpolygons <- for(i in 1:length(polys)){
gArea(inputSPDF[i,i])
}
이 작동하고 나에게 다음과 같은 오류를 제공하지 않습니다. is.projected (spgeom)에
오류 'is.projected'기능 선택 방법에 'obj와'인수 평가할 오류 : [.data.frame
에서 오류 (@ X의 데이터를, I, J, ... drop = FALSE) : 정의되지 않은 열이 선택되었습니다.
아무 잘못 알지 못합니다. =
dd = dim(inputSPDF)
for(i in 1:dd[1]){
areasofpolygons[i] <- gArea(inputSPDF[i,1])
}
나는 목록이 서로의 아래에 놓을 수 없기 때문에 그것이라고 생각했다. 그래서 나는 또한 작동하지 않는 다음을 시도했다 : test <- list() for i (1 in : polys)) { test [i] <- gArea (gem_ned_LAEA [i, i]) } – Zuenie
'data'와'grea' 란 무엇입니까? 이것은 재현 할 수 없습니다! BTW : 당신이하려고하는 방식으로 R에 목록 이해 메커니즘이 없습니다. 그런 것을 실현하기 위해 [적용 기능] (http://nsaunders.wordpress.com/2010/08/20/a-brief-introduction-to-apply-in-r/)을보십시오. –
데이터가 제 입력 데이터이고 gArea는 다각형의 표면을 계산하는 패키지 rgeos의 함수입니다. 적용 링크 주셔서 감사합니다. 그것을 지금 보게 될 것이다. 재현성에 관해서 : 저는 SpatialPolygonDataFrame으로 작업하고 있습니다. 처음부터 하나를 만드는 것은 쉽지 않습니다. 내가 물어 본 또 다른 질문에서 내 스크립트를 보관 용 계정에 연결하고 사람들이 보관 용 계정에서 내 shapefile을 다운로드하도록 허용했습니다. 그렇다면 안전하지 않을 수 있다는 의견을 받았습니다. 나는 그것을 더 나은 재현성있는 스크립트로 만드는 방법을 모른다. – Zuenie