Osmosis工具高效提取OSM建筑数据全流程 发布时间:2026/8/7 22:57:55 1. 项目概述最近在整理省级建筑数据时发现Osmosis这个工具确实能大幅提升数据处理效率。作为一个开源的地理数据处理工具链Osmosis特别适合处理OpenStreetMap(OSM)格式的数据。本文将分享如何用Osmosis从省级PBF文件中提取建筑数据并转换为标准OSM格式的全流程。这个方案最大的优势在于①完全基于命令行操作适合批量处理②所有步骤都有现成脚本可以直接复制执行③特别针对新手优化避免了常见的环境配置和参数设置问题。我在处理某省全境建筑数据时用这套方法将原本需要数天的手工操作压缩到了2小时内完成。2. 环境准备2.1 JDK安装与配置Osmosis是基于Java开发的工具所以首先需要配置Java环境。推荐使用JDK 8或11版本这两个长期支持版(LTS)的稳定性最好。以下是具体步骤下载JDK安装包以JDK11为例wget https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.tar.gz解压并设置环境变量tar -xzf openjdk-11.0.2_linux-x64_bin.tar.gz sudo mv jdk-11.0.2 /usr/local/ echo export JAVA_HOME/usr/local/jdk-11.0.2 ~/.bashrc echo export PATH$JAVA_HOME/bin:$PATH ~/.bashrc source ~/.bashrc注意如果系统已安装其他Java版本建议先用update-alternatives配置默认Java版本避免冲突。验证安装是否成功java -version javac -version2.2 Osmosis安装推荐直接从官网下载最新稳定版当前为0.48.3wget https://github.com/openstreetmap/osmosis/releases/download/0.48.3/osmosis-0.48.3.tgz tar -xzf osmosis-0.48.3.tgz cd osmosis-0.48.3 chmod ax bin/osmosis为了方便使用可以创建符号链接sudo ln -s $(pwd)/bin/osmosis /usr/local/bin/osmosis测试安装osmosis --version3. 数据准备与处理3.1 获取省级PBF数据以江苏省为例可以从Geofabrik下载最新的PBF数据wget http://download.geofabrik.de/asia/china/jiangsu-latest.osm.pbf提示如果下载速度慢可以尝试国内镜像源如wget https://download.openstreetmap.fr/extracts/asia/china/jiangsu-latest.osm.pbf3.2 建筑数据提取脚本创建提取脚本extract_buildings.sh#!/bin/bash INPUT_PBFjiangsu-latest.osm.pbf OUTPUT_OSMjiangsu_buildings.osm osmosis \ --read-pbf file$INPUT_PBF \ --tf accept-nodes building* \ --tf accept-ways building* \ --tf accept-relations building* \ --used-node \ --write-xml file$OUTPUT_OSM给脚本执行权限并运行chmod x extract_buildings.sh ./extract_buildings.sh参数说明--read-pbf指定输入的PBF文件--tf accept-*过滤条件只保留带building标签的元素--used-node确保引用的节点都被保留--write-xml输出为OSM XML格式3.3 处理结果验证检查输出文件head -n 20 jiangsu_buildings.osm应该能看到类似这样的输出?xml version1.0 encodingUTF-8? osm version0.6 generatorOsmosis 0.48.3 bounds minlat30.7450 minlon116.3750 maxlat35.3330 maxlon122.0000/ node id123456 version1 lat32.0600 lon118.7800/ way id789012 version1 nd ref123456/ tag kbuilding vyes/ /way /osm4. 高级处理技巧4.1 按行政区划进一步过滤如果需要提取特定城市的建筑数据可以先获取该城市的行政边界IDosmosis --read-pbf filejiangsu-latest.osm.pbf \ --tf accept-relations admin_level8 \ --write-xml fileboundaries.osm然后在提取脚本中加入边界过滤osmosis \ --read-pbf file$INPUT_PBF \ --bounding-polygon filenanjing_boundary.osm \ --tf accept-nodes building* \ --tf accept-ways building* \ --tf accept-relations building* \ --used-node \ --write-xml filenanjing_buildings.osm4.2 批量处理多个省份创建批量处理脚本batch_process.sh#!/bin/bash PROVINCES(jiangsu zhejiang shanghai) for province in ${PROVINCES[]}; do wget http://download.geofabrik.de/asia/china/${province}-latest.osm.pbf osmosis \ --read-pbf file${province}-latest.osm.pbf \ --tf accept-nodes building* \ --tf accept-ways building* \ --tf accept-relations building* \ --used-node \ --write-xml file${province}_buildings.osm done4.3 性能优化建议处理大型PBF文件时可以调整内存设置JAVACMD_OPTIONS-Xmx8G osmosis \ --read-pbf filelarge_file.osm.pbf \ ...对于特别大的省份如广东建议分区域处理osmosis \ --read-pbf fileguangdong-latest.osm.pbf \ --bounding-box top23.5 left113 bottom22 right114 \ --tf accept-nodes building* \ ...5. 常见问题解决5.1 内存不足错误错误现象Exception in thread main java.lang.OutOfMemoryError: Java heap space解决方案增加JVM内存export JAVACMD_OPTIONS-Xmx8G使用更高效的处理方式osmosis \ --read-pbf-fast filelarge.pbf \ ...5.2 文件编码问题错误现象Error parsing XML解决方案 确保使用UTF-8编码osmosis \ --read-xml fileinput.osm encodingUTF-8 \ ...5.3 版本兼容性问题如果遇到API版本不匹配Unsupported OSM version: 0.7可以在写入时指定版本osmosis \ ... \ --write-xml version0.6 fileoutput.osm6. 结果应用6.1 在QGIS中可视化将生成的OSM文件导入QGIS打开QGIS → 图层 → 添加图层 → 添加矢量图层选择生成的OSM文件右键图层 → 属性 → 符号化 → 按building标签分类6.2 转换为GeoJSON使用osmtogeojson工具转换npm install -g osmtogeojson osmtogeojson jiangsu_buildings.osm jiangsu_buildings.geojson6.3 导入PostgreSQL/PostGIS使用osm2pgsql工具osm2pgsql -c -d gis -U postgres -H localhost jiangsu_buildings.osm7. 完整自动化脚本以下是整合所有步骤的完整脚本auto_extract.sh#!/bin/bash # 参数检查 if [ $# -ne 1 ]; then echo 用法: $0 省份英文名 echo 示例: $0 jiangsu exit 1 fi PROVINCE$1 PBF_URLhttp://download.geofabrik.de/asia/china/${PROVINCE}-latest.osm.pbf OUTPUT_FILE${PROVINCE}_buildings.osm echo 开始处理 ${PROVINCE} 数据... # 下载数据 echo 正在下载PBF文件... wget -q $PBF_URL -O ${PROVINCE}-latest.osm.pbf # 提取建筑数据 echo 正在提取建筑数据... JAVACMD_OPTIONS-Xmx4G osmosis \ --read-pbf file${PROVINCE}-latest.osm.pbf \ --tf accept-nodes building* \ --tf accept-ways building* \ --tf accept-relations building* \ --used-node \ --write-xml file$OUTPUT_FILE # 结果统计 BUILDINGS_COUNT$(grep -c way $OUTPUT_FILE) NODES_COUNT$(grep -c node $OUTPUT_FILE) echo 处理完成 echo 输出文件: $OUTPUT_FILE echo 建筑数量: $BUILDINGS_COUNT echo 节点数量: $NODES_COUNT使用方式chmod x auto_extract.sh ./auto_extract.sh jiangsu 相关新闻 时空A星算法在多机器人路径规划中的MATLAB实现 1. 项目背景与核心挑战多机器人协同路径规划是当前智能仓储、自动化工厂等场景中的关键技术痛点。传统单机器人路径规划算法在面对多机协同、时间约束等复杂需求时往往捉襟见肘。我在参与某汽车零部件智能仓储项目时,就遇到了12台AGV需要在3分钟内完成200货架调度的… 2026/8/7 22:57:55 2026零代码和低代码商城平台对比评测:小商家别被“可定制”拖慢 商务部电子商务司2026年7月介绍,2026年1—6月,全国网上商品零售额增长4.8%,拉动社会消费品零售总额增长1.2个百分点;网上服务零售额增长6.0%。放到当前时间来看,线上交易仍在持续影响中小商家的获客、成交和复购方式。… 2026/8/7 22:57:55 终极磁盘清理指南:3大策略让Krokiet帮你轻松释放存储空间 终极磁盘清理指南:3大策略让Krokiet帮你轻松释放存储空间 【免费下载链接】czkawka Multi functional app to find duplicates, empty folders, similar images etc. 项目地址: https://gitcode.com/GitHub_Trending/cz/czkawka 你是否经常遇到电脑存储空间不… 2026/8/7 22:52:55 最新新闻 手机遥控AI编程助手:Happy Coder项目实战与效率提升指南 1. 项目概述:当AI编程助手遇上手机遥控 最近在开发者圈子里,一个叫“Happy Coder”的开源项目突然火了起来。它的核心卖点非常直接:让你能用手机遥控电脑上的Claude Code来写代码。听起来是不是有点科幻?我第一次看到这个标题时&a… 2026/8/7 23:53:01 FastANI终极指南:3步掌握微生物基因组快速比对技术 FastANI终极指南:3步掌握微生物基因组快速比对技术 【免费下载链接】FastANI Fast Whole-Genome Similarity (ANI) Estimation 项目地址: https://gitcode.com/gh_mirrors/fa/FastANI 你是否曾经需要快速比较数百个微生物基因组,却因为传统比对方… 2026/8/7 23:53:01 UE4动画导入与重定向全攻略:解决Mixamo动画适配与蓝图集成 1. 项目概述:为什么你的Mixamo动画在UE4里总是不对劲? 如果你正在用UE4做角色动画,Mixamo这个网站大概率是你的老朋友了。它提供了海量的免费动画资源,从基础的走跑到复杂的战斗、舞蹈,简直是独立开发者和学习者的福音… 2026/8/7 23:53:01 3个实战场景深度解析:BlackHole如何实现macOS零延迟音频环回 3个实战场景深度解析:BlackHole如何实现macOS零延迟音频环回 【免费下载链接】BlackHole BlackHole is a modern macOS audio loopback driver that allows applications to pass audio to other applications with zero additional latency. 项目地址: https://g… 2026/8/7 23:53:01 ISE 14.7 FPGA开发实战:从工程创建、仿真调试到比特流生成全解析 1. 项目概述:为什么ISE 14.7在今天依然值得学习 如果你是一名电子工程、微电子或者FPGA方向的初学者,或者在工作中需要维护一些“历史悠久”的项目,那么Xilinx ISE Design Suite 14.7这个名字你一定不陌生。尽管Xilinx早已推出了功能更强大的… 2026/8/7 23:53:01 FastANI:3小时完成微生物基因组相似性分析的革命性工具 FastANI:3小时完成微生物基因组相似性分析的革命性工具 【免费下载链接】FastANI Fast Whole-Genome Similarity (ANI) Estimation 项目地址: https://gitcode.com/gh_mirrors/fa/FastANI 你是否曾为微生物基因组比对而苦恼?面对成百上千个基因组… 2026/8/7 23:48:00 日新闻 “Quality Control(质量控制)”在软件工程中通常指通过一系列活动确保软件产品符合预定的质量标准和用户需求 “Quality Control(质量控制)”在软件工程中通常指通过一系列活动确保软件产品符合预定的质量标准和用户需求。而“软件测试”是质量控制的关键手段之一,属于QC范畴下的具体实践,其目标是发现缺陷、验证功能正确性、评估软件质量属… 2026/8/7 0:01:21 调度算法(Scheduling Algorithm)是操作系统内核中用于决定哪个进程或线程在何时获得CPU资源执行的核心机制 调度算法(Scheduling Algorithm)是操作系统内核中用于决定哪个进程或线程在何时获得CPU资源执行的核心机制。其目标是在多任务环境中实现公平性、高效性、响应性与吞吐量的平衡。常见的调度算法包括: 先来先服务(FCFS)… 2026/8/7 0:01:21 Cisco IOS XE 曝多个高危安全漏洞,企业网络设备面临远程攻击风险 最近思科发布了一则让不少网安从业者捏把汗的安全公告。旗下广泛部署的 Cisco IOS XE 软件被挖出多个严重漏洞,其中最狠的一个拿到了 CVSS 9.8 的满分级评分,几乎触顶。对于依赖思科设备支撑核心业务的企业来说,这绝不是可以拖到下季度再处理… 2026/8/7 0:01:21 周新闻 ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案 ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾经从网易云音乐下载了心爱的歌曲&am… 2026/8/6 10:11:44 分布式配置中心选型实战:Nacos与Consul在创业场景下的对比 分布式配置中心选型实战:Nacos与Consul在创业场景下的对比工程导读:本文深入讨论 分布式配置中心选型实战:Nacos与Consul在创业场景下的对比 在生产工程实践中的核心落地方案。基于 分布式架构与微服务设计 视角,剖析实际痛点、架… 2026/8/7 3:47:00 MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案 MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案 【免费下载链接】MoneyPrinterPlus AI一键批量生成各类短视频,自动批量混剪短视频,自动把视频发布到抖音,快手,小红书,视频号上,赚钱从来没有这么容易过! 支持本地语音模型chatTTS,fasterwhisper,… 2026/8/7 3:47:06 月新闻 【YOLOv11模型改进系列】08 数据增强的终极形态:用AutoAugment让YOLOv11自己学会“什么数据最有用” 08 数据增强的终极形态:用AutoAugment让YOLOv11自己学会“什么数据最有用” 老伙计,咖啡准备好了吗?上篇我们聊了Mosaic+MixUp的“混乱美学”,你肯定已经体会到,手动调数据增强策略就像给模型当保姆——每换一个数据集就要重新试一遍参数。 上周有个做工业质检的朋友找我… 2026/8/7 3:46:34 AI 智能电动窗帘电机高集成、低功耗 MOSFET 精准选型方案 随着 AIoT 与智能家居深度融合,智能电动窗帘电机对功率 MOSFET 提出新要求:微型化、高效率、逻辑电平驱动及静音运行。微碧半导体(VBsemi)基于先进的 Trench 和 SGT 工艺,为您提供覆盖 H桥驱动、电源管理及电机控制的完… 2026/8/7 3:46:40 AI 智能电动窗帘电机智能功率 MOSFET 完整选型方案 随着 AI 技术在智能家居中的普及(如语音控制、光线感应、场景联动),电动窗帘电机对功率 MOSFET 提出更高要求:高效率、低噪音、高集成度。微碧半导体(VBsemi)基于 SGT 及 Trench 工艺,为您提供覆… 2026/8/7 15:51:54
时空A星算法在多机器人路径规划中的MATLAB实现 1. 项目背景与核心挑战多机器人协同路径规划是当前智能仓储、自动化工厂等场景中的关键技术痛点。传统单机器人路径规划算法在面对多机协同、时间约束等复杂需求时往往捉襟见肘。我在参与某汽车零部件智能仓储项目时,就遇到了12台AGV需要在3分钟内完成200货架调度的… 2026/8/7 22:57:55
2026零代码和低代码商城平台对比评测:小商家别被“可定制”拖慢 商务部电子商务司2026年7月介绍,2026年1—6月,全国网上商品零售额增长4.8%,拉动社会消费品零售总额增长1.2个百分点;网上服务零售额增长6.0%。放到当前时间来看,线上交易仍在持续影响中小商家的获客、成交和复购方式。… 2026/8/7 22:57:55
终极磁盘清理指南:3大策略让Krokiet帮你轻松释放存储空间 终极磁盘清理指南:3大策略让Krokiet帮你轻松释放存储空间 【免费下载链接】czkawka Multi functional app to find duplicates, empty folders, similar images etc. 项目地址: https://gitcode.com/GitHub_Trending/cz/czkawka 你是否经常遇到电脑存储空间不… 2026/8/7 22:52:55
手机遥控AI编程助手:Happy Coder项目实战与效率提升指南 1. 项目概述:当AI编程助手遇上手机遥控 最近在开发者圈子里,一个叫“Happy Coder”的开源项目突然火了起来。它的核心卖点非常直接:让你能用手机遥控电脑上的Claude Code来写代码。听起来是不是有点科幻?我第一次看到这个标题时&a… 2026/8/7 23:53:01
FastANI终极指南:3步掌握微生物基因组快速比对技术 FastANI终极指南:3步掌握微生物基因组快速比对技术 【免费下载链接】FastANI Fast Whole-Genome Similarity (ANI) Estimation 项目地址: https://gitcode.com/gh_mirrors/fa/FastANI 你是否曾经需要快速比较数百个微生物基因组,却因为传统比对方… 2026/8/7 23:53:01
UE4动画导入与重定向全攻略:解决Mixamo动画适配与蓝图集成 1. 项目概述:为什么你的Mixamo动画在UE4里总是不对劲? 如果你正在用UE4做角色动画,Mixamo这个网站大概率是你的老朋友了。它提供了海量的免费动画资源,从基础的走跑到复杂的战斗、舞蹈,简直是独立开发者和学习者的福音… 2026/8/7 23:53:01
3个实战场景深度解析:BlackHole如何实现macOS零延迟音频环回 3个实战场景深度解析:BlackHole如何实现macOS零延迟音频环回 【免费下载链接】BlackHole BlackHole is a modern macOS audio loopback driver that allows applications to pass audio to other applications with zero additional latency. 项目地址: https://g… 2026/8/7 23:53:01
ISE 14.7 FPGA开发实战:从工程创建、仿真调试到比特流生成全解析 1. 项目概述:为什么ISE 14.7在今天依然值得学习 如果你是一名电子工程、微电子或者FPGA方向的初学者,或者在工作中需要维护一些“历史悠久”的项目,那么Xilinx ISE Design Suite 14.7这个名字你一定不陌生。尽管Xilinx早已推出了功能更强大的… 2026/8/7 23:53:01
FastANI:3小时完成微生物基因组相似性分析的革命性工具 FastANI:3小时完成微生物基因组相似性分析的革命性工具 【免费下载链接】FastANI Fast Whole-Genome Similarity (ANI) Estimation 项目地址: https://gitcode.com/gh_mirrors/fa/FastANI 你是否曾为微生物基因组比对而苦恼?面对成百上千个基因组… 2026/8/7 23:48:00
“Quality Control(质量控制)”在软件工程中通常指通过一系列活动确保软件产品符合预定的质量标准和用户需求 “Quality Control(质量控制)”在软件工程中通常指通过一系列活动确保软件产品符合预定的质量标准和用户需求。而“软件测试”是质量控制的关键手段之一,属于QC范畴下的具体实践,其目标是发现缺陷、验证功能正确性、评估软件质量属… 2026/8/7 0:01:21
调度算法(Scheduling Algorithm)是操作系统内核中用于决定哪个进程或线程在何时获得CPU资源执行的核心机制 调度算法(Scheduling Algorithm)是操作系统内核中用于决定哪个进程或线程在何时获得CPU资源执行的核心机制。其目标是在多任务环境中实现公平性、高效性、响应性与吞吐量的平衡。常见的调度算法包括: 先来先服务(FCFS)… 2026/8/7 0:01:21
Cisco IOS XE 曝多个高危安全漏洞,企业网络设备面临远程攻击风险 最近思科发布了一则让不少网安从业者捏把汗的安全公告。旗下广泛部署的 Cisco IOS XE 软件被挖出多个严重漏洞,其中最狠的一个拿到了 CVSS 9.8 的满分级评分,几乎触顶。对于依赖思科设备支撑核心业务的企业来说,这绝不是可以拖到下季度再处理… 2026/8/7 0:01:21
ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案 ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾经从网易云音乐下载了心爱的歌曲&am… 2026/8/6 10:11:44
分布式配置中心选型实战:Nacos与Consul在创业场景下的对比 分布式配置中心选型实战:Nacos与Consul在创业场景下的对比工程导读:本文深入讨论 分布式配置中心选型实战:Nacos与Consul在创业场景下的对比 在生产工程实践中的核心落地方案。基于 分布式架构与微服务设计 视角,剖析实际痛点、架… 2026/8/7 3:47:00
MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案 MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案 【免费下载链接】MoneyPrinterPlus AI一键批量生成各类短视频,自动批量混剪短视频,自动把视频发布到抖音,快手,小红书,视频号上,赚钱从来没有这么容易过! 支持本地语音模型chatTTS,fasterwhisper,… 2026/8/7 3:47:06
【YOLOv11模型改进系列】08 数据增强的终极形态:用AutoAugment让YOLOv11自己学会“什么数据最有用” 08 数据增强的终极形态:用AutoAugment让YOLOv11自己学会“什么数据最有用” 老伙计,咖啡准备好了吗?上篇我们聊了Mosaic+MixUp的“混乱美学”,你肯定已经体会到,手动调数据增强策略就像给模型当保姆——每换一个数据集就要重新试一遍参数。 上周有个做工业质检的朋友找我… 2026/8/7 3:46:34
AI 智能电动窗帘电机高集成、低功耗 MOSFET 精准选型方案 随着 AIoT 与智能家居深度融合,智能电动窗帘电机对功率 MOSFET 提出新要求:微型化、高效率、逻辑电平驱动及静音运行。微碧半导体(VBsemi)基于先进的 Trench 和 SGT 工艺,为您提供覆盖 H桥驱动、电源管理及电机控制的完… 2026/8/7 3:46:40
AI 智能电动窗帘电机智能功率 MOSFET 完整选型方案 随着 AI 技术在智能家居中的普及(如语音控制、光线感应、场景联动),电动窗帘电机对功率 MOSFET 提出更高要求:高效率、低噪音、高集成度。微碧半导体(VBsemi)基于 SGT 及 Trench 工艺,为您提供覆… 2026/8/7 15:51:54