问题标签 [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 回答
8164 浏览

r - 如何将 geom_sf 生成的地图放在 ggmap 生成的栅格之上

我尝试了以下代码:

两层没有正确重叠;我尝试更改投影,coord_sf()但没有成功。

有什么建议吗?谢谢

0 投票
2 回答
888 浏览

r - r gis:用 sf 识别多边形之间的内部边界

这是我之前的类似问题的更新,同样的任务只是我需要在sf框架内完成。


我需要确定多边形之间的内部边界,这张地图中的红线。

在此处输入图像描述


sp框架内,我曾经使用一个包含@Spacedman答案的自写函数。这里是:

或者,可以使用raster::boundaries().


获取空间数据并复制地图的代码

0 投票
2 回答
241 浏览

r - R结合两个sfc_polygons列表

嘿,我有两个多边形列表。第一个是 1 个多边形(圆形)的列表,第二个是 260 个多边形(260 个矩形)的列表。请参见第一张图片(两个多边形列表)。

现在我想保留所有被圆触及的矩形。参见图 2合并和 3结果

有人有什么想法吗?有几件事情。st_combine, st_intersection - 但它们不适用于这个问题。

0 投票
1 回答
2810 浏览

r - 将线图例添加到 geom_sf

我有几个包含各种公共交通路线的空间形状文件,我想使用ggplot2sf库制作地图。这里的问题是我手动为一些特定的路线分配颜色,但我无法设法在图中添加图例。

关于如何使用的任何想法geom_sf

可重现的例子

在此处输入图像描述

我知道可以做这样的事情:

在此处输入图像描述

但是,我正在使用多个形状文件,因此我需要使用多个geom_sf. 另外,我希望图例看起来像线图例,而不是多边形图例。

0 投票
0 回答
366 浏览

r - 将 sfc_POINT 转换为 RasterLayer 的简单方法?

我正在使用sfR 中的空间数据库。我想使用该SpaDES::splitRaster()方法将由制成的网格拆分sf::st_make_grid()为多个图块。据我所知,无论是图书馆sf还是raster图书馆都不支持这样的操作。

但是,st_make_grid()返回一个对象sfc_POINT,但splitRaster()需要一个类型的对象RasterLayer(例如)。

sf在(或raster,但我更愿意留在)中是否有一种方法sf可以用来快速转换sfc_POINT为 a RasterLayer,理想情况下无需加载rgdaland rgeos

0 投票
2 回答
165 浏览

r - 使用 Hmisc 和 sf 包时出现 r 单位错误

加载 sf 包后,当我尝试获取字段的单位属性时出现错误。

下面是一个可重现的例子。

如果我指定了包和函数,我会收到错误,一条不同的错误消息

我怎样才能绕过这个错误

0 投票
2 回答
560 浏览

r - 使用光栅包相交的内存 (RAM) 问题

我无法在 R 上获取两个大型 SpatialPolygonsDataFrame 之间的交集。我的多边形数据代表建筑物和行政边界,我正在尝试获取它们之间的交集多边形。

我知道 raster 包中的 intersect 函数和 rgeos 包中的 gIntersection 可以完成这项工作(有一些差异),但它们不能一次处理我的所有多边形(大约 50.000 个多边形/实体)。

出于这个原因,我必须在一个循环中拆分我的计算,保存每个步骤的结果。问题是:这些功能不断填满我的物理内存,我无法清理它。我尝试使用 rm() 和 gc(),但它并没有改变任何事情。内存问题使我的 R 会话崩溃,我无法进行计算。

有没有办法在模拟期间在循环中释放 RAM?或者避免这个内存问题?

这里有一个可重现的例子,用于随机多边形。

谢谢 !

0 投票
2 回答
4188 浏览

r - 用 sf 快速制作 SpatialPointsDataFrame

我正在尝试做的任务对于spR 中的包非常简单,但我正在尝试学习sf因此我的问题。我正在尝试在 R 中创建点的形状。我有很多点,所以它必须是有效的。我在这两个方面都成功了spsf但是 sf 方法很慢。作为新手sf,我觉得我没有以最有效的方式进行操作。

我制作了 3 个不同的功能,它们做同样的事情:

1) 100%sp

2) 100% sf(可能很糟糕...)

3)两者的混合:

如果我对它们进行基准测试,您会发现函数 2 和 3 都比函数 1 慢得多:

他们是加快速度的方法sf吗?最后,我想使用st_write哪个更快,writeOGR所以留在里面sp并不理想。

0 投票
1 回答
1458 浏览

r - 更改图例标题会破坏 ggplot2 中的图例颜色

我正在尝试更改 ggplot 上的图例标题。这里有两个例子(部分来自这里);第一个是sf包装,这是我真正使用的。第二个没有那个似乎有同样问题的包。

有了sf,我想要什么:

这给出了一个标题不好的好传说: 在此处输入图像描述

使用,我修改了我的脚本以更改图例:

这使:

在此处输入图像描述

传说不再是渐变,为什么?

如果你没有sf,同样的情况发生在 a 上geom_bar

给出:

在此处输入图像描述

而这:

给出:

在此处输入图像描述

有没有办法只改变传说的标题而不是整件事?

我的会话信息:

0 投票
1 回答
1343 浏览

r - 图层名称重复时如何使用 st_read 读取多个图层

我有一个 kml 文件,它的解压版本。它有数千个带有 XML 标记的图层,其中许多图层名称重复。

我想使用sf::st_read. 诀窍是st_read一次读取一个图层,并且需要一个图层名称。如果它们是唯一的,我很乐意遍历获取的图层名称st_layers(),但它们不是。

是否有另一种方法来指定所需的图层,或者是否有一种方法可以批量重命名具有唯一 ID 的所有图层?

谢谢。

根据下面接受的答案添加一些颜色。最初,我尝试使用“read_xml”来编辑<name>节点,但似乎没有找到它们。

我下载了 KMZ 文件,将其加载到 Google 地球中,然后将其另存为 KML 文件(“Reports.kml”)。这是我的第一个错误。生成的 KML 是制表符分隔的,这使read_xml. read_xml它是有效的 XML,但即使st_功能有效,也无法正确识别标签。最好unzip在 KMZ 文件上使用。以下是使用 Google-Earth 保存的版本发生的情况:

没有什么!但是有一些东西:

解压后的 KMZ 会发生以下情况:

st_layers是一样的,但是现在节点已经正确找到了!

现在,下面提供的答案就像一个魅力!