带 R 的地图:无法更改点/坐标的投影

2024-01-08

我想绘制一个具有多个点(也称为纬度和经度坐标组合)的世界地图。

我不想使用墨卡托,因此我重新投影世界地图的数据和我的坐标。

当世界的投影发生变化时,所有点都会突然放置在地图的中间(这是一种常见行为,当投影不对齐时,请参阅https://www.earthdatascience.org/courses/earth-analytics/spatial-data-r/intro-to-coordinate-reference-systems/ https://www.earthdatascience.org/courses/earth-analytics/spatial-data-r/intro-to-coordinate-reference-systems/).

将投影分配给点时我做错了什么?

My code:

library(ggplot2)
library(sf)
library(rnaturalearth)

# assign a projection, for example ... 
crs <- 3035

# get data for the world map and assign the projection
world <- ne_countries(scale = "medium", returnclass = "sf")
world <- st_transform(world, crs = crs)

# create data frame with three points, convert it to a spatial object 
# and assign the same projection
points <- data.frame(longitude = c(-105.2519, 10.7500, 2.9833),
                     latitude = c(40.0274, 59.9500, 39.6167))

points <-  st_as_sf(points, coords = c("longitude", "latitude"), crs = crs)

# plot the data with ggplot2:
ggplot() + 
  geom_sf(data = world) +
  geom_sf(data = points, color = "red")

结果:

然而,当我使用标准投影 WGS84 时,它确实有效,即crs = 4326):


你的坐标points数据帧是根据纬度/经度定义的,与 EPSG 4326 一致。您应该将其转换为sf具有该特定对象crs参数,然后将其转换为其他坐标系。

替换这个:

points <- st_as_sf(points, coords = c("longitude", "latitude"), crs = crs)

有了这个:

points <- st_as_sf(points, coords = c("longitude", "latitude"), crs = 4326)
points <- st_transform(points, crs = crs)

并且您的代码应该可以工作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带 R 的地图:无法更改点/坐标的投影 的相关文章

