Мне нужно получить город по заданным координатам, используя Nominatim. Под городом я подразумеваю соответствующее отношение/узел OSM со всеми его свойствами, а не только название страны (на самом деле меня действительно волнуют osm_id, osm_type, имя и координаты)
EDIT: добавлен контекст
Я запускаю платформу, где пользователи могут прикреплять сообщения к местам. Я использую OSM в качестве основной базы данных, чтобы помочь пользователям находить места. Как только сообщение создано, я ссылаюсь на это место в своей бизнес-базе данных. Я хочу иметь возможность объединять сообщения на уровне города и страны. Итак, я представляю те, у кого есть выделенные таблицы и типичное соотношение: место n-1 город n-1 страна.
В настоящее время я знаю, что могу получить максимальный уровень информации (масштаб = 18) с помощью такого запроса:
которые производят соответствующую информацию, включая название города:
<reversegeocode timestamp="Thu, 02 Oct 14 15:16:11 +0000" attribution="Data © OpenStreetMap contributors, ODbL 1.0. http://www.openstreetmap.org/copyright" querystring="format=xml&accept-language=fr&lat=43.8338&lon=4.3596&zoom=18&addressdetails=1">
<result place_id="6643770" osm_type="node" osm_id="680342651" lat="43.833464" lon="4.3596107">3, Rue de la République, Écusson, La Placette, Nîmes, Nimes, Gard, Languedoc-Roussillon, France métropolitaine, 30000;30900, France</result>
<addressparts>
<house_number>3</house_number>
<road>Rue de la République</road>
<neighbourhood>Écusson</neighbourhood>
<suburb>La Placette</suburb>
<city>Nîmes</city>
<county>Nimes</county>
<state>Languedoc-Roussillon</state>
<country>France</country>
<postcode>30000;30900</postcode>
<country_code>fr</country_code>
</addressparts>
</reversegeocode>
Я получаю город в виде строки в теге city. Но я должен перейти к другому запросу, если я хочу получить балл OSM для этого города:
Каков наилучший способ оптимизировать это?
Поскольку я запускаю свой собственный экземпляр Nominatim, я, вероятно, мог бы выбрать SQL, если это лучший вариант, но мне пришлось бы создать новую конечную точку в Nominatim со всеми сложностями обслуживания...
Мне нужна такая же функциональность для стран. Для стран я понял, что параметр zoom=1 должен работать в любом случае. Жестко, для городов нет надежного аналога.