我正在使用R與maps/mapproject/maptools包來繪製一些地圖,並注意到一種行爲似乎違反直覺我實際上限制了我能做的事情。在R中使用帶xlim/ylim的投影與「maps」包產生更大的地圖
繪製地圖歐洲的(與來自ETRS89/ETRS-LCC取出,所以沒有冰島並且還限幅在東方的限制)不指定任何投影:
library(maps)
map("world",xlim=c(-10.67,34.5),ylim=c(31.55,71.05), interior = T)
如預期結果,正在使用這些限制,並由此產生地圖。
通過地圖默認使用的投影,按照幫助:
The default is to use a rectangular projection with the aspect ratio
chosen so that longitude and latitude scales are equivalent at the
center of the picture.
這不是我需要一個良好的投影,我將使用一個LCC投影用的相似之處,如上述的SpatialReference指示.ORG鏈接:
library(maps)
map("world",xlim=c(-10.67,34.5),ylim=c(31.55,71.05), interior = T, projection="lambert", parameters = c(45,65))
box()
的結果是,它包括一個更大的區域意外(去很遠的北部和includi ng Russia),實質上使地圖無法使用。
有什麼奇怪的是,使用網格時,原來的限制明確認爲:
library(maps)
library(mapproj)
map("world",xlim=c(-10.67,34.5),ylim=c(31.55,71.05), interior = T, projection="lambert", parameters = c(45,65))
map.grid(cex=0.1 , col="grey30")
box()
我想吃些什麼(什麼我以爲會是上面的代碼的結果)是一個矩形作物,其中包括我指定的限制(由於使用了投影因此比預期的矩形區域更多)。此外,地圖周圍還有一個空白區域,以及每當使用map()投影時都會出現的邊框。
問題是:在使用map/mapproj/maptools時有沒有這種方法?我試圖人爲地改變xlim/ylim而沒有好的結果,因爲它似乎在很大的時間間隔內工作(即改變它們不會產生效果,直到突然一半的歐洲隨着下一次遞減而消失)。
乾杯,我已經接受,但忘了發表評論。這對我很有用,即使它確實有點冗長(但需要克服它的工作方式)。 @ alex-deckmyn的解釋更詳細地說明了爲什麼它以這種方式工作,但基本上與您的分析保持一致。 – fsmunoz