问题标签 [ggspatial]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 如何使五大湖与R中的海洋颜色相同?
我是使用 R 制作地图的新手。我正在尝试制作北美地图(以美国为中心),并希望五大湖的颜色与海洋颜色相同。我当前的代码默认使它们与国家/州具有相同的颜色。关于如何改变颜色的任何想法?也许是不同的底图?
当前代码:
r - 如何使用 sf 真正计算球形 voronoi 图?
我想使用世界的球形性质(不是它的投影)制作一个带有 voronoi 镶嵌的世界地图,类似于使用 D3.js,但使用 R。
据我了解(“再见平坦的地球,欢迎 S2 球面几何”)该sf
软件包现在完全基于该s2
软件包,并且应该按照我的需要执行。但我不认为我得到了预期的结果。一个可重现的例子:
整个南极洲应该比其他两点更靠近墨尔本。我在这里想念什么?如何使用 计算球体上sf
的 voronoi ?
r - 在ggspatial中隐藏感兴趣区域之外的区域
我使用ggplot2
, ggspatial
和制作了地图sf
。我使用ggspatial
这样我就可以下载开源基础地图,而无需依赖 Google 并且需要 API 密钥。该ggspatial
annotation_map_tile
调用会下载一组提供基本地图的图块。我正在尝试将我感兴趣的州以外的地图涂白,以便底图仅显示在州内。
这是我的代码。dput
对象的sf
位于底部。当你运行它时,你会看到一张新墨西哥州的地图,上面有一条黑线勾勒出该州的轮廓。我想让地图在州外变成白色。
我尝试了两件事。首先,我虽然想以某种方式反转 fill 参数geom_sf
,但不认为有办法做到这一点。我的另一个尝试是将所有州都包括在一个额外的geom_sf
电话中并填充那些白色。这可能行得通,但它需要下载超过 4,000 个地图图块,我想避免这种情况,即使可以使用cachedir
参数保存地图图块。
r - 我部署的应用程序未正确显示地图
我写了一个shinyApp,它做一些计算并根据结果创建一些地图。在我的 Rstudio 中,一切正常,没有任何错误。我尝试在 Digital Ocean 上部署该应用程序并且该应用程序正在运行,但是我没有显示地图,而是收到此错误:
地图的代码是下一个。我只需要澄清 ggplot 数据中的帽子“世界”是我在应用程序中读取的一个 .rds 对象,它代表我正在处理的区域。
r - 在R中绘制地图,但它什么也没显示
我的代码:
这段代码应该生成切萨皮克湾的地图,但是当我运行它时,它不会产生任何东西。
r - sp::CRS 和 ggspatial::annotation_map_tile 分别出错
它工作得reprex::reprex()
很好(见下文),但在 Rterm 和 RStudio 控制台中我得到错误......你知道如何解决这个问题吗?有一些类似的问题,但到目前为止我还没有找到解决方案
非常感谢,克里斯托夫
由reprex 包于 2021-10-22 创建(v2.0.1)
r - ggspatial:geom_sf 因 coord_sf 中的某些 xlim 值而失败
我正在尝试做的事情:使用 ggspatial::geom_sf() 绘制空间对象,使用 coord_sf() 或 ggspatial::layer_spatial() 和 ggspatial::annotation_spatial() 的组合来指定绘图的范围。
这种 ggplot/ggspatial 行为已在几篇文章中进行了描述,但“解决方案”只是临时黑客,无法确保问题不再发生。请参阅: 在更新 ggplot2 后使用 coord_sf 设置 x 和 y 的限制 在 RStudio 中在美国地图上绘制纬度和经度点时出错
这段代码工作得很好:
就像这样:
但:
导致错误:st_cast.POINT(X[[i]], ...) 中的错误:无法从 POINT 创建 MULTILINESTRING
显然这不应该发生。我不明白为什么 geom_sf 调用 st_cast.POINT() 因为输入中不应该有任何点。我尝试了三种不同的世界地图(GADM 3.6 shapefile、rworldmap::countriesLow 和 rnaturalearth 之一),所以它似乎不是特定于数据集的。
使用这些 x 和 y 限制值,即使是简单的 sf 点对象也无法绘制!
错误消息再次是“无法从 POINT 创建 MULTILINESTRING”,我不知道它为什么会尝试创建 MULTILINESTRING。
更新:此处建议的解决方案不起作用: 为什么某些 xlims 和 ylims 在 ggplot 和 sf 中产生此错误?
结果,奇怪的是,只有在 150oE 和 160oW 之间的点,即太平洋上空大约 180 经度,被保存下来。我尝试使用从 0 到 360 的经度并交换 xmin 和 xmax,但无济于事。
除了 st_crop 的错误行为,传递正确的裁剪对象再次给出相同的错误:
结束更新
有解决方案或解决方法吗?