如何控制添加到R中x,y空间点的噪声量?

酿酒师

相当新手R用户,我敢肯定有一个简单的解决方案-但我找不到。我有一个带有一系列空间坐标的数据框,以及许多其他属性。许多空间坐标是完全相同的-我想给它们添加一定量的噪声,以便我可以将它们保持在一定的半径内-在这种情况下为0.4米(即40厘米),同时还要跟踪它们相关属性。

我本质上是在寻找这个问题的R版本:https : //gis.stackexchange.com/questions/35479/adding-noise-to-overlapping-xy-coordinates-so-no-long-in-exact-same-地点

...因为当我使用ArcGIS遵循该问题的答案的指示时,我得到了一系列随机点,但是却失去了与这些点相关的属性,因此我不容易找到一种方法将它们进行备份。

有没有办法在R或类似的东西中使用抖动函数,并在空间上下文(例如40 cm)中指定空间坐标在该范围内随机分布的半径?我不明白如何操纵factor和amount参数以获得所需的输出。

编辑:

这是带有伪坐标的示例df。如您所见,第一和第三列的坐标是相同的,因为动物两次在同一块岩石下。我希望能够将抖动添加到这些坐标中,以便它们稍有不同,但是我想将抖动控制在40厘米以内(不超过岩石的大小)

mydf <- data.frame("point_id" = 1:6, "date_time" = c("6/5/2018 10:57","6/5/2018 14:30","6/6/2018 10:06","6/6/2018 11:06","6/7/2018 10:35","6/7/2018 15:50"), "Animal_ID" = c(4,5,4,5,4,6), "Rock_ID" = c(1,2,1,3,4,5), x_proj = c(831120.3759,831441.0415,831120.3759,831433.4414,831128.4778,831422.0822), y_proj = c(5877582.998,5875337.074,5877582.998,5875328.897,5877575.360,5875338.216))

#make a separate object for the coordinates#
xy <- mydf[,c(5,6)]

#Convert to a spatialpoints data frame (insert own epsg)
sp.mydf <- SpatialPointsDataFrame(coords = xy, data = tumbling_test, proj4string = CRS("+init=epsg:xxxxx"))

我希望我新生成的坐标仍然包含其他列(即Animal_ID,日期等)中的属性数据,因为我在ArcGIS中使用的其他方法会生成一系列新的随机pt,但我无法将它们与属性进行匹配。

同样,如果有一种方法可以仅将抖动添加到在岩石上发生多个事件的点上,那将很整洁。例如,在这里我只需要将抖动添加到第1行和第3行,因为其他坐标不会重复。添加抖动后,我想将结果转换回常规数据帧,然后将其导出到.csv

赫尔曼

有,如果要使用sf对象,操作会容易得多。

您还需要深入研究坐标参考系统(CRS),以使点抖动正确的距离。

如果您以spatialPointsdataframe开头,则使用st_as_sf()来返回一个sf对象。

下面是一个可重现的示例,其中点抖动约5公里。抖动有些随机,在此示例中约为2-5.5公里。

library(sf)
#> Linking to GEOS 3.6.2, GDAL 2.2.3, PROJ 4.9.3
library(tidyverse)

# load example data
nc <- read_sf(system.file('gpkg/nc.gpkg', package = 'sf'))

#make single points from polygons
nc_points <- st_centroid(nc)
#> Warning in st_centroid.sf(nc): st_centroid assumes attributes are constant over
#> geometries of x
#> Warning in st_centroid.sfc(st_geometry(x), of_largest_polygon =
#> of_largest_polygon): st_centroid does not give correct centroids for longitude/
#> latitude data

# Transform to a crs that uses meters as the distance
nc_points <- st_transform(nc_points, 3358)

nc_points_jittered <- st_jitter(nc_points, amount = 5000)

p1 <- ggplot(nc_points) + 
  geom_sf() + 
  ggtitle('Original')

p2 <- ggplot(nc_points_jittered) + 
  geom_sf() + 
  ggtitle('Jittered')

p3 <- ggplot() + 
  geom_sf(data = nc_points, color = 'red') + 
  geom_sf(data = nc_points_jittered, color = 'black') + 
  ggtitle('Both')

cowplot::plot_grid(p1, p2, p3, ncol = 1)

reprex软件包(v0.3.0)创建于2020-01-12

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将高斯白噪声添加到信号中

来自分类Dev

如何将非零元素添加到噪声中?

来自分类Dev

