📜  osm2pgsql mac - SQL (1)

📅  最后修改于: 2023-12-03 14:44:58.728000             🧑  作者: Mango

osm2pgsql mac - SQL

osm2pgsql 是一个用于将 OpenStreetMap 数据库转换为 PostgreSQL 数据库格式的命令行工具。本文介绍如何在 Mac 系统中使用 osm2pgsql 工具并使用 SQL 语言进行查询。

安装 osm2pgsql

osm2pgsql 需要在终端中使用,您可以在终端运行以下命令进行安装:

brew install osm2pgsql
从 OpenStreetMap 下载数据

我们可以从 OpenStreetMap 下载页面下载各种地区的地图数据。

下载之后,我们可以运行以下命令将文件导入 PostgreSQL 数据库:

osm2pgsql -c --database <database_name> <filename>

其中,<database_name> 是您要创建的数据库名称,<filename> 是您要导入的文件名。请注意,此命令将覆盖现有的数据库。

使用 SQL 查询数据

一旦导入数据到 PostgreSQL 数据库中,您可以使用 SQL 查询数据。

以下是一个简单的 SQL 查询,查询名为 "Berkeley" 的城市中所有的咖啡馆:

SELECT name, amenity
FROM planet_osm_point
WHERE amenity = 'cafe'
AND ST_Intersects(way, (
    SELECT way
    FROM planet_osm_polygon
    WHERE name = 'Berkeley'
    AND boundary = 'administrative'
    LIMIT 1
));

其中,planet_osm_pointplanet_osm_polygon 是导入数据时自动生成的表格。ST_Intersects 是 PostgreSQL 中的一个空间函数,这将返回所有分别包含在给定多边形中的点。

总结

osm2pgsql 是一个非常强大的工具,可以帮助我们将 OpenStreetMap 数据转换为 PostgreSQL 数据库格式。在 Mac 系统中使用 brew 安装非常方便。一旦导入数据,我们可以使用 SQL 查询数据。通过这些功能,我们可以进行各种基于地理位置的数据分析。