태평양 지역의 경우 marmap
짤막음에서 마지막 예제를 재현하고 싶습니다 : 'marmap-DataAnalysis'. 예는 경도 여기 = (50)을 중심으로 전 세계의 직교 투영의 예이다 보여준다. I는 태평양 자오선, 즉 경도 = 155.5에 중심을 변경하려는 그러나projectRaster : 태평양 지역의 marmap을 사용하여 태평양 세계지도에서 수심 측정 데이터 ("NOAA.nc")의 래스터 투영
library(marmap)
library(raster)
# Get data for the whole world. Careful: ca. 21 Mo!
world <- getNOAA.bathy(-180, 180, -90, 90, res = 15, keep = TRUE)
# Switch to raster
world.ras <- marmap::as.raster(world)
# Set the projection and project
my.proj <- "+proj=ortho +lat_0=0 +lon_0=50 +x_0=0 +y_0=0"
world.ras.proj <- projectRaster(world.ras,crs = my.proj)
# Switch back to a bathy object
world.proj <- as.bathy(world.ras.proj)
# Set colors for oceans and land masses
blues <- c("lightsteelblue4", "lightsteelblue3",
"lightsteelblue2", "lightsteelblue1")
greys <- c(grey(0.6), grey(0.93), grey(0.99))
# And plot!
plot(world.proj, image = TRUE, land = TRUE, lwd = 0.05,
bpal = list(c(0, max(world.proj, na.rm = T), greys),
c(min(world.proj, na.rm = T), 0, blues)),
axes = FALSE, xlab = "", ylab = "")
plot(world.proj, n = 1, lwd = 0.4, add = TRUE)
I 의해이 시도 투영 파라미터를로 변경하는 것,
my.proj <- "+proj=ortho +lat_0=20 +lon_0=155.5 +x_0=0 +y_0=0"
하지만,
world.ras.proj <- projectRaster(world.ras,crs = my.proj)
결과 :
Error in if (nr != [email protected] | nc != [email protected]) { :
missing value where TRUE/FALSE needed
In addition: Warning messages:
1: In rgdal::rawTransform(projfrom, projto, nrow(xy), xy[, 1], xy[, :
259 projected point(s) not finite
2: In rgdal::rawTransform(projection(raster), crs, nrow(xy), xy[, 1], :
4 projected point(s) not finite
가 어떻게 태평양 지역에서 '수심 세계'를 그릴 수 있습니다?
감사합니다. 업데이트를 기대합니다. 이 버그에 대한 자세한 내용은? 그것은 투영의 유형 (+ proj = ortho)과 관련이 있습니까? – Tony
문제는 날짜 라인을 통한 투영에있었습니다. – RobertH