随机推荐

  • chrome mobile和safari mobile中的陀螺仪值不同

    我目前正在构建一个小型全景照片查看器 它可以选择使用陀螺仪导航场景 我从 deviceOrientation 事件中获取数据 并将欧拉角转换为旋转矩阵 然后对其进行一些变换 最终通过 3dMatrix 变换移动 css 立方体 我的问题是
  • Bootstrap 材料设计 CDN

    我想使用 Bootstrap Material design github 页面说我可以从jsdelivr com http www jsdelivr com bootstrap material design 但随后入门 https fe
  • 可滚动元素的顶部被隐藏[重复]

    这个问题在这里已经有答案了 我正在开发一个项目 其中包括一个带有可滚动单元格的表格 这看起来可能不是使用表格的最优雅的方式 但这正是我的用例的方法 不幸的是 我的单元格内容的顶部仍然隐藏 我无法滚动到它 这是该项目的一个非常小的样本 一个大
  • 如何将相同的元素添加到javascript数组n次

    var fruits fruits push lemon lemon lemon lemon 与其推送相同的元素 不如这样编写一次 fruits push lemon 4 times 对于基元 使用 fill var fruits new
  • 创建 MSBuild 自定义任务以在*编译之前*修改 C# 代码

    我想创建一个自定义 MSBuild 任务 在 csc exe 编译我的 cs 文件之前更改它们 但是 当然 这不会就地修改它们 我不希望触及实际的源文件 我知道 PostSharp 和其他 NET AOP 框架 但它们不是这个特定项目的选择
  • 将逗号分隔的浮点数字符串转换为列表?

    我需要定义一个函数txtnum L 需要一串逗号分隔的浮点数 例如 1 5 2 5 3 5 作为参数并将其转换为列表 1 5 2 5 3 5 我尝试过使用 split join map 等 并且无法获取任何内容来返回不包含引号的列表 我对
  • 如何将 GPS 观察器移至 App.xaml 超类并将事件调度至其他页面/类?

    我是 silverlight WPF 和 WP7 开发新手 但我熟悉使用控制台或 Windows 窗体开发 C 所以请耐心等待 我正在尝试使用 Silverlight SDK 和 Microsoft Maps MapControl 以及 S
  • 如何将 recyclerView 中的前 4 项设置为可见性消失?

    实际上 我有一个菜单 可以在 recyclerView 中添加 MainActivity 按钮 在该菜单中我显示所有添加的按钮 以便可以删除所选按钮 但是我有 4 个该 recyclerView 的第一个项目应该是默认的 所以没有人应该触摸
  • DataGridView右键菜单/复制示例?

    我的表单上有一个 DataGridView dgv1 在特定的单元格中 我希望用户能够右键单击并选择 复制 以将单元格的内容复制到剪贴板 任何人都可以向我指出一个教程或网站的方向 展示如何在 C 中完成此任务吗 Thanks 您可以使用 C
  • bookdown 中的代码折叠

    RMarkdown 中用于 html 文档的代码折叠选项非常棒 该选项使编程方法对于感兴趣的人来说是透明的 而无需强迫观众滚动浏览数英里的代码 代码与散文和交互式图形输出的紧密放置使得整个项目更容易被更广泛的受众所理解 此外 它还减少了对额
  • 优化构造函数调用次数

    在工作中 我们有一个带有昂贵构造函数的类 因此我们希望调用它的次数尽可能少 我们研究了它的用途 并尝试使代码对 RVO 更加友好 然而 我们在 g 编译器中发现了一个怪癖 我们不明白发生了什么 请考虑operator 的两种实现 const
  • 单元测试静态类

    设想 语言C 使用VS2008单元测试框架进行单元测试 我有一个带有静态构造函数和 2 个方法的静态类 我编写了 4 个测试方法来测试整个班级 我的静态构造函数有一些重要的初始化 现在 如果我同时运行所有 4 个单元测试用例 静态构造函数将
  • 约束布局中的背景图像不起作用

    我希望我的应用程序在后台使用图像来进行注册和登录功能 我正在使用 android studio 2 3 到目前为止我可以看到自去年以来很多事情都发生了变化 我们现在使用相对或线性布局的地方就是约束布局 我包含了根布局的代码如下 androi
  • 由于 java.lang.IllegalArgumentException,应用程序在启动时崩溃:列“_id”不存在

    每当我启动我的应用程序时 我都会得到一个java lang IllegalArgumentException column id does not exist我的 LogCat 中出现错误 我已经创建了专栏 id 但它仍然抛出这个 这是我的
  • 零或一到零或一的关系

    有没有办法创建一个0 or 1 to 0 or 1数据库中的关系 例如 假设我有一张经理表和一张艺术家表 经纪人只能管理一名艺人 艺人也只能拥有一名经纪人 然而 经理人可以没有艺人 即寻找艺人来管理 而艺人也可能没有经理人 有什么办法可以做
  • 如何在 Facelets 的 EL 布尔表达式中使用 && ?

    我在弄清楚如何在 Facelets 中的 EL 表达式上执行和操作时遇到了一些麻烦 所以基本上我有
  • 如何在 asp.net MVC 中生成下载文件的链接?

    我正在测试轻而易举报告 http www codeplex com doddlereport从 IEnumerable 对象生成一些报告 我需要生成这样的链接 PDF http myserver com reports ProductsRe
  • ipc:// 上的 ZeroMQ REQ/REP 和并发性

    我使用 REQ REP 0MQ ipc 套接字实现了一个 JSON RPC 服务器 我遇到了奇怪的行为 我怀疑这是由于 ipc 底层 unix 套接字不是真正的套接字 而是一个事实一根管子 根据文档 必须强制执行严格的 zmq send z
  • 使用 Python 将 PDF 转换为一系列图像

    我正在尝试使用 Python 将多页 PDF 转换为一系列 JPEG 我可以使用可用的工具轻松地将 PDF 拆分为单独的页面 但我还没有找到任何可以将 PDF 转换为图像的工具 PIL 不起作用 因为它无法读取 PDF 我发现的两个选项是通
  • 带 R 的地图:无法更改点/坐标的投影

    我想绘制一个具有多个点 也称为纬度和经度坐标组合 的世界地图 我不想使用墨卡托 因此我重新投影世界地图的数据和我的坐标 当世界的投影发生变化时 所有点都会突然放置在地图的中间 这是一种常见行为 当投影不对齐时 请参阅https www ea