简介
osm-extractor 是一个基于 Node.js 的 npm 包,用于提取 OpenStreetMap 数据库中的地理信息数据,例如道路、建筑物、河流等,并将其转换成多种数据格式,例如 GeoJSON、PostGIS SQL 等。
本文将介绍如何安装和使用 osm-extractor,包括如何配置参数、如何输出数据以及如何理解输出数据。
安装
安装 osm-extractor 非常简单,只需要在终端中运行以下命令即可:
npm install -g osm-extractor
此命令将全局安装 osm-extractor, -g
表示全局安装。
参数配置
osm-extractor 有多种参数可以配置,以达到不同的数据提取方式和输出格式。以下是一些常见的参数:
--input
输入文件路径,支持 .osm 和 .pbf 格式。--output
输出文件路径,支持多种格式,例如 GeoJSON、OSM、PostGIS SQL 等。--bounds
提取数据的范围,可以是经纬度坐标或是一个 .poly 多边形文件。--tag-filter
过滤数据的标签,例如只提取标签中有highway
和place
的数据。--tag-transform
转换数据的标签,例如highway=residential
转换为type=road
。--progress
显示提取进度条,可以是text
或none
。
以上参数只是 osm-extractor 的一部分,完整列表可以在 官方文档 中查看。
输出数据
osm-extractor 可以将提取的数据输出成多种格式,下面是一些常见的输出格式:
- GeoJSON:一个开放的地理数据格式,支持点、线和面。
- OSM:OpenStreetMap 的数据格式,包含地物和元数据。
- PostGIS SQL:PostGIS 数据库的 SQL,可用于导入到 PostgreSQL。
- Shapefile:ESRI 的地理矢量数据格式,支持点、线和面。
以下是一个基本的示例脚本,用于输出一个地区的 GeoJSON 格式数据:
-- -------------------- ---- ------- ----- ------- - ------------------------- ----- ------- - - ------ --------------- ------- --------------- ------- -------------------- ---------- ---------- -- --------- --------- ------- -- ---------------- ----- -- - -- ----- ------------------- ---- ----------------------- ------------ ---
理解输出数据
理解输出数据非常重要,因为它们包含着我们需要的地理信息。
GeoJSON
GeoJSON 是一个常用的地理数据格式,由点、线和面组成。以下是一个简单的示例:
-- -------------------- ---- ------- - ------- -------------------- ----------- - - ------- ---------- ----------- - ------- -------- -------------- ------- ----- -- ------------- - ------- ------ -- - -- - ------- ---------- ----------- - ------- ------------- -------------- - ------- ------ ------- ----- - -- ------------- - ------- ----- --- - -- - ------- ---------- ----------- - ------- ---------- -------------- -- ------- ------ ------- ------ ------- ------ ------- ------ ------- ----- -- -- ------------- - ------- -------- ----- - - - -
OSM
OpenStreetMap 使用自己的数据格式,包含节点(Node)、路径(Way)和区域(Relation)等。以下是一个示例:
-- -------------------- ---- ------- ----- ------------- ------------------ ---- ------------- ----------------- ----- ---------- ------------ ------------- ---- -------- -------- -- -- ------- ---- ----------- --- ----------- -- --- ----------- -- ---- -------- ------- --- -- ------ --------- ----------- ------- ---------- ----------- ------------ -- ---- -------- ---------- ----- -- ----------- ------
PostGIS SQL
PostGIS 是一个开源的空间数据库,支持多种空间数据类型和函数。以下是一个示例 SQL:
INSERT INTO landuse (name,geom) VALUES ('Park',ST_GeomFromText('POLYGON((-122.4275 37.766,-122.4268 37.7676,-122.428 37.7667,-122.4275 37.766))'));
以上 SQL 将一个名为 Park 的区域插入了一个叫做 landuse 的表中。
总结
本文介绍了如何安装和配置 osm-extractor,如何输出数据以及如何理解输出数据,希望读者可以通过本文学习到一些有用的技能和知识。osm-extractor 不仅可以提取 OpenStreetMap 数据库中的地理信息数据,也可以作为一个好的学习资料。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600671a730d0927023822645