给定状态的OSM数据,找到其区域

时间:2019-03-06 09:22:19

标签: postgresql openstreetmap postgis

抱歉,这是一个愚蠢的问题,我对PostgreSQL / PostGIS还是很陌生。

我从这里-https://download.geofabrik.de/europe/germany/baden-wuerttemberg.html

下载了整个巴登-符腾堡州的.osm文件。

我必须通过查询相同内容来回答以下问题-

  1. 巴登-符腾堡州的面积是多少(以m ^ 2表示)?
  2. 巴登-符腾堡州最小的城市在面积上是多少?

我已使用 osm2pgsql 工具将osm文件导入到PostgreSQL中。

似乎由osm2pgsql创建,核心和生成了多个表。除了核心表- planet_osm_nodes planet_osm_ways planet_osm_rels 还有其他表格,我不确定如何使用它们完成任务。

如果任何人都可以提供一些见识,使我对如何编写相同的PostGIS查询有一定的了解,那将非常有帮助。

1 个答案:

答案 0 :(得分:0)

我认为类似的东西应该可以按顺序为您提供城市及其面积(平方米)

SELECT *, ST_Area(way) 
FROM planet_osm_polygon
WHERE boundary='administrative'
AND admin_level=7
ORDER BY ST_Area(way)

只有在您需要admin_level=4

的情况下,同一件事才可以在巴登-符腾堡州边界使用

https://postgis.net/docs/ST_Area.html

https://wiki.openstreetmap.org/wiki/DE:Grenze