r - 如何使用 st_write 将 sf 对象作为 shapefile 写入 ESRI 文件地理数据库?

标签 r esri sf

如何使用 st_write 将 sf 对象作为 shapefile 写入文件地理数据库?

我不太明白与文件地理数据库相关的 st_write 的“dsn”、“layer”和“driver”参数。

例如,我已经尝试了这两个,但没有运气

st_write(sf.object, dsn = "filepath/FileGeoDatabase.gbd",layer="name of output layer", driver="OpenFileGDB")

st_write(sf.object, dsn = "filepath/FileGeoDatabase.gbd",layer="name of output layer", driver="ESRI Shapefile")

最佳答案

这里有几件事:首先,您不能将 shapefile 写入 ESRI 地理数据库,因为那里只能存储要素类和要素数据集。其次,您不能通过 sf 写入地理数据库;你只能阅读它们。

你有几个选择。您可以使用 sf 将数据保存为地理数据库之外的 shapefile(或任何其他空间数据格式)。 :

library(sf)

## it will guess the driver automatically based on the .shp extension
st_write(sf.object, "data/my_shapefile.shp")

或者,如果您绝对需要写入地理数据库,则可以使用 arcgisbinding库,但请注意,您需要使用具有事件 ArcGIS 许可的计算机。因此,这在 GNU/Linux 和 Mac 上是行不通的。

我无法验证这是否有效,因为我使用的是 GNU/Linux,但它应该是这样的:
library(arcgisbinding)

arc.write("data.gdb/fc", sf.object)

有关 R-ArcGIS Bridge(和 arcgisbinding 包)的详细信息可以在 here 中找到。 .

关于r - 如何使用 st_write 将 sf 对象作为 shapefile 写入 ESRI 文件地理数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51622200/

相关文章:

R 使用先进先出法计算总 yield 或损失

r - 根据查找表创建新变量

java - Android - 类型 ID 的预期资源

r - 从 knitr 中的相同 block /语句生成两个图

javascript - 如何在 ArcGIS API for Javascript 3.x 中选择和删除图形(通过环数组)

javascript - 如何在Openlayers 3中显示ESRI矢量 basemap

r - 如何创建车辆沿路线从 A 移动到 B 的动画?

r - 具有相同空间尺度的带有 geom_sf 的小型多张 map

r - 如何在 R 中使用带有 sf/rnaturalearth/ggplot 的 Mollweide 投影旋转世界地图?

r - 检查一个数据帧的每一行是否包含在另一个数据帧中