You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

新手如何快速入门R语言地图绘制?求基础操作及工具推荐

R语言地图绘制入门:国家地图+GPS点位实现

一、核心入门步骤

  • 数据准备:整理你的GPS数据表,确保包含经度(lon)和纬度(lat)数值型列,无缺失或异常值。
  • 获取底图数据:通过R包获取目标国家的地理轮廓数据,优先选择匹配GPS坐标系(常用WGS84,EPSG:4326)的数据源。
  • 叠加点位:将GPS数据与底图在同一坐标系下合并绘制,确保坐标系统一。
  • 优化展示:调整颜色、标注、投影方式,去除冗余元素让地图更直观。

二、推荐R包及实操示例

1. ggplot2 + maps/mapdata(入门首选)

ggplot2是R可视化的核心工具,搭配maps/mapdata能快速获取基础地图数据,代码简洁易理解。

示例代码:

# 安装并加载依赖包
install.packages(c("ggplot2", "maps", "dplyr"))
library(ggplot2)
library(maps)
library(dplyr)

# 获取目标国家地图数据(以中国为例)
country_map <- map_data("world") %>% filter(region == "China")

# 替换为你的实际GPS数据
gps_data <- data.frame(
  lon = c(116.4074, 121.4737, 104.0668),
  lat = c(39.9042, 31.2304, 30.5728),
  site_name = c("北京", "上海", "成都")
)

# 绘制地图
ggplot() +
  geom_polygon(data = country_map, aes(x = long, y = lat, group = group), fill = "#e0e0e0", color = "white") +
  geom_point(data = gps_data, aes(x = lon, y = lat), color = "#ff4d4d", size = 3) +
  geom_text(data = gps_data, aes(x = lon, y = lat, label = site_name), hjust = 1.2, size = 3) +
  coord_map(projection = "mercator") +
  theme_void()

2. sf + ggplot2(专业空间数据处理)

sf是R处理空间数据的标准包,支持高精度地理数据和复杂空间操作,适合有进阶需求的场景。

示例代码:

# 安装并加载依赖包
install.packages(c("sf", "ggplot2", "rnaturalearth"))
library(sf)
library(ggplot2)
library(rnaturalearth)

# 获取高精度国家地图数据(以美国为例)
country_sf <- ne_countries(country = "United States", returnclass = "sf")

# 将GPS数据转换为sf空间对象
gps_sf <- st_as_sf(gps_data, coords = c("lon", "lat"), crs = 4326)

# 绘制地图
ggplot() +
  geom_sf(data = country_sf, fill = "#f0f0f0", color = "black") +
  geom_sf(data = gps_sf, color = "#0066cc", size = 3) +
  geom_sf_text(data = gps_sf, aes(label = site_name), nudge_x = 1, size = 3) +
  theme_minimal()

3. leaflet(交互式网页地图)

如果需要制作可缩放、带弹窗的交互式地图,leaflet是最优选择,适合网页展示需求。

示例代码:

# 安装并加载包
install.packages("leaflet")
library(leaflet)

# 创建交互式地图
leaflet() %>%
  addTiles() %>% # 添加默认OpenStreetMap底图
  addPolygons(data = country_sf, fillColor = "#e6f2ff", color = "gray", fillOpacity = 0.7) %>%
  addMarkers(data = gps_sf, popup = ~site_name) # 添加点位及点击弹窗

三、入门关键注意事项

  • 坐标系统一:所有空间数据必须使用相同坐标系,GPS默认的WGS84(EPSG:4326)是通用选择。
  • 数据精度匹配:maps包数据较基础,rnaturalearth可获取更高精度的行政边界数据。
  • 异常值排查:提前清洗GPS数据,剔除超出目标国家范围的异常坐标。

内容的提问来源于stack exchange,提问作者Discus23

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 20:32:53