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

如何在dataframe中定位地图上异常点对应的数据集?

快速定位异常坐标数据的方法
  • 过滤超出地理范围的坐标
    地球纬度范围是[-90, 90],经度范围是[-180, 180],直接筛出不在这个区间的行:

    # 假设你的纬度列名为lat,经度列名为lon
    outliers <- df %>% filter(lat < -90 | lat > 90 | lon < -180 | lon > 180)
    

    图中那些跑到地图外的点大概率属于这类。

  • 用交互式可视化直接查看
    把ggplot图转成交互式的,鼠标悬停就能看到点对应的详细数据,还能框选异常点导出:

    library(plotly)
    # 替换成你自己的ggplot绘图代码
    p <- ggplot(df, aes(x=lon, y=lat)) + geom_point() + borders("world")
    ggplotly(p) %>% layout(hovermode = "closest")
    

    打开交互式图后,找到异常点悬停看信息,或者用框选工具选中后导出对应数据。

  • 检查坐标是否颠倒
    很多异常是把纬度和经度搞混了,比如把经度值放到纬度列。可以筛出这类疑似颠倒的行:

    # 筛选经度绝对值≤90、纬度绝对值>90的行(符合颠倒特征)
    reversed_coords <- df %>% filter(abs(lon) <= 90 & abs(lat) > 90)
    
  • 按分类分组排查
    如果数据有分类列(比如国家、地区),按分类分组计算坐标均值,定位均值明显偏离实际位置的分组,再深入查看该组数据:

    # 假设分类列名为region
    group_avg <- df %>% group_by(region) %>% summarise(avg_lat = mean(lat), avg_lon = mean(lon))
    # 筛选均值异常的分组
    filter(group_avg, avg_lat < -60 | avg_lat > 80 | avg_lon < -150 | avg_lon > 150)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 19:25:23