Когда была жива Nokia
Не так давно все в мире было хорошо: замечательные смартфоны Nokia работали под управлением великолепной OS Symbian, под которую было написано множество программ, и в том числе – Nokia Maps (впоследствии переименованные в Here Maps) – замечательная навигационная и картографическая программа, позволяющая легко ориентироваться в любом незнакомом городе, работающая с оффлайновыми картами (это была первая программа, которая работала с вменяемыми оффоайновыми картами), содержащими тонны полезной информации, качественную автомобильную и пешеходную навигацию и т.п.
И все было хорошо примерно до 2014 года. Когда Nokia, уже слившая свои телефоны Майкрософтовским китайцам, решила “усовершенствовать” свой картографический сервис – резко изменилось браузерное приложение, синхронизируемое со смартфоновским: в нем стало практически невозможно работать, а чуть погодя – стало невозможно и найти что-либо. А затем под Windows Phone и Android было выпущено… нечто. Вот уж не знаю, чем руководствовались разработчики, но явно не здравым смыслом или всем прошлым опытом – такой тяжелой, корявой и неудобной программы я давно не видел. 🙁 Хорошо еще, что у меня оставался замечательный фото-смартфон Nokia 808, в котором стояла и работала старая программа Nokia Maps: с ней все было в порядке. Но таскать с собой телефон только ради одной единственной программы – согласитесь, не слишком разумно… 🙂
Итак, Nokia умерла, Symbian умерла, и все вместе со мной дружно ушли (нет, не на iPhone!) на Android. Так как под Android изначально по умолчанию приличных оффлайновых карт не было – пришлось искать. По счастью, довольно быстро нашлись очень неплохие карты Maps Me, которые сначала были платными, а потом (в отличие от недавно помянутого мной недобрым словом Evernote) стали бесплатными, за что им огромное спасибо!
Содержание
Вводная
Осталась одна неприятность: за годы использования Nokia Maps в различных странах у нас скопилось порядка полутора тысяч точек, почти все из которых по сей день рабочие и отмечают не только “цветочки на обочине”, а также и важные объекты инфраструктуры, туризма и т.п., и далеко не все из них известны картам Google или каким-либо другим картам. Однако, в отличии от Google, Here Maps не спешит расставаться с пользовательскими базами точек. Говоря по простому, стандартного механизма импорта – экспорта точек попросту не существует – ни в каком виде.
Пришлось потратить изрядно времени, чтобы в процессе изучения вопроса чтобы создать адекватный алгоритм переноса данных из Here Maps в карты Google, а затем и в карты Maps Me, а может и в какие-то еще.
Начинаем
Итак, приступим. Для начала нам потребуется Symbian-смартфон с установленными Here Maps, подключенный к вашему эккаунту Here Maps и содержащий все актуальные данные о ваших точках. Если это так – считайте, что вам крупно повезло и дело “в шляпе”. 🙂 Если что-то не так – пишите – попробуем помочь.
Экспорт точек из программы
Теперь нам надо установить на наш смартфон программу LmManager, которую можно скачать из магазина Nokia (если от него еще что-то осталось) или вот здесь. Затем эту программу надо установить на смартфон и запустить.
После запуска LmManager на нашем смартфоне мы увидим на экране список файлов, содержащих наши точки. Их может быть несколько. Как правило, это файлы, указанные на скриншоте. Как показала практика, нам нужны все файлы, поэтому выбираем нажатием первый файл, тыкаем в значок меню справа внизу, выбираем пункт “Дополнительно” – “Экспорт” (для русской версии). В качестве места для сохранения экспортируемого файла выбираем карту памяти или память телефона (обычно диск “Е”), но не диск “С” – оперативную память. Сохраняем данные первого файла, переходим ко второму и т.п. – до последнего файла включительно. Теперь у нас есть несколько ldb-файлов с точками, которые мы можем скопировать на наш компьютер для дальнейшей обработки.
Для того, чтобы скопировать полученные данные на компьютер достаточно подключить смартфон к компьютеру, найти соответствующий диск или папку, куда мы экспортировали файлы и… скопировать 🙂
Предварительная обработка
Теперь у нас на компьютере появилось несколько файлов с нашими точками. Стоит отметить, что это файлы в формате XML. Поэтому особо продвинутые пользователи могут использовать любые средства для редактирования этих файлов. Мы же пойдем более простым путем. Для этого нам понадобится MS Excell 2007 или более новый. Переименовываем расширение наших файлов из .ldb в .xml. Теперь открываем MS Excell и просто импортируем туда один из файлов как стандартный XML-файл.
Получится примерно следующее (MS Excell – “умная” программа). Каждой точке соответствует отдельная строка таблицы, где есть название точки, описание, широта, долгота…Тут мы можем заметить, что Nokia Maps сохраняла для каждой нашей точки массу дополнительной (не всегда нужной) информации (на данном скриншоте столбцы уже переименованы для удобочитаемости).
Для начала можно просмотреть все наши точки и удалить ненужные или дублированные. При этом удобно пользоваться кнопками справа от названий столбцов для отбора и сортировки точек. Например, можно отсортировать точки по странам, по почтовому индексу, имеющие адрес в интернете и т.п.
Также, на ваш выбор – вы можете либо удалить дополнительную информацию о точках, удалив соответствующие столбцы, либо собрать ее в одном столбце. Например, можно создать новый столбец “Описание точки”, объединив с помощью функции MS Excell =СЦЕПИТЬ() данные из нужных нам столбцов, перемежая их пробелами или комбинациями “, ” (запятая, пробел) или еще какими-то – по желанию.
Главное – оставить нетронутыми столбцы “Название”, “Широта”, “Долгота” и, по желанию, “Высота”.
Теперь можно удалить лишние столбцы… Стоп! Вместе со столбцами пропадают данные, которые мы собрали в наш новый столбец!.. 🙁 Чтобы этого не случилось, поступим следующим образом: создадим еще один столбец, назовем его, например, “Описание2”, выделим все значения нашего объединенного столбца “Описание точки” – без заголовка, затем скопируем выделенные ячейки, перейдем к самой верхней пустой ячейка столбца “Описание2” и кликнем на ней правой кнопкой мыши. В раскрывшемся меню выберем пункт “Специальная вставка” – “Значения”. Теперь в каждой ячейке столбца “Описание2” лежит не формула, собирающая данные из разных столбцов, а только результат ее работы – текстовая строка, идентичная той, что мы получили с помощью формулы в столбце “Описание точки”. Вот теперь все ненужные столбцы, в том числе и “Описание точки” – можно безбоязненно удалять. В идеале должно остаться 4 или 5 столбцов: Название точки, Описание точки (переименованное из “Описание2”), Широта, Долгота, Высота (по желанию).
После обработки таким образом всех экспортированных из Here Maps файлов мы получим столько же таблиц MS Excell, готовых для дальнейшего использования.
Делим точки на группы
Для того, чтобы не “утонуть” в море точек (если их очень много), мы можем поделить их на группы, например, по странам. Для этого на предыдущем этапе надо оставить столбец “Страна” и выполнить по нему сортировку (кнопкой справа от названия столбца). Не забудьте сделать копию исходного файла со всеми точками! Затем надо оставить все строки, относящиеся к какой-то определенной стране, а остальные удалить. Теперь можно удалить столбец “Страна” и сохранить полученную таблицу в отдельном файле. Главное – не бойтесь делать резервные копии ваших файлов – особенно перед удалением каких-либо данных. Повторите то же самое для каждой страны – и у вас получится несколько файлов, каждый из которых содержит точки только для определенной страны.
Загружаем точки в Google карты
Зайдите в Google картах в “Мои карты”: Откройте в браузере Google карты, в меню выберете “Мои места” – “Карты” – “Создать карту”. В новой карте один пустой слой – нажмите в нем “Импорт” и в открывшееся окно закиньте один из наших файлов MS Excell с точками, полученный на предыдущем шаге. После анализа файла Google попросит вас указать столбцы, содержащие широту, долготу и описание точек. Когда файл окончательно загрузится, перед вами откроется карта с вашими точками. Можете ее проверить. Если все в порядке, самое время получить долгожданный KML-файл. Не пугайтесь, если в списке точек слева вы увидите только один значок и общее число точек в скобочках. Сейчас это не важно.
Сохраняем KML файл
Сначала переименуйте слой, удалив расширение файла .xlsx. Затем нажмите на три вертикальные точки справа от названия карты и выберите пункт меню “Экспорт в KML”. Выберите для экспорта вместо всей карты ваш слой и поставьте галочку “Экспортировать в файл KML…”. Нажмите “Скачать”.
Ура! Мы получили долгожданный KML файл с нашими точками, который можно использовать для Google карт и для карт Maps Me. Теперь надо удалить получившийся слой в Google картах.
Точно такую же операцию надо проделать для всех файлов MS Excell, полученных на предыдущих шагах. У нас получится несколько KML-файлов с нашими точками.
Окончательная загрузка в Google
Теперь мы можем окончательно загрузить все наши полученные KML файлы в Google карты. Открываем новую карту или карту, на которую нам надо добавить группу точек, создаем новый слой и импортируем точки как раньше, только закидываем уже не файл MS Excell, а KML. Обратите внимание, что все точки в списке слоя теперь представлены не “слипшимися” в одну, а так сказать, “поштучно” :).
Загрузка в Maps Me
Теперь можно загрузить нужные нам файлы точек в карты Maps Me на нашем устройстве под управлением Android. Для этого достаточно просто подключить устройство к компьютеру, зайти на компьютере в основную память устройства (не на диск, а именно в память!) и открыть там папку “MapsWithMe”. Видите: здесь уже лежат KML-файлы, соответствующие наборам точек, введенных вами вручную в картах Maps Me. Вы можете скопировать их к себе на компьютер для сохранности или загрузки в карты Google. А теперь вы можете загрузить любые из получившихся на предыдущих шагах KML-файлов с компьютера в эту папку Android-гаджета. Главное, чтобы имена копируемых и существующих файлов различались.
Если у вас возникли какие-то вопросы – пишите мне или почитайте страницу помощи Maps Me.
Чтобы не перегружать Maps Me обработкой лишних точек, рекомендую не загружать все файлы точек в папку программы сразу – вы можете загрузить туда любой файл в любой момент, просто скопируйте все файлы точек на ваше устройство в какую-нибудь папку и затем – по мере необходимости копируйте нужные файлы в папку Maps Me. А когда необходимость исчезает – удаляйте их. 🙂
Вот теперь вы честно можете кричать “Ура!”, потому что ваши, с таким трудом собранные данные никуда не пропали. 🙂
Post Scriptum
В целом хочется отметить, что программа MS Excell – очень удобный редактор для работы с данными из XML-файлов. Разумеется, это не XML-редактор, а именно очень удобный обработчик данных, хранящихся в этих файлах.
Также, освоив импорт-экспорт KML-файлов в Google картах, мы получаем очень удобный органайзер точек, с помощью которого можно сортировать, группировать и редактировать точки и для самих Google карт и для карт Maps Me.
Если вам необходимо загрузить ваши точки еще куда-нибудь, например, в Ozi Explorer или в навигатор Garmin, можно воспользоваться вот этим конвертером.
О том, как загрузить точки в формате KML на карты Яндекс можно почитать вот в этой статье.
И еще, китайские службы безопасности не дремлют и поэтому имейте ввиду, что в самом Китае ваши карты и точки могут “поплыть” в неизвестном направлении. Например, точки в картах Maps Me в Пекине уехали у нас на 50 метров на запад…
Так что, “точечных” ракетно-бомбовых ударов америкосам по Китаю нанести не удастся… 🙂