将 shp 文件(sf 对象)转换为 osm pbf?
Posted
技术标签:
【中文标题】将 shp 文件(sf 对象)转换为 osm pbf?【英文标题】:Converting shp file (sf object) to osm pbf? 【发布时间】:2021-12-23 16:05:02 【问题描述】:我在谷歌上搜索过这个问题,但找不到解决方案。
我已经使用 st_read 将 shp shapefils 加载到 R 上。我想将 shapefile 写入 OSM .pbf 格式。
这是一个示例代码供您参考:
library(sf)
adminstrativeboundary2018 <- st_read("adminstrative_boun.shp")
st_write(adminstrativeboundary2018, dsn = "adminstrativeboundary2018.shp", layer = "adminstrativeboundary2018.pbf", driver = "OSM")
关于如何将原始 shapefile 写入 pbf 的任何建议(我需要将 shapefile 转换为 osm 的 pbf 格式)。
【问题讨论】:
我认为将它保存为 .pbf 而不是 .shp 是一个好的开始,就像您在代码中所做的那样。不确定是否仅此一项 数据在 ESRI shapefile 中可用,我想将其用于仅接受 .pbf 街道网络的 Open Trip Planner。 嗨@Xaviermoros。请在下面找到我的答案。我希望它能解决你的问题。如果是这样,请考虑将此答案标记为“已接受”和/或“赞成”。如果没有,请告诉我出了什么问题。干杯 您好,这真的很有帮助,我已经接受了您的解决方案。正如您所说,我已设法将我的 shp 转换为 osm 但不是 .osm.pbf 。这不会在框中弹出。相反,我只找到了 .osm。 我会检查我是否正确下载了pbf插件 【参考方案1】:据我所知,我不知道将.shp
文件从R 转换为.pbf.osm
文件的方法/包。sf
库只能读取它而不能写入它。
不过,有一个使用开源软件JOSM
安装 JOSM
要安装软件,你可以从这个链接https://josm.openstreetmap.de/下载它
安装和激活 JOSM 插件
安装软件后,需要安装并激活两个插件。为此,请转到以下菜单:Edit Menu -> Preferences Menu -> Plugins Tab
在搜索栏中,输入:
opendata
(这是允许JOSM
软件读取.shp
文件的插件)
pbf
(这是读取和保存.pbf.osm
文件的插件)
您必须重新启动软件才能使opendata
插件工作
使用 JOSM
要使用它,这很简单:
要打开您的.shp
文件,请转到File menu -> Open menu
。在对话框的弹出菜单中,您应该会看到 Shape Files
扩展名
要以.pbf.osm
格式保存,请转到File menu -> Save As menu
。在对话框的下拉菜单中,您应该会看到扩展名 pbf compressed files from OSM server (.osm.pbf)
。
一切都应该正常工作:-)
【讨论】:
以上是关于将 shp 文件(sf 对象)转换为 osm pbf?的主要内容,如果未能解决你的问题,请参考以下文章