问题标签 [sf]

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.

0 投票
1 回答
789 浏览

r - 汇总来自 sf::st_intersection() 几何重叠的属性

我想总结一组几何的属性,对它们重叠的值求和。

在此处输入图像描述

在上面提供的最小示例中,我想对 d$att 求和并得到几何 #2 的 att=2(对应于重叠的那个)。

任何帮助将不胜感激。

0 投票
0 回答
4586 浏览

r - 改变 ggplot + geom_sf 等值线填充颜色

这涉及ggplot2github 上的版本,它支持从sf包中绘制空间数据。它是由安装的

我曾预料到以下情况

给地形颜色,但是它给

在此处输入图像描述

如何操作填充颜色?

0 投票
1 回答
43 浏览

r - 从拉长的缓冲区创建 SpatialLine

我有一个SpatialPolygonsDataFrame是道路的缓冲区。我想通过找到SpatialLine适合该缓冲区的路径来重新创建这条道路的大致路径。

关于如何做到这一点的任何想法?

可重现的例子

在此处输入图像描述

0 投票
1 回答
290 浏览

r - 如何获得带有轮廓的相交线的坐标 - R

我有一个从互联网上传的形状。基于其计算出的质心,我想从中绘制一条 50 度线并找到他与轮廓相交的坐标。知道我该怎么做吗?

谢谢。

脚本:

0 投票
1 回答
925 浏览

r - 无缝拟合两个 sf 多边形

问题

假设我们有两个无缝边界的 shapefile。只是,他们没有。有没有一种方法可以迫使它们彼此无间隙地粘在一起?

在此处输入图像描述


具体案例

我有两个 shapefile:一个用于欧洲地区 - REG,另一个用于邻国 - NEI。两个 shapefile 都取自Eurostat 存储库,应该可以很好地组合在一起;但有一些小的差距。另外,我需要简化多边形,然后差距变得非常明显。


我能想到的最好的

我尝试了几种方法,但没有成功。实现我看到的预期结果的唯一方法需要以下步骤:

  • 用我的 shapefile 之间的边界创建一条线 sf;
  • 从这条线创建一个足够大的缓冲区多边形以覆盖所有间隙;
  • 将此缓冲区加入并解散到邻居的 shapefile 中 - NEI
  • NEIREGshapefile剪掉扩展的部分。

显然,这是一个相当笨拙的解决方法。

有更好的方法吗?


此要点中可重现的示例


一个最小的例子

0 投票
1 回答
501 浏览

r - 检查 sf 几何是否在 R 中是连续的

有没有办法检查一个简单的特征几何是否在 R 中是连续的?我正在用 ggplot2 创建一些地图,它适用于单多边形连续单位,换句话说,没有岛屿或遥远领土的国家。例如,拉脱维亚工作正常: 在此处输入图像描述

但是葡萄牙变得一团糟:

在此处输入图像描述

领土遥远的国家是一场灾难(这是荷兰): 在此处输入图像描述

我猜这是过滤非连续部分的几何形状然后分别填充它们的问题。某处有执行此操作的功能吗?

以葡萄牙为例进行编辑

(抱歉,图片需要单独下载,不能100%复现)

0 投票
4 回答
8416 浏览

r - 通过R中的sf将经度和纬度序列转换为多边形

我有五个经度和纬度,形成这样的形状。

我怎样才能使用sf这样的包轻松地将它们转换为 sf 多边形数据框?

0 投票
1 回答
1186 浏览

r - 如何使用 R sf 包从底层网格中裁剪多边形?

我想知道它是否比下面使用 rstats sf 的示例更简单,以计算底层网格中多边形 shapefile 的(分数)面积覆盖率。到目前为止,我还没有找到可以为我完成这项工作的功能。这是我的例子:

现在开始计算,我首先通过从边界框('bpol')中减去'mpol'来反转多边形('ipol')并计算新的覆盖区域。

如果一个网格单元被覆盖两次,然后从网格中断处裁剪倒多边形,它会变得更加复杂

错误消息:“CPL_geos_op2(op, st_geometry(x), st_geometry(y)) 中的错误:评估错误:TopologyException:输入几何 1 无效:在 9.75 50.5 处或附近的嵌套壳在 9.75 50.5。

现在我的问题是,是否已经有一个功能可以完成这项工作?我错过了文档中的某些内容吗?当网格单元被裁剪多次时,如何解决错误?

谢谢和亲切的问候约尔格

0 投票
2 回答
1592 浏览

r - 如何使用 SF 包计算质心和多边形边缘之间的最大距离?

我有一堆不同形状和大小的多边形质心。我想计算从每个质心到其各自多边形的最远点的距离。

此问题已在此处使用 package::sp 和 package::rgeos 解决。

根据其小插图, sf 包“旨在长期接替 sp”。浏览文档我无法找到解决方案,但我不是简单功能方面的专家。有没有使用 sf 包完成此操作的好方法,或者我现在应该坚持使用 sf 和 rgeos 吗?

0 投票
2 回答
4078 浏览

r - R中的错误:没有适用于“st_centroid”的方法应用于“NULL”类的对象

编辑:我后来意识到错误出在我的完整数据集中,而不是代码中。我很抱歉。这对其他人可能有用也可能没有用。

我有一个小标题,有一个名为“几何”的列,它是多边形(我使用的是 sf 空间包)。我正在尝试向作为每个多边形质心的小标题添加一列。但是,我收到一个错误:“mutate_impl(.data, dots) 中的错误:评估错误:没有适用于 'st_centroid' 的方法应用于“NULL”类的对象。” 我看过一些关于类似主题的其他帖子,但不是很相似,以至于我无法弄清楚。如果我错过了什么,我道歉!

我不熟悉使用管道和 tidyverse,所以那里可能出了点问题。任何帮助,将不胜感激!

这是我的代码示例:

center1 = function(df){ centroid = st_centroid(df) }

table2 = x %>% mutate(center.1 =map(geometry, center1))

这是我的数据的一个非常小的样本(只有一行)——x 代码中的变量(对不起长度!):我加载了 tidyverse、tibble、dplyr、purrr 和 sf。