Вопрос или проблема
У меня есть большой KML файл, содержащий список мест. Я могу преобразовать его в другие форматы, если это необходимо.
Я хочу разместить все эти места на мировом карте и поделиться результатом.
Требования:
- Бесплатно
- Просматриваемый без регистрации
- Легко просматриваемый в интернете
- Легко просматриваемый на мобильных устройствах. Вы можете прокручивать / увеличивать карту, видеть места, а иконка со стрелкой показывает ваше текущее положение и направление, используя GPS вашего устройства (CartoDB и Mapbox этого не имеют)
- Используемый с 100,000 мест
- Очевидно, показывать название каждого места на его широте/долготе
- Бонус, если пользователям не нужно выполнять сложные операции, как загрузка файлов и т.д.
Если есть несколько таких веб-приложений, то выигрывает то, которое имеет меньше ограничений (размер файла, количество мест и т.д.).
Поскольку моя “сырая идея” была объявлена “достойным ответом” автором вопроса, вот она:
Это не конкретное приложение для конверсии или отображения, а довольно общее: Предполагая, что .csv
файлы содержат данные широты и долготы, не должно быть слишком сложно преобразовать их в формат Keyhole (.kml
). Поиск в Google по csv2kml
выдает множество результатов (которые я не проверял все), по крайней мере, некоторые из них предлагают графический интерфейс для конверсии. Мне интересно, не позволяет ли кто-то из них автоматическую конверсию / пакетную обработку.
Теперь, имея файл .kml
, вам нужно только место для его размещения. Любой веб-сервис подойдет, так что вы можете даже разместить его на вашем Google Диске или Dropbox и объявить его “публичным”. Сделав это, вам нужно только поделиться URL, например, с Google Maps (что будет работать кросс-платформенно с большинством веб-браузеров), или поделиться .kml
напрямую, чтобы использовать с множеством различных приложений (включая Google Earth, Marble и другие). Для справки вы можете ознакомиться с Документацией KML от Google.
Как это решение соответствует вашим требованиям?
- Бесплатно: выберите бесплатный конвертер, тогда: Да.
- Просматриваемый без регистрации: Определенно, во всех упомянутых комбинациях.
- Легко просматриваемый в интернете: Да, используя подход Google Maps, описанный выше.
- Легко просматриваемый на мобильных устройствах: Да, так же, как и в вебе. Дополнительно, используя общий
.kml
файл (или URL к нему), возможно, даже лучше при использовании с конкретным приложением. На Android у меня на уме несколько приложений – включая само Google Maps, Google Earth и Locus Maps. Еще много других, слишком длинный список, чтобы упомянуть здесь. Большинство Навигационных приложений должно подойти. - Парсинг для каждого места с названием/широтой/долготой: Зависит от того, на каком конце применять это условие. Клиент, получая файл
.kml
, определенно должен это сделать. Для создания файла.kml
это будет зависеть от данных, которые содержит оригинальный.csv
файл. При условии, что в нем есть три столбца (возможно, с некоторыми дополнительными): Да. - Бонус за возможность парсинга адресов: Я никогда этого не тестировал и не уверен, какой конвертер справляется с этим правильно. Но большинство “навигационных приложений” должно уметь с этим справляться, а также упомянутые Google-фронтенды. И да, с “Google Frontends” также возможно предлагать адрес без координат и рассчитывать координаты самостоятельно – по крайней мере, учитывая одну точку интереса. Я не уверен, работает ли это для коллекций.
- Используемый с 100,000 мест: должен быть (я никогда не тестировал с таким большим файлом
.kml
/.kmz
. В зависимости от мощности устройства (ЦП/ОЗУ) это может создать некоторые проблемы с рендерингом).
Ответ или решение
Как поделиться своим KML-файлом через веб или мобильное приложение для навигации на GPS
Если у вас есть большой KML-файл, содержащий список мест, и вы хотите поделиться им с другими, это можно сделать с помощью нескольких подходов, которые удовлетворяют всем вашим требованиям. Рассмотрим, как можно разместить ваши данные на карте и обеспечить к ним доступ, включая возможность использовать GPS-навигацию.
Шаг 1: Конвертация KML в удобный формат
Прежде всего, если ваш KML-файл содержит все необходимые данные (имя, широта и долгота мест), вам не нужно выполнять никаких преобразований. В противном случае можете рассмотреть возможность конвертации вашего KML-файла в другой формат (например, CSV) с помощью онлайн-сервисов. Простые инструменты, такие как csv2kml, позволяют преобразовать CSV в KML с помощью графического интерфейса.
Шаг 2: Хостинг вашего KML-файла
После того, как у вас есть KML-файл, необходимо разместить его в интернете. Это можно сделать несколькими способами:
- Google Drive или Dropbox: Загрузите ваш KML-файл на один из этих сервисов и сделайте его общедоступным. В случае Google Drive, убедитесь, что файл имеет открытую ссылку для доступа. Это позволит вам делиться URL-адресом с другими пользователями.
- GitHub Pages: Если вы знакомы с GitHub, вы можете использовать GitHub Pages для хостинга ваших файлов. Создайте репозиторий, загрузите KML и включите GitHub Pages для доступа к файлу.
Шаг 3: Отображение KML на карте
Теперь, когда файл размещен, у вас есть несколько способов его использования:
-
Google Maps: Поместите KML-файл в Google Maps. Для этого используйте следующий URL-адрес:
https://www.google.com/maps/d/u/0/?mid=your_map_id
Замените
your_map_id
на ID, полученный после загрузки KML на Google Maps. Это позволит открытую карту с вашими местами, которую можно будет легко использовать на мобильных устройствах и ПК без регистрации. -
Google Earth: Если ваши пользователи хотят просматривать данные в более объемной форме, опция Google Earth прекрасно подойдет. Они смогут загружать KML-файл напрямую и использовать его для навигации.
Шаг 4: Использование на мобильных устройствах
Для доступа к вашему KML-файлу на мобильных устройствах существует множество приложений. Вот несколько популярных приложений, которые вашему пользователю могут помочь:
- Locus Map (для Android): Позволяет загружать KML-файлы и использовать GPS для навигации.
- Google Earth: Предоставляет мощные возможности для просмотра KML на мобильном устройстве.
Ваша карта на Google Maps будет автоматически включать текущее местоположение пользователя (символ стрелки), что позволит использовать GPS для навигации.
Подведение итогов
Ваше решение полностью удовлетворяет следующим требованиям:
- Бесплатно: Использование Google Drive и Google Maps не требует платы.
- Отсутствие регистрации: Доступ к карте можно получить без регистрации.
- Простота навигации: Удобный интерфейс для просмотра на мобильных устройствах и ПК.
- Поддержка 100,000 мест: Google Maps и другие инструменты могут обрабатывать большие объемы данных.
Таким образом, вы можете просто и эффективно делиться своим KML-файлом, предоставляя пользователям все необходимые инструменты для просмотра и навигации.