2

で北極の特定の地域をプロットしようとしていggmapます。この地域の中心は緯度付近です。80ロン。残念ながら、灰色の背景と緯度と経度の軸のみが表示されます。さまざまな地域をプロットしようとしましたが、緯度を超えた地域を除いて、コードはすべての場所で機能するようです。73.6. これが私のコードの例です:

library(ggmap)
library(mapproj)
location <- get_map(location = c(lon = 0, lat = 80), zoom = 4, maptype = "hybrid")
ggmap(location)

では、なぜggmapこの場所をプロットできないのか、誰もが知っていますか?

4

1 に答える 1

3

私は同じ問題を抱えており(南極をプロットしようとしたとき)、それを回避するために に頼りましたが、パッケージggplotのいくつかの関数に依存していました。ggmap@Henrik のリンクが示唆するように、地図投影法が問題のようです。

全体のアイデアとコードは David Kahle の厚意によるものです

ケースで機能させるためにできることは次のとおりです。

location <- get_map(location = c(lon = 0, lat = 80), zoom = 4, maptype = "hybrid")

#Create a small data frame to pass to ggplot
fourCorners <- expand.grid(
  lon = as.numeric(attr(location, "bb")[, c("ll.lon", "ur.lon")]), 
  lat = as.numeric(attr(location, "bb")[, c("ll.lat", "ur.lat")])
  )
# The inset_raster function needs 4 data coordinates. Pull it out of your "location" that you got via get_map
xmin <- attr(location, "bb")$ll.lon
xmax <- attr(location, "bb")$ur.lon
ymin <- attr(location, "bb")$ll.lat
ymax <- attr(location, "bb")$ur.lat

# Now you are ready to plot it
mp <- ggplot(fourCorners, aes(x = lon, y = lat) ) + 
 inset_raster(location, xmin, xmax, ymin, ymax)            
mp

これにより、(経度= 0、緯度= 80)を中心とする「ハイブリッド」マップが得られます

ここに画像の説明を入力

于 2013-11-23T00:02:59.560 に答える