1

我已经从http://geofrabrik.de下载了 OSM 数据转储为 .pbf 文件。我已经使用 osm2pgsql 将这些数据导入到我的支持 postgis 的 postgres 数据库中。我正在尝试获取包含在我创建的边界框中的几何图形。使用 ST_Intersects 可以提供更多数据,因为那是“路”和我创建的信封的交集。使用 ST_Contains 不会返回任何内容。我的查询是这样的:

使用 ST_Intersects:

    SELECT name, ST_AsText(ST_Transform(way,4326)) FROM planet_osm_polygon WHERE 
    ST_Intersects (way, ST_Transform(ST_MakeEnvelope((-122.1358332),
                    (37.494456), (-121.9858223),(37.594456), 94326), 900913)); 

使用 ST_Contains:

    SELECT name, ST_AsText(ST_Transform(way,4326)) FROM planet_osm_polygon WHERE 
    ST_Contains (ST_MakeEnvelope((-122.1358332),
                    (37.494456), (-121.9858223),(37.594456), 94326), ST_Transform(way,94326)); 

ST_Intersects 似乎返回了太多数据,我只返回了几兆数据。ST_Contains 似乎几乎没有返回任何内容。这里有什么问题?

4

0 回答 0