使用R的数据包快速获取、调用各种地理数据

数据一直是科学研究绕不开的话题,为了方便快捷的获取各种地理数据,许多R包被开发出来,今天介绍一些方便快捷的数据R包。

rnaturalearth 包使 Natural Earth 数据可用。自然地球特征包括 1:10m、1:50m 和 1:1.1 亿比例尺的海岸线、河流、测深、政治边界、公路和铁路。下面我们使用这个包来获取国家边界数据:


library(rnaturalearth)
library(sf)
usa = ne_countries(country = "United States of America")

plot(usa_sf)

当然,我们可以使用这些数据做做一些更好看的地图,例如不同比例尺的地图,代码如下:


library(ggplot2)
#world map
world <- ne_countries(scale = 110) 
small_scale_map <- ggplot() +
  geom_sf(data = world) +
  coord_sf(xlim = c(-20, 50), ylim = c(33, 80)) +
  ggtitle("Europe")

install.packages("rnaturalearthdata")
# europe map
europe <- ne_countries(scale = 50, continent = "Europe") 
medium_scale_map <- ggplot() +
  geom_sf(data = europe) +
  coord_sf(xlim = c(5, 30), ylim = c(55, 71)) +
  ggtitle("Norden")

#norway map
norway <- ne_countries(scale = 10, country = "Norway") 

large_scale_map <- ggplot() +
  geom_sf(data = norway) +
  coord_sf(xlim = c(4, 9), ylim = c(59, 62)) +
  ggtitle("Vestland")

library(patchwork)
small_scale_map + medium_scale_map + large_scale_map

画出一个简单的海岸线:


coast = ne_coastline(scale = 10,returnclass = "sf")
ggplot()+
  geom_sf(data = coast)

ggOceanMaps,顾名思义,专注于海洋地图,包括海岸线、测深和冰川。ggOceanMaps 包包含一些数据。


.ggOceanMapsenv <- new.env()
.ggOceanMapsenv$datapath <- 'G:/R/R_study/ggOceanMapsLargeData' # 
library(ggOceanMaps)

basemap(limits = c(-30, 30, 50, 80),
        bathymetry = TRUE,
        glaciers = TRUE)
#换一个范围
basemap(limits = c(-180, 180, -90, 90),
        bathymetry = TRUE,
        glaciers = TRUE) 

 就这些吧,还有其他的数据,比如OSM,下次再写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梧桐GIS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值