问题标签 [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 投票
2 回答
2234 浏览

r - 将 apply() 与简单特征 (SF) 函数一起使用

我编写了一个函数来计算质心与其多边形边缘之间的最大距离,但我不知道如何在简单特征(“sf)data.frame 的每个单独多边形上运行它。

如果我在单个多边形上测试该函数,它就可以工作。(警告信息与当前问题无关)。

问题是将此函数应用于整个data.frame。

我可以做些什么来为“sf”类的对象中的每个单独的多边形运行这个函数(或类似的函数)?

0 投票
1 回答
1174 浏览

r - geom_sf: scale_*_continuous 没有效果

以下scale_x_continuous与 with 结合使用geom_sf会完全删除 x 轴标签。我假设 ggplot 对象中并不真正存在指定的中断,因此根本没有显示任何中断。

这是由 EPSG 32717 到 EPSG 4326 的自动转换引起的coord_sf()吗?

0 投票
1 回答
748 浏览

r - 如何加快 `dplyr::mutate()` 中的空间操作?

我正在将sf包与dplyr和结合使用来解决空间问题purrr

我更愿意在mutate调用中执行空间操作,如下所示:

%>%我喜欢这种方法允许我使用and运行一系列空间操作mutate

不喜欢这种方法似乎显着增加了sf函数的运行时间(有时令人望而却步),我希望听到有关如何克服这种速度损失的建议。

这是一个详细说明速度损失问题的代表。


请注意:这不是一个最小示例,需要从 ESRI REST API 下载几个包和一个文件。我希望你能善待我;)

此示例的目标是添加一个新列,指示每个北卡罗来纳州县 ( ) 是否nc与任何水体多边形 ( ) 相交nc_wtr,如下图所示:

我创建了一个执行此计算的函数:st_intersects_any()

nc然后我在两个数据集(和nc_1e4)上对该函数进行基准测试,首先单独使用st_intersects_any(),然后在mutate调用中使用它。

基准测试清楚地表明该dplyr方法要慢得多,我希望有人提出减少或消除这种速度损失的建议,同时仍然使用该dplyr方法。

如果有明显更快的方法可以使用data.table或我应该检查的其他方法来执行此操作,请也让我知道这些。

谢谢!

代表

0 投票
1 回答
983 浏览

r - 无法在 Ubuntu 16.04 LTS 上安装“sf”R 包

我无法sf RUbuntu 16.04 LTS. 我试过

跑完之后

收到以下错误消息:

配置:错误:gdal-config 未找到或不可执行。

错误:包“sf”的配置失败</p>

想知道安装方法是什么sf

0 投票
3 回答
2975 浏览

r - (空间)找到点X米内所有点的有效方法?

我有一个大型空间数据集(12M 行)。几何图形是地图上的点。对于数据集中的每一行,我想找到该点 500 米范围内的所有点。

在 r 中,使用 sf,我一直在尝试通过并行循环每一行并运行 st_buffer 和 st_intersects 来做到这一点,然后将结果保存为键值格式的列表(键是原点,值是邻居)。

问题是数据集太大。即使并行处理超过 60 个内核,操作也需要很长时间(>1 周并且通常会崩溃)。

这种蛮力方法的替代方法是什么?是否可以使用 sf 构建索引?也许将操作推送到外部数据库?

代表:

0 投票
1 回答
321 浏览

r - SF 对象的多边形未对齐,可能是 bbox 问题

所以我有两个 SF 对象,一个多边形和一个多边形类,代表一个城市的社区和子社区。两者都来自 ArcGIS,并且覆盖完全相同的区域。但是,当我绘制这两个对象时,子社区在我的传单图中略有错位, 如此处所示。原来的预测是:

之后,我使用 st_transform 将两者都更改为 WGS84。

传单代码是:

我怀疑这是因为 sf 对象的 bbox 略有不同

SF 对象 1

科幻对象 2

我尝试将一个的 bbox 设置为另一个的 bbox,但使用 st_bbox 不起作用。任何帮助将不胜感激!

0 投票
1 回答
1825 浏览

r - 使用 geom_sf 时向 ggplot2 添加多个图例

我的问题结合了之前在 Stackoverflow 上发布的两个单独的问题:i。 向 ggplot和 ii 添加多个图例。将线图例添加到 geom_sf

我想添加多个图例ggplot2(如第一篇文章中所述),但我正在使用sf. 这使填充美学空间变得复杂。我建议的答案。以上不适用于多种类型的几何图形——我们不能将点和线分配给单个类然后使用因子。就我而言,我有几个线和点 shapefile,并且只想为添加的每个 shapefile 添加一个单独的图例条目。

似乎没有必要调用aes(),但aes()可能是调用图例的唯一方法。

可重现的例子

我想做类似于以下的事情(借用(i)),但没有这样as.factor我可以单独调用geom_sf

也就是说,更像是:

0 投票
1 回答
4218 浏览

r - st_intersection 到空间多边形数据框不起作用

我正在尝试获取两个 shapefile 的交集(位于某些大都市区边界内的人口普查区域)。我能够成功获得相交特征,但是当我尝试将 sf_intersect 的输出转换为 SpatialPolygonsDataframe 时,出现错误:

“as_Spatial(from) 中的错误:不支持从要素类型 sfc_GEOMETRY 到 sp 的转换”

这是我的代码:

0 投票
1 回答
1201 浏览

r - 从 R 的 sf 包中并行化 st_union

我有一些需要解散的带有数百万个多边形的大型 shapefile。根据 shapefile,我需要按组解散或仅st_union用于所有人。我一直在使用该st_par 功能,它对大多数科幻应用程序都非常有效。虽然当我在它上面使用这个函数时st_union会返回一个列表,但我无法弄清楚如何使 sf 溶解函数并行化st_union

任何建议都会很有帮助!这是一个小代码片段来说明我的观点。

0 投票
1 回答
824 浏览

r - 将 sf shapefile 数据框与外部 tibble 连接会出现错误

我正在尝试使用以下形状文件在荷兰地图上绘制多边形数据。

现在,如果我直接绘制简单的特征集合,它会起作用,下面绘制所有的城市。

结果:

在此处输入图像描述

但我的目标是将外部数据加入example_df数据shp框。这是我的小example_df

第一个问题:Error in common_by(by, x, y) : object 'Gemeente' not found怎么来的?虽然两个数据框中的名称和Gemeente列类相同?

第二个问题,当我现在尝试只绘制 shp 它是一个 data.frame 时,会发生以下错误:

我还不得不说,当我安装sf包时,出现了这些警告:

但它确实在读取原始形状文件后直接绘制它,st_read()并且在调用 library(sf) 时它说:Linking to GEOS 3.4.2, GDAL 2.1.2, proj.4 4.9.1

希望有人可以提供帮助。