专栏名称: 锐多宝
遥感技术教程、资讯与前沿论文
目录
相关文章推荐
商务河北  ·  经开区“美•强•优”三重奏 ·  13 小时前  
前端早读课  ·  【第3451期】前端 TypeError ... ·  2 天前  
51好读  ›  专栏  ›  锐多宝

GSODR获取中国及周边地区气象站点信息并预览

锐多宝  · 公众号  ·  · 2024-07-15 21:27

正文

前面的推文中介绍过ISD-LITE的气象站点信息获取 R语言+QGIS处理NOAA全球气象数据(一)气象站点信息提取 ,不过这篇推文里面使用的在线地图加载代码不好用了,这次使用中科星图星图地球数据云替换一下。

R里面调用星图地球数据云

申请token

在R里面调用星图地球数据云之前,需要先申请token,详见以前的推文介绍: QGIS又多了一个在线底图新选择,星图地球数据云测评,超好用!真香!

调用影像和注记服务

在R语言中可以使用 leaflet 包来调用在线地图服务。先把token保存为一个变量 geovis_token ,把星号部分替换成自己的token即可。

在这里使用了星图地球数据云的影像和影像注记服务,服务调用地址可以看星图地球数据云网站或前面 星图地球数据云测评推文

使用leaflet将影像和影像注记服务组合成一个leaflet在线地图服务geovismap,供后面调用。

library(tidyverse)
library(leaflet)

#添加中科星图数据云作为在线底图
geovis_token = "****"
geovis_satellite_url = paste0("https://tiles1.geovisearth.com/base/v1/img/{z}/{x}/{y}?format=webp&tmsIds=w&token=", geovis_token)
geovis_label_url = paste0("https://tiles1.geovisearth.com/base/v1/cia/{z}/{x}/{y}?format=webp&tmsIds=w&token=", geovis_token)
geovismap = leaflet() %>% 
  addTiles(urlTemplate = geovis_satellite_url) %>% 
  addTiles(urlTemplate = geovis_label_url)

GSODR获取气象站信息并预览

使用 GSODR 包获取气象站点信息,指定经纬度中心点,还有搜索半径,将气象站获取结果 x 这个数据框转换为 sf 对象,用于在地图上进行预览。

使用 leafem 包进行预览,以前面设置好的星图地球数据云作为底图,点击弹窗显示气象站名称。

library(GSODR)
library(sf)
#获取气象站
x #中国中心经纬度103,36,扩展4000公里
x_sf = st_as_sf(x, coords = c(x = "LON", y= "LAT"))  #将气象站点信息组成一个sf对象

leafem::addFeatures(geovismap, x_sf, popup = x_sf$NAME)







请到「今天看啥」查看全文