-1
나는 freq()를 사용하여 R에서 래스터의 픽셀 값의 빈도/카운트를 계산하려고합니다. 비교 두 예 래스터 생성 :큰 래스터 주파수 테이블/카운트
library(raster)
RastSmall <- raster(nrow=70, ncol=70)
RastBig <- raster(nrow=7000, ncol=7000)
set.seed(0)
RastSmall[] <- round(runif(1:ncell(r_hr), 1, 5))
RastBig[] <- round(runif(1:ncell(r_hr), 1, 5))
화소 카운트 사용 주파수()를
freq(RastSmall)
value count
[1,] 1 6540000
[2,] 2 12150000
[3,] 3 12140000
[4,] 4 11720000
[5,] 5 6450000
얻기 그러나, 상당히 큰 파일이고 시간까지, 즉 매우 긴 걸린다. R에서 더 빠른 방법이 있습니까? 여기에 작고 큰 래스터의 속도 차이 :
system.time(freq(RastSmall))
user system elapsed
0.008 0.000 0.004
system.time(freq(RastBig))
user system elapsed
40.484 0.964 41.445
이 속도를 높일 수있는 방법이 있나요? 또는 명령 줄에서 gdal 도구와 같은 것을 사용하여이 작업을 수행 할 수 있습니까?
[ask]를 읽고 필요한 [mcve]를 게시하십시오. –
예제를 추가했습니다. – mace
귀하의 질문에 입력 대 출력 대 코드가 무엇인지 말할 수 없으며 귀하의 알고리즘이 transofrmation을 수행해야한다고 말하는 것을 볼 수 없지만 'awk' 태그를 삭제하고 'R' 대답은 아마도'R' 전문가에게 완전히 이해 될 것입니다. 행운을 빕니다! –