npm 包 osm-extractor 使用教程

阅读时长 6 分钟读完

简介

osm-extractor 是一个基于 Node.js 的 npm 包,用于提取 OpenStreetMap 数据库中的地理信息数据,例如道路、建筑物、河流等,并将其转换成多种数据格式,例如 GeoJSON、PostGIS SQL 等。

本文将介绍如何安装和使用 osm-extractor,包括如何配置参数、如何输出数据以及如何理解输出数据。

安装

安装 osm-extractor 非常简单,只需要在终端中运行以下命令即可:

此命令将全局安装 osm-extractor, -g 表示全局安装。

参数配置

osm-extractor 有多种参数可以配置,以达到不同的数据提取方式和输出格式。以下是一些常见的参数:

  • --input 输入文件路径,支持 .osm 和 .pbf 格式。
  • --output 输出文件路径,支持多种格式,例如 GeoJSON、OSM、PostGIS SQL 等。
  • --bounds 提取数据的范围,可以是经纬度坐标或是一个 .poly 多边形文件。
  • --tag-filter 过滤数据的标签,例如只提取标签中有 highwayplace 的数据。
  • --tag-transform 转换数据的标签,例如 highway=residential 转换为 type=road
  • --progress 显示提取进度条,可以是 textnone

以上参数只是 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:

以上 SQL 将一个名为 Park 的区域插入了一个叫做 landuse 的表中。

总结

本文介绍了如何安装和配置 osm-extractor,如何输出数据以及如何理解输出数据,希望读者可以通过本文学习到一些有用的技能和知识。osm-extractor 不仅可以提取 OpenStreetMap 数据库中的地理信息数据,也可以作为一个好的学习资料。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600671a730d0927023822645

纠错
反馈