问题标签 [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.
r - 将 apply() 与简单特征 (SF) 函数一起使用
我编写了一个函数来计算质心与其多边形边缘之间的最大距离,但我不知道如何在简单特征(“sf)data.frame 的每个单独多边形上运行它。
如果我在单个多边形上测试该函数,它就可以工作。(警告信息与当前问题无关)。
问题是将此函数应用于整个data.frame。
我可以做些什么来为“sf”类的对象中的每个单独的多边形运行这个函数(或类似的函数)?
r - geom_sf: scale_*_continuous 没有效果
以下scale_x_continuous
与 with 结合使用geom_sf
会完全删除 x 轴标签。我假设 ggplot 对象中并不真正存在指定的中断,因此根本没有显示任何中断。
这是由 EPSG 32717 到 EPSG 4326 的自动转换引起的coord_sf()
吗?
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
或我应该检查的其他方法来执行此操作,请也让我知道这些。
谢谢!
代表
r - 无法在 Ubuntu 16.04 LTS 上安装“sf”R 包
我无法sf
R
在Ubuntu 16.04 LTS
. 我试过
也
跑完之后
收到以下错误消息:
配置:错误:gdal-config 未找到或不可执行。
错误:包“sf”的配置失败</p>
想知道安装方法是什么sf
?
r - (空间)找到点X米内所有点的有效方法?
我有一个大型空间数据集(12M 行)。几何图形是地图上的点。对于数据集中的每一行,我想找到该点 500 米范围内的所有点。
在 r 中,使用 sf,我一直在尝试通过并行循环每一行并运行 st_buffer 和 st_intersects 来做到这一点,然后将结果保存为键值格式的列表(键是原点,值是邻居)。
问题是数据集太大。即使并行处理超过 60 个内核,操作也需要很长时间(>1 周并且通常会崩溃)。
这种蛮力方法的替代方法是什么?是否可以使用 sf 构建索引?也许将操作推送到外部数据库?
代表:
r - SF 对象的多边形未对齐,可能是 bbox 问题
所以我有两个 SF 对象,一个多边形和一个多边形类,代表一个城市的社区和子社区。两者都来自 ArcGIS,并且覆盖完全相同的区域。但是,当我绘制这两个对象时,子社区在我的传单图中略有错位, 如此处所示。原来的预测是:
之后,我使用 st_transform 将两者都更改为 WGS84。
传单代码是:
我怀疑这是因为 sf 对象的 bbox 略有不同
SF 对象 1
科幻对象 2
我尝试将一个的 bbox 设置为另一个的 bbox,但使用 st_bbox 不起作用。任何帮助将不胜感激!
r - 使用 geom_sf 时向 ggplot2 添加多个图例
我的问题结合了之前在 Stackoverflow 上发布的两个单独的问题:i。 向 ggplot和 ii 添加多个图例。将线图例添加到 geom_sf。
我想添加多个图例ggplot2
(如第一篇文章中所述),但我正在使用sf
. 这使填充美学空间变得复杂。我建议的答案。以上不适用于多种类型的几何图形——我们不能将点和线分配给单个类然后使用因子。就我而言,我有几个线和点 shapefile,并且只想为添加的每个 shapefile 添加一个单独的图例条目。
似乎没有必要调用aes()
,但aes()
可能是调用图例的唯一方法。
可重现的例子
我想做类似于以下的事情(借用(i)),但没有这样as.factor
我可以单独调用geom_sf
:
也就是说,更像是:
r - st_intersection 到空间多边形数据框不起作用
我正在尝试获取两个 shapefile 的交集(位于某些大都市区边界内的人口普查区域)。我能够成功获得相交特征,但是当我尝试将 sf_intersect 的输出转换为 SpatialPolygonsDataframe 时,出现错误:
“as_Spatial(from) 中的错误:不支持从要素类型 sfc_GEOMETRY 到 sp 的转换”
这是我的代码:
r - 从 R 的 sf 包中并行化 st_union
我有一些需要解散的带有数百万个多边形的大型 shapefile。根据 shapefile,我需要按组解散或仅st_union
用于所有人。我一直在使用该st_par
功能,它对大多数科幻应用程序都非常有效。虽然当我在它上面使用这个函数时st_union
会返回一个列表,但我无法弄清楚如何使 sf 溶解函数并行化st_union
。
任何建议都会很有帮助!这是一个小代码片段来说明我的观点。
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
希望有人可以提供帮助。