更改 SF 对象的 CRS

2024-04-04

我有一些“道路”作为 sp 对象:

class       : SpatialLinesDataFrame 
features    : 17360 
extent      : 490176.4, 567680.9, 148639.1, 212821  (xmin, xmax, ymin, ymax)
coord. ref. : +init=epsg:27700 +proj=tmerc +lat_0=49 +lon_0=-2     +k=0.9996012717 +x_0=400000 +y_0=-100000 +datum=OSGB36 +units=m +no_defs     +ellps=airy +towgs84=446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894 
variables   : 4
names       :    osm_id, lanes,     type, width 
min values  :        73,     2, motorway,   6.3 
max values  : 587969162,     6,    trunk,  18.9

我将它们转换为 sf 对象,如下所示:

roads                   <- st_as_sf(roads, crs = 27700)

转换后,SRID 为空,并且 proj4string(可能)看起来不正确。为什么是这样?我可以修复它吗?

Simple feature collection with 17360 features and 4 fields
geometry type:  LINESTRING
dimension:      XY
bbox:           xmin: 490176.4 ymin: 148639.1 xmax: 567680.9 ymax: 212821
epsg (SRID):    NA
proj4string:    +proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=400000 +y_0=-100000 +ellps=airy +towgs84=446.448,-125.157,542.06,0.1502,0.247,0.8421,-20.4894 +units=m +no_defs
First 10 features:
     osm_id lanes    type width                       geometry
