Доброе время суток!
Можете подсказать или дать ссылку на документацию по структуре данных таблиц planet_osm_point и planet_osm_polygon
Есть задача поиск города по названию и поиск города по координатам
Я составил два таких запроса:
- Поиск города по координатам
SELECT
point.osm_id,
point.name,
point.place,
point.admin_level,
polygon.osm_id,
polygon.name,
polygon.place,
polygon.admin_level
FROM planet_osm_polygon AS polygon
INNER JOIN planet_osm_point AS point ON ST_Within(point.way, polygon.way)
WHERE
ST_Within(ST_Transform(ST_SetSRID(ST_Point(37.584007, 55.692067), 4326), 3857), polygon.way) AND
polygon.place IN ('village','town','city') AND
point.place IN ('village','town','city')
ORDER BY point.admin_level
Проблема: такой sql запрос выдает несколько записей, а хотелось бы получить конкретно город Москва.
Результат выполнения запроса
- Поиск города по именованию
SELECT
point.osm_id,
point.name,
point.place,
point.admin_level,
polygon.osm_id,
polygon.name,
polygon.admin_level,
polygon.place
FROM planet_osm_point AS point
INNER JOIN planet_osm_polygon AS polygon ON ST_Within(point.way, polygon.way)
WHERE
point.name LIKE '%Красно%' AND
polygon.admin_level = '4' AND
point.place IN ('village', 'town', 'city');
Проблема: такой sql запрос выдает города и регионы на несколько языках, в данном случаи на русской и украинском, причем город один и тот же.
Хотелось бы избежать дублей и выбрать правильный вариант. Так же хотелось бы искать этот город не только на русском языке, но и на английском языке. Такое возможно?
Результат выполнения запроса
Буду очень благодарен если подскажите как быть в такой ситуации или дадите ссылку на документацию. Сам не смог найти.