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

使用rmapshaper简化GeoJSON后R Plotly Choropleth图反转问题求助

问题原因

多边形顶点的**环绕方向(顺时针/逆时针)**在GeoJSON简化过程中被反转。Plotly的Choropleth依赖该方向识别多边形内部区域,方向错误会导致填充区域反转;而sf基础绘图会自动处理方向,因此显示正常。

解决方法

1. 简化时维持拓扑结构

修改ms_simplify参数,启用keep_shapes = TRUE避免方向反转:

geosf_simpl <- ms_simplify(geosf, keep = 0.01, keep_shapes = TRUE)

注:keep参数可按需调整,0.01比0.001保留更多细节,降低过度简化引发的拓扑问题风险。

2. 手动修正多边形方向

先修复无效几何,再反转顶点方向:

# 修复无效几何对象
geosf_simpl <- st_make_valid(geosf_simpl)
# 反转多边形顶点环绕方向
geosf_simpl <- st_reverse(geosf_simpl)

3. 优化GeoJSON转换

转换回GeoJSON时指定精度,减少文件体积同时保证兼容性:

geoback <- sf_geojson(geosf_simpl, precision = 3)
验证

将修正后的geojson2替换原代码中的geojson,重新运行即可得到正常显示的Choropleth图。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 21:44:55