gpt4 book ai didi

postgresql - 如何从 osm2pgsql shema 获取所有道路/方式?

转载 作者:行者123 更新时间:2023-11-29 13:05:07 26 4
gpt4 key购买 nike

我正在尝试创建德国每条道路的列表(包括纬度、经度和街道名称)。

到目前为止,我已经在 osm2pgsql 的帮助下将德国 osm 文件导入到 postgres 数据库中。

所以我要找的是一个可以让我查询每条道路的查询。

最佳答案

首先我建议使用psql 工具。因此,假设您的数据库名为 gis,请在终端输入以下命令:

psql gis

您可以在 psql 工具中查询数据库,但首先最好了解哪些表是由 osm2psql 创建的,请输入:

\d

这应该给你这样的输出:

               List of relations
Schema | Name | Type | Owner
--------+--------------------+-------+----------
public | geography_columns | view | postgres
public | geometry_columns | table | gis
public | planet_osm_line | table | user
public | planet_osm_nodes | table | user
public | planet_osm_point | table | user
public | planet_osm_polygon | table | user
public | planet_osm_rels | table | user
public | planet_osm_roads | table | user
public | planet_osm_ways | table | user
public | spatial_ref_sys | table | gis
(10 rows)

我们可以在 planet_osm_roads 中看到一个看起来很像的候选人,输入:

\d planet_osm_roads

这将向您展示道路表的结构,它看起来像这样:

     Table "public.planet_osm_roads"
Column | Type | Modifiers
--------------------+----------+-----------
osm_id | bigint |
access | text |
addr:housename | text |
addr:housenumber | text |
addr:interpolation | text |
admin_level | text |
aerialway | text |
aeroway | text |
amenity | text |
....
waterway | text |
wetland | text |
width | text |
wood | text |
z_order | integer |
way_area | real |
way | geometry |

从那里我们可以制定我们的查询。像这样的东西:

SELECT osm_id,name,way FROM planet_osm_roads LIMIT 1;

将为您找到列表中的第一条路。 http://www.postgresql.org/docs/ 处的文档将帮助您解码几何字符串的方式。

关于postgresql - 如何从 osm2pgsql shema 获取所有道路/方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15618530/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com