ST_Contains(ST_MakeEnvelope) ничего не возвращает, в то время как ST_Intersects(ST_MakeEnvelope) возвращает слишком много результатов
Я загрузил дамп данных OSM с http://geofrabrik.de/ в виде файла.pbf. Я использовал osm2pgsql для импорта этих данных в мою базу данных postgres с поддержкой postgis. Я пытаюсь получить геометрию, которая содержится в ограничивающей рамке, которую я создал. Использование 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, кажется, почти ничего не возвращает. Что здесь не так?