73       73     2 primary   6.3 LINESTRING (526256 191950, ...
74       74     2 primary   6.3 LINESTRING (525236.4 190755...
75       75     2 primary   6.3 LINESTRING (526324.4 192518...
79       79     2 primary   6.3 LINESTRING (524912.4 190235...
482     482     2 primary   6.3 LINESTRING (527283.9 198571...
546     546     2 primary   6.3 LINESTRING (506089.1 205091...
1210   1210     2 primary   6.3 LINESTRING (526023.9 195013...
1213   1213     2 primary   6.3 LINESTRING (524861.1 196243...
1214   1214     2 primary   6.3 LINESTRING (524482.3 196798...
1698   1698     2 primary   6.3 LINESTRING (527335.3 195524...

我想我需要解决这个问题,因为我想将我的数据 st_transform() 到与栅格相同的 CRS,我必须提取一些值。

crs(raster)
CRS arguments:
 +proj=laea +lat_0=52 +lon_0=10 +x_0=4321000 +y_0=3210000 +ellps=GRS80 +units=m +no_defs

我想我可以通过这样做将我的“道路”转换为正确的 CRS?但这不起作用。我得到....

roads <- st_transform(roads, crs(raster))
'Error: cannot create a crs from an object of class CRS

帮助表示赞赏。谢谢。


你必须适应st_变换像这样的论点:

roads <- st_transform(roads, crs = 4326)

OR

roads <- st_transform(roads, crs = proj4string(raster))

或者正如@TimSalabim 所说:

roads <- st_transform(roads, crs = crs(raster)@projargs)

或者正如 @R'n'E 指出的:

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

更改 SF 对象的 CRS 的相关文章

  • 将值添加到 rCharts hPlot 工具提示

    我想通过 rCharts 向标准 Highcharts 工具提示添加一些额外的值 示例代码 require rCharts df lt data frame x c 1 5 y c 5 1 z c A B C D E name c K L
  • dplyr :过滤一系列行(在一列中)

    虚拟数据框 id family lt c 1 1 2 2 3 3 people lt c male female male female male children dataset lt data frame id family peopl
  • R 中有没有快速替换列值的方法?

    假设我们有一个包含数值的数据框 如下所示 Temperature Height 32 157 31 159 33 139 我想更换Height价值观与pic 00001 pic 00002等等 最终结果是 Temperature Heigh
  • 从 data.frame 创建新列

    我有一个长格式的数据集 其中测量 时间 嵌套在 Networkpartners NP 中 而 Networkpartners NP 又嵌套在人员 ID 中 下面是它的示例 真实数据集有数千行 ID NP Time Outcome 1 11
  • 使用 ggplot_build 和 ggplot_gtable 后使用 ggsave 保存图形

    我正在通过更改 ggplot build 生成的数据来修改使用 ggplot 构建的图表 原因类似于包括 geom boxplot 中填充美学中使用的缺失因子水平的空间 https stackoverflow com questions 1
  • 使用facet时ggplot2控制每行的面板数量?

    Is it possible to control the number of panels per row in a ggplot I can only get an equal number of panels on each row
  • 在 R 中使用 gamlss::lms 选择百分位数曲线

    我正在使用 gamlss 包中的示例代码来绘制百分位数曲线 library gamlss data abdom lms y x data abdom n cyc 30 它正在绘制自己的一组百分位数曲线 如何选择只绘制第 10 50 和 90
  • 在R中绘制3x3方形网格

    我得到了一个数字列表 n 9 想将它们画在一个 3 3 的正方形网格中 每个网格填充相应的数字 我如何在 R 中执行此操作而不安装额外的软件包 例如情节 非常感谢 这里有一个ggplot解决方案比我预期的要难一点 Setup the dat
  • R 的 dplyr 切片中的奇怪行为

    打电话时slice df i 在 R 的 dplyr 包中 如果我要求的行索引不存在 nrows lt i 它似乎返回除组中的第一行之外的所有行 就像我调用的那样slice df 1 例如 library dplyr c1 lt c a b
  • R Shiny - 修复了 Shiny 仪表板中的侧边栏和主标题

    我有一个简化的闪亮仪表板 请参阅下面的代码 我想修复侧边栏和主标题 因此 在其他帖子的帮助下 我编写了一个 CSS 文件来解决该问题 sidebar color FFF position fixed width 220px white sp
  • 如何更改 Quarto pptx 中的字体格式

    我正在 R 中使用 Quarto 创建 pptx 要更改我尝试更改的默认字体格式mainfont范围 但是当我渲染它时 最终的 pptx 文件具有默认字体 Calibri 这是我的文件 YAML 将 Quarto 文件渲染为 pptx 时如
  • 在多面图中用 N 注释 x 轴

    我正在尝试生成一些按治疗条件和访问次数细分的数字结果的箱线图 每个框中的观察次数都放在图下方 并且也标记了访问次数 这里有一些虚假数据可以用来说明 我举了两个我尝试过但不太有效的例子 library ggplot2 library plyr
  • (R 错误)错误:cons 内存耗尽(达到限制?)

    我正在处理大数据 并且有一个 70GB 的 JSON 文件 我正在使用 jsonlite 库将文件加载到内存中 我尝试过 AWS EC2 x1 16large 机器 976 GB RAM 来执行此负载 但 R 因错误而中断 Error co
  • 根据列A:列B范围内的值查找数据框中的相应行[重复]

    这个问题在这里已经有答案了 我有一个 data frame 和一个向量 例如 df data frame id 1 3 start c 1 1000 16000 end c 100 1100 16100 info c a b c vec c
  • 如何对工作区中的元素运行循环?

    gt ls 1 A anorex 1 anorexia B byMonth C clotting 8 counts d D d AD DelayByDay delayed glm D93 15 glmout groups h housing
  • 创建后修改 ggplot 对象

    有没有首选的修改方式ggplot创建后的对象 例如 我建议我的学生将 r 对象与 pdf 文件一起保存以供以后更改 library ggplot2 graph lt ggplot mtcars aes x mpg y qsec fill c
  • 如何使用 grid.arrange 移动图例位置

    我试图在一页中排列 4 个图 将图例放在底部中心 我用它来获取其中一个图的图例 因为它们对于四个图来说是相同的 get legend lt function myggplot tmp lt ggplot gtable ggplot buil
  • 如何在折线图中显示 Sep-12 格式的数据并抑制网格线和灰色背景?

    我正在努力使日期格式正确 数据已经是melt 格式 数据中有四个变量碰巧共享相同的数据 我只是想绘制一个简单的四线折线图 每个变量作为一条单独的线 并将 Sep 12 显示为最新数据点 我正在使用旧的 ggplot 请随意 我有两个问题 第
  • 计算数据帧 R 中字符串的频率

    我想计算数据框中某些字符串的频率 strings lt c pi pie piece pin pinned post df lt as data frame strings 然后我想计算字符串的频率 counts lt c pi in pi
  • R 编程中的字符串分割

    目前 下面的脚本将组合的项目代码拆分为特定的项目代码 rule2 lt c MR df 1 lt test grep paste rule2 sep collapse test Name y SpaceName 1 lt function

随机推荐

  • 有没有办法“提取”Expression Blend 的 WPF 控件?

    我不确定组成 Expression Blend 的 UI 的 WPF 控件是否以可用的方式打包在应用程序中 例如单独的程序集等 但是如果不是 是否有一种方法可以 提取 这些控件 以便您可以您的应用程序中具有相同外观和功能的相同控件吗 我相信
  • 如何以编程方式保存用户设置?

    我有一个按钮 可以打开窗口颜色托盘 然后将选择的颜色分配给某个虚拟工作室中的选定元素 用户首先通过鼠标单击选择元素 然后根据元素 ID 分配颜色 因此 每次单击按钮时 相同或不同元素的颜色都会发生变化 元素 ID 是从当鼠标单击某个元素时触
  • 时间线的最佳技术

    现在卡扎菲40多年的统治已经结束 我想将他的统治时期与其他国家的统治时期构建一个时间线图 例如美国总统 德国总理等 因此 x 轴是时间 y 轴是国家和时间线 按正确的时间范围划分 显示美国的尼克松 福特等 当我尝试学习 R 时 我更喜欢该语
  • 在Python中将多个参数传递给pool.map()函数[重复]

    这个问题在这里已经有答案了 我需要某种方法来使用 pool map 中接受多个参数的函数 根据我的理解 pool map 的目标函数只能有一个可迭代作为参数 但有没有一种方法可以传递其他参数 在这种情况下 我需要传递一些配置变量 例如我的
  • Xcode 4.6 自动授权不起作用 - “没有有效的 aps 环境”

    我遇到了著名的错误 无法获取令牌 错误 错误域 NSCocoaErrorDomain Code 3000 找不到应用程序的有效 aps environment 权利字符串 UserInfo 0x413be0 NSLocalizedDescr
  • 将 JsDoc3 用于大型应用程序,如何将模块分组为部分/类别/子模块

    我正在开发一个应用程序 随着时间的推移 它会变得相当庞大 我决定使用JsDoc3 and DocStrap记录所有模块 模块是通过 require js 定义的 在某些地方它们的嵌套深度可达 3 或 4 层 到目前为止 我了解到 JsDoc
  • 生成 DTMF 音

    我想知道是否有人遇到过在 iPhone SDK 中生成铃声的方法 我正在尝试生成 DTMF 音调 但似乎找不到任何实质性内容 我还希望能够指定播放音调的时间 即模拟按住按钮而不是简单地按下按钮 我发现了一个名为 iPhreak 的开源应用程
  • 实体框架指南

    我正在尝试使用 SQL Server 2008 设置实体框架 我使用 Guid 作为表上的键 有没有办法设置它以便数据库自动生成密钥 我尝试将 RowGuid 设置为 true 并将列的默认值设置为 newid 不管怎样 映射的类仍然需要我
  • 触发 onsubmit 而不使用提交按钮

    我陷入困境 试图使用提交函数 formElement submit 提交我的表单 好吧 实际上它确实将表单输入值发送到后端 但我试图阻止它并在两者之间添加 ajax Jade pug form score form method POST
  • 想知道如何将 Groovy 2.3 与 Netbeans 8 结合使用?

    当我安装 Groovy 2 3 时 我很失望 我发现我无法将它与 Netbeans 8 一起使用 为什么 因为 Netbeans Groovy 支持固定在内置 Groovy 2 1 上 这与 Netbeans 支持 Ruby JRuby J
  • 如何发送APDU到Mifare Classic 1k卡?

    我想要实现的是将 APDU 命令发送到 MIFARE Classic 1K 卡以更改其 A 和 B 密钥 我能够与卡建立连接并使用默认密钥 FFFFFFFFFFFF 来读取块 0 和块 1 我使用了 HID MifareSamples 应用
  • 如何让 newtonsoft 将 yes 和 no 反序列化为布尔值

    注意 我已在此提要的底部提供了解决方案 我有一个 C Win 8 应用程序 其中我正在反序列化一些如下所示的 json Unit name House 123 isAvailable no name House 456 isAvailabl
  • 日期时间在数据网格、列表视图中不以当前文化格式显示

    在 WPF 中 我试图将日期属性绑定在DataGrid我只能在它绑定到 a 时进行排序DateTime财产 应用程序应以与用户的区域和语言设置相对应的格式显示日期 问题是当日期是string属性 它根据 Region 设置显示 但是当该属性
  • Swing 主动渲染效率或如何将主动渲染与 GUI 小部件结合起来

    继续从上一个问题 https stackoverflow com questions 3256269 jtextfields on top of active drawing on jpanel threading problems 我一直
  • Composer/Laravel:如何添加/更新特定包

    如何使用 Composer 添加 更新特定包 我也在使用最新的 Laravel 不确定它是否重要 但任何可以帮助确定答案的东西 我还从我发现的旧 Stackoverflow 帖子中尝试了以下内容 但它对我不起作用 它将包附加到compose
  • 如何将 Docker Web 应用程序容器连接到 Docker PostgreSQL 容器?

    我正在练习制作一个与 PostgreSQL 数据库交互的 Golang Web 应用程序 每个应用程序都在自己的容器上运行 我正在运行容器docker compose up 但我似乎无法正确设置 postgres 容器 为了简洁起见 链接到
  • 在 MATLAB 中使用连续滑块的值

    我有点被困在这里了 我尝试阅读和实现一些简单的连续滑块脚本 像这个 https stackoverflow com questions 6032924 in matlab how can you have a callback execut
  • 如何延长 CloudBuild 超时

    我尝试了许多不同的选项来延长 CloudBuild 持续时间 但我的 gcloud 应用程序部署步骤总是在 10 分钟后超时 根据其他线程的提示 我在本地终端上尝试了此设置 gcloud config set app cloud build
  • 我应该使用 Selenium 还是 Jasmine 来使用 RSpec 测试视图文件?

    我使用 Ruby on Rails 3 2 2 cucumber rails 1 3 0 rspec rails 2 8 1 和 capybara 1 1 2 以及 Selenium 驱动程序 收到我的答复后上一个问题 https stac
  • 更改 SF 对象的 CRS

    我有一些 道路 作为 sp 对象 class SpatialLinesDataFrame features 17360 extent 490176 4 567680 9 148639 1 212821 xmin xmax ymin ymax