Как создать базу данных POI для OsmAnd?

OsmAnd — это картографическое/навигационное приложение.

В верхней части карты я хотел бы отобразить «Достопримечательности» (POI), например, лучшие рестораны моего города.

У меня уже есть файл CSV, содержащий для каждой POI: имя, широту, долготу.

Как заставить OsmAnd использовать эти данные?

Вики-страница «Как использовать собственную базу данных POI» предполагает, что это возможно, но не дает никаких конкретных инструкций.

Читая этот вопрос без ответа , у меня возникает ощущение, что каким-то образом преобразование моего CSV в ODB может быть частью решения.

Я хотел бы, чтобы базу данных можно было легко загрузить/использовать всем.

Для любопытных: на самом деле, моя долгосрочная цель — создать базу данных всех POI в путеводителе Wikivoyage (может быть, с разбивкой по странам, если она слишком велика).

Ответы (2)

Всего лишь предположение, но попробовать стоит: я проделал то же самое с Locus Maps . Я создал KML, который отлично импортировался, и его можно было использовать в качестве слоя ( Locus даже поддерживает KMZ, содержащий изображения и многое другое, так что вы можете использовать его для «самодельного путеводителя»).

В статье Использование файлов KML на том же сайте предполагается, что по крайней мере часть KML должна работать и с OsmAnd , поэтому я решил разместить это как ответ (вместо того, чтобы комментировать). В этой статье даже прямо упоминаются POI — вероятно, именно поэтому ваша связанная статья содержала так мало деталей:

Вы можете использовать любой формат, содержащий ваши POI, если вы можете преобразовать его в формат osm.

и

Все точки внутри файла kml преобразуются в точки osm, присваивая им некоторые свойства, такие как категория туризма и тип музея.

Обратите внимание, что категории, упомянутые здесь, совпадают с категориями в вашей связанной статье.

Спасибо! Я скопировал .osmфайл на этой странице, преобразовал его с .odbпомощью OsmAndMapCreator, переместил результат .odbв /sdcard/osmand, но OsmAnd не показывает никаких POI...
Я не привык к OsmAnd, но может быть нужно "активировать" "дополнительный слой" где-то в приложении? Представьте, что ваша карта полна .odbфайлов с перекрывающейся информацией, я надеюсь, что есть способ выбрать, какие из них использовать ;)
Я нашел, как его использовать :-) android.stackexchange.com/questions/55656/…
Так что оставалось либо ждать, либо перезагружать устройство? В этом случае я бы честно сообщил об этом разработчику как об ошибке. Не звучит нормально для меня. Но рад, что вам удалось — и спасибо за ссылку на ответ!

В итоге я сделал это:

  • Преобразование данных из .CSV в .OSM
  • Загрузите и запустите OsmAndMapCreator.
  • В OsmAndMapCreator установите флажок «Создать индекс POI», затем нажмите «Файл» > «Создать .obf из файла osm»…
  • Выберите файл .osm
  • Распространите полученный файл .OBF . Пользователи могут легко использовать его с OsmAnd .