使用NSOperationQueue,如何将其添加到后台队列而不是main队列中?如何控制操作量?

来自分类Dev

如何将X和Y轴的预先计算的标准误差添加到r中的散点图中?

来自分类Dev

如何在R中的ggplot2中添加图例信息以获得添加到箱线图中的点的含义?

来自分类Dev

如何标记顶点并将 x 和 y 值添加到坐标中?

来自分类Dev

如何在Python中使用Soundfile将具有指定SNR的高斯噪声添加到音频文件中?

来自分类Dev

如何在MATLAB中的信号中添加x%噪声?

来自分类Dev

如何有效地将X模Y添加到numpy数组中的每个元素?

来自分类Dev

使用2D阵列和for循环将噪声添加到PGM图像中?

来自分类Dev

我如何添加到R中的列

来自分类Dev

我如何添加到R中的列

来自分类Dev

R如何将边界国家添加到国家空间多边形地图

来自分类Dev

如何将图片添加到clickcounter文本显示中?<图像> <点击量>

来自分类Dev

如何在不重建R的情况下将点添加到图的末尾

来自分类Dev

R:如何使用geom_point将点添加到并排错误栏

来自分类Dev

在正确的位置将点添加到R中的fill.contour

来自分类Dev

如何将点的图属性添加到最终点输出中

来自分类Dev

如何将点坐标添加到仅矩形的一侧的PointF列表中?

来自分类Dev

如何在一行的末尾将点添加到原始man文件中?

来自分类Dev

如何应用将项目符号点添加到记事本中列表的python脚本?

来自分类Dev

如何将名称空间添加到以下xml?

来自分类Dev

如何正确将XML命名空间添加到XMLDocument?

来自分类Dev

将命名空间添加到 XML 中的标头

来自分类Dev

如何将属性添加到Spring控制器的http请求中?

来自分类Dev

如何将对象从ng-repeat添加到控制器数组($ scope)中?

来自分类Dev

如何通过javafx中的控制器将标签添加到fxml文件?

来自分类Dev

如何将条件语句添加到由angular js控制的.aspx页中

来自分类Dev

如何将CSS动态添加到SAPUI5中的控制器

Related 相关文章

  1. 1

    如何将高斯白噪声添加到信号中

  2. 2

    如何将非零元素添加到噪声中?

  3. 3

    使用NSOperationQueue,如何将其添加到后台队列而不是main队列中?如何控制操作量?

  4. 4

    如何将X和Y轴的预先计算的标准误差添加到r中的散点图中?

  5. 5

    如何在R中的ggplot2中添加图例信息以获得添加到箱线图中的点的含义?

  6. 6

    如何标记顶点并将 x 和 y 值添加到坐标中?

  7. 7

    如何在Python中使用Soundfile将具有指定SNR的高斯噪声添加到音频文件中?

  8. 8

    如何在MATLAB中的信号中添加x%噪声?

  9. 9

    如何有效地将X模Y添加到numpy数组中的每个元素?

  10. 10

    使用2D阵列和for循环将噪声添加到PGM图像中?

  11. 11

    我如何添加到R中的列

  12. 12

    我如何添加到R中的列

  13. 13

    R如何将边界国家添加到国家空间多边形地图

  14. 14

    如何将图片添加到clickcounter文本显示中?<图像> <点击量>

  15. 15

    如何在不重建R的情况下将点添加到图的末尾

  16. 16

    R:如何使用geom_point将点添加到并排错误栏

  17. 17

    在正确的位置将点添加到R中的fill.contour

  18. 18

    如何将点的图属性添加到最终点输出中

  19. 19

    如何将点坐标添加到仅矩形的一侧的PointF列表中?

  20. 20

    如何在一行的末尾将点添加到原始man文件中?

  21. 21

    如何应用将项目符号点添加到记事本中列表的python脚本?

  22. 22

    如何将名称空间添加到以下xml?

  23. 23

    如何正确将XML命名空间添加到XMLDocument?

  24. 24

    将命名空间添加到 XML 中的标头

  25. 25

    如何将属性添加到Spring控制器的http请求中?

  26. 26

    如何将对象从ng-repeat添加到控制器数组($ scope)中?

  27. 27

    如何通过javafx中的控制器将标签添加到fxml文件?

  28. 28

    如何将条件语句添加到由angular js控制的.aspx页中

  29. 29

    如何将CSS动态添加到SAPUI5中的控制器

热门标签

归档