更改 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 的相关文章

  • R foreach问题(某些进程返回NULL)

    我遇到了问题foreach我正在 R 中使用的程序的一部分 该程序用于运行不同参数的模拟 然后将结果返回到单个列表 然后用于生成报告 当并非所有分配的模拟运行都在报告上实际可见时 就会出现问题 从各方面来看 似乎只有分配的运行的一个子集实际
  • 如何删除箱线图上的刻度线

    我试图从箱线图中删除 x 轴刻度线 但保留与刻度线关联的标签 这在基础 R 中可能吗 colors lt c lightskyblue3 gray78 gold1 wheat1 boxplot avgscore module data mi
  • 我无法下载 R 中的 reshape2 包 [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我在尝试安装 R 包时收到此响应 gt installed packages reshape2 Package LibPath V
  • 时间戳半小时窗口内字段的平均值

    我的数据框有列名Timestamp es看起来像 Timestamp es 2015 04 01 09 07 42 31 2015 04 01 09 08 01 29 5 2015 04 01 09 15 03 18 5 2015 04 0
  • kernlab 中 SVM 训练之外的核矩阵计算

    我正在开发一种新算法 该算法可以生成修改后的核矩阵以用于 SVM 训练 但遇到了一个奇怪的问题 出于测试目的 我比较了使用 kernelMatrix 接口和普通内核接口学习的 SVM 模型 例如 Model with kernelMatri
  • twitterR 和 ROAuth R 软件包安装

    我在安装 CRAN 上的 twitteR 和 RAOuth 软件包时遇到一些问题 我尝试了几种不同的方法 在 Windows 下使用源代码 在 Ubuntu 下使用 RStudio 我尝试了以下命令 sudo apt get install
  • 从命令行运行 R 代码 (Windows)

    我在名为 analysis r 的文件中有一些 R 代码 我希望能够从命令行 CMD 运行该文件中的代码 而无需通过 R 终端 并且我还希望能够传递参数并在我的代码中使用这些参数 例如就像下面的伪代码 C gt execute r scri
  • 在 R 格子包中微调点图

    我正在尝试为不同的数据集和不同的算法绘制一堆 ROC 区域 我有三个变量 方案 指定所使用的算法 数据集 是正在测试算法的数据集 以及 Area under ROC 我正在 R 中使用lattice库 命令如下 点图 方案 Area und
  • 只读取选定的列

    谁能告诉我如何仅读取下面每年数据的前 6 个月 7 列 例如使用read table Year Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec 2009 41 27 25 31 31 39 2
  • 更改闪亮 R 中的默认浏览器

    我在 RStudio 中使用 01 hello 虽然在 IE 中默认打开程序时它不会显示直方图 但即使在 Chrome 中 滑块也不起作用 我无法滑动条形图并看到直方图中的变化 如何更改 R 中的默认浏览器 以便闪亮启动 Chrome 而不
  • 文本挖掘 pdf 文件/词频问题

    我正在尝试挖掘一篇具有丰富 pdf 编码和图表的文章的 pdf 我注意到 当我挖掘一些 pdf 文档时 我得到的高频词是 phi taeoe toe sigma gamma 等 它与某些 pdf 文档配合良好 但与其他文档配合使用时却得到这
  • 如何仅删除单括号并保留配对的括号

    你好 我亲爱的老师 R 用户朋友们 我最近开始认真学习正则表达式 最近我遇到了一种情况 我们只想保留配对括号 并省略未配对的 这是我的样本数据 structure list t1 c Book Pg 1 Website Online Jou
  • 使用 ggmap 截断密度多边形

    我在使用 R ggmap 绘制密度图时遇到问题 我的数据如下所示 gt head W date lat lon dist 1 2010 01 01 31 942 86 659 292 415 2 2010 01 10 32 970 84 1
  • 将不均匀的层次列表转换为数据框

    我认为还没有有人问过这个问题 但是有没有一种方法可以将具有多个级别和不均匀结构的列表的信息组合成 长 格式的数据帧 具体来说 library XML library plyr xml inning lt http gd2 mlb com c
  • R:如何获取该月的周数

    我是 R 新手 我想要该日期所属月份的周数 通过使用以下代码 gt CurrentDate lt Sys Date gt Week Number lt format CurrentDate format U gt Week Number 3
  • 投资决策:R中的NPV、IRR、PB计算

    我正在尝试计算不同数量项目的净现值 NPV 内部收益率 IRR 和投资回收期 PB 时间 以评估哪个投资项目提供最佳回报 到目前为止 我可以为每个项目单独计算几行代码 但我想做的是 编写一个函数 它接受一个包含许多不同项目及其现金流的矩阵
  • 如何在将两根柱子保持在一起的同时熔化柱子?

    我有这种宽格式的数据 我想将其转换为长格式 Cond Construct Line Plant Tube shoot weight shoot Tube root weight root 1 Standard NA NA 2 199 95
  • R:使用 tidyverse 将 NA 替换为 df 中的其他变量

    我想使用 tidyverse 替换 df 中的 NA 值 我想要的值应该从其他列中计算出来 input ID X1 X2 X3 A 0 96 NA 0 97 B 1 00 NA 1 01 C 0 98 0 03 NA A 1 00 NA 1
  • 在 ifelse() 语句内部和外部运行一行时的不同输出

    我正在尝试运行一个简单的命令 但不知道为什么在内部和外部运行它时输出不同ifelse 功能 函数条件评估为FALSE 所以输出应该完全相同 但是 单独运行时 输出为0 0 1 1 0 1 0 1 NA 根据需要 但是从ifelse 函数 输
  • 如何将plot中的单变量列表图表转换为ggplot2格式?

    我正在搜索 但仍然找不到一个非常简单的问题的答案 我们如何使用 R 中的 ggplot2 生成一个变量的简单线图 我正在分析时间序列数据 并且想要对图表进行更复杂的操作 我认为如果我使用 ggplot2 代替会更好plot It works

随机推荐

  • 有没有办法“提取”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