Linux【OSMCTools 02】OpenStreetMap数据处理工具OSMCTools使用osmconvert命令截取省市级pbf文件(行政区划边界数据+SQL+Shell脚本)
链接:https://pan.baidu.com/s/1qPSQ_JdqVOsXa6yLF3abfg?pwd=1eg1
提取码:1eg1
链接包含数据:
- 全国行政区划数据.sql
- 拼接裁切脚本.sql
- get.sh
osmconvert命令截取省市级pbf文件
- 1.说明
- 2.步骤
-
- 2.1 基础数据
- 2.2 使用SQL获取命令
- 2.3 脚本
- 3.验证
- 4.其他
1.说明
- OpenStreetMap的下载地址(下载文件
china-latest.osm.pbf
):Geofabrik Download Server - OSMCTools的GitHub地址:https://github.com/ramunasd/osmctools
osmconvert是一个用于处理OSM(OpenStreetMap)地图数据的命令行工具。它可以将OSM地图文件从一种格式转换成另一种格式,比如OSM XML文件转换成PBF(Protocolbuffer Binary Format)、CSV(Comma Separated Values)、Shapefile等格式,并且可以对地图数据进行筛选、剪切、合并等操作。osmconvert是开源软件,支持Linux、macOS和Windows平台。
本文主要是将较大的china-latest.osm.pbf(980M-20230522)
通过osmconvert裁切为较小的以省
或市
为单位的数据。
2.步骤
2.1 基础数据
基础的行政区划数据来源自网络,通过QGIS导出,执行全国行政区划数据.sql
将数据导入数据库(PostgreSQL数据已安装GIS插件)获取到如下记录:
2.2 使用SQL获取命令
使用如下SQL获取市级行政区划的边界,SQL进行了以下操作:
- 获取做小经纬度和最大经纬度(方形区域)
- 进行
0.01
的偏移,并保留9位小数(可根据需要的精度进行调整) - 拼接工具的裁切命令(命令如何使用可参考上篇博文)
SELECT\'osmconvert china-latest.osm.pbf -b=\' || min_lon || \',\' || min_lat || \',\' || max_lon || \',\' || max_lat || \' --hash-memory=\"2048M\" --complete-ways --out-pbf -o=\' || prov || \'-\' || city || \'.osm.pbf\' AS commandFROM(