Конвертер KML в YMapsML

С момента, как сделал плагин для wordpress, в голове постоянно крутилась мысль, что хорошо бы найти утилитку для создания XML файлов для Yandex карт… или, на худой конец, конвертер из чего-нибудь распространенного в YMapsML.

После непродолжительного общения с поисковиками и чтения клуба разработчиков API Яндекс.Карт удалось выяснить печальный факт – конвертеров в природе нет, по крайней мере явно на них никто не ссылается. Также, в означенном клубе говорят, что пока инструментария для создания YMapsML не существует, ну и, где-то тамже было, что в будущем yandex карты будут поддерживать KML файлы без всяких конвертеров, но это не приоритетная задача… :(

Одним словом, ничего определенного и понятного… единственное, что удалось найти за все время, это блог “Занимательная Веб-картография”, в котором рассказывалось про конвертер из GPX в YMapsML (http://map.z66.ru/gpx2ymaps).

Таким образом, прокопавшись почти неделю, решил прекращать парить себе мозги и сделать, все что нужно, своими руками…

Итак, извольте посмотреть – Конвертер KML в YMapsML. Как следует из названия, скрипт берет KML файл и переводит его в XML, который понимает Yandex карты. Обрабатывает пока не так много, понимает только StyleMap, Style, Placemark(Point), Placemark(LineString) и структуру KML:  Document->Folder, Folder->Document, Document. Точно также, как и с плагином для wordpress, надеюсь, что в дальнейшем скрипт будет дорабатываться и модернизироваться.

googleearth_test_kml

Рекомендации к применению:
1. Запускаете программу Google Earth.
2. Создаете папку (например в разделе “Мои метки”).
3. В папке размещаете метки (point) и пути (path).
4. Сохраняете папку в формате KML.
5. Загружаете в конвертер.

Если все было обратано нормально, то Вы получите ссылку на XML файл, которую можно использовать для загрузки в yandex карты на своем сайте. :)

Сохранив папку “Тест конвертера KML в YMapsML” в KML и загрузив получившийся файл в конвертер,  на выходе получил следующее:

Если карта не отображается, то можете глянуть на скриншот.

upd: Есть такая штука XSLT – язык преобразования XML документов из одного вида в другой, на досуге надо будет посмотреть. Может и не стоило изобретать велосипед. :)

upd2: Обновленный конвертер KML в YMapsML (2.0), полностью переработан движок, теперь обрабатываются любые структуры KML файла.

Рубрика:  
Компьютер
Метки: 
, , , , , , , , , , ,

Похожие записи:

  • Евгений

    Очень любопытно! Нужно дальше развивать.
    А в обратную сторону чем можно конвертировать?
    Меня например интересуют точки из Яндекс.Карт в Ozi или GoogleEarth.

  • http://ashar-kant.livejournal.com/ Ashar

    Развивать будем. :) Странно, не думал, что конвертировать в обратном направлении… в принципе, это сделать не сложно, учту для будущих версий.

  • Андрей

    Если вдруг уже было, то прошу прощения за невнимательность.
    Если Вам не очень жалко, то было бы здорово если бы ссылкой на Ваш конвертер Вы бы поделились в клубе разработчиков API Яндекс.Карт (http://clubs.ya.ru/mapsapi/). Это было бы полезно другим разработчикам.

    Спасибо.

  • iMiKE

    При попытке воспользоваться конвертером http://www.otrip.ru/kml2yamapsml/ происходят стрfнные вещи – он ни за что не хочет воспринимать мой kml-файл, взятый отсюда (http://kvartoplat.ru/places/kvartoplat.kml). Этот файл получен экспортом из 2Гиса (http://clubs.ya.ru/mapsapi/2gis.ru). Этот файл нормально воспринимается и используется Гуглмапс, Мапченнелс (http://mapchannels.com/view.aspx?ch=kvartoplatdotru), Гуглёф.

    Файл долежн быть в формате KML!

    Вот что пишет конвертер. Очень странно. Не сталкивались с такой проблемой?

  • http://ashar-kant.livejournal.com/ Ashar

    iMiKE, ничего идеального в этом мире нет. :) Вся проблема Вашего файла в том, что он создан не в GoogleEarth и изначально задумывался вообще как KMZ. Поправил конвертер, теперь он понимает подобные случаи и адекватно реагирует… можете попробовать еще раз, а можете взять свой YMapsML по ссылке – http://www.otrip.ru/kml2yamapsml/ymap/090921084518_kvartoplat.xml , единственный момент – у Вас картинки точек использованы локальные, по этому они заменены на стандартную.

  • iMiKE

    Огромное Вам спасибо!

    Попробовал поюзать карту, которая получилась и возникло несколько вопросов:
    1. У меня иконки Png-шные терминалов нормально отображаются, то только почему-то с белым фоном, хотя там прозрачность.
    2. При клике на иконку терминала она заменяется прозрачной.
    3. Как думаете, насколько сложно реализовать такой же список, как здесь (http://mapchannels.com/view.aspx?ch=kvartoplatdotru)?

  • Anonymouse

    Хочу вас поблагодарить за разработку такого замечательного плагина и конвертера, большое спасибо за ваши труды!

  • http://www.otrip.ru Konstantin V.Udovichenko

    Пожалуйста, не жалко. :) Возьмите немного исправленную версию плагина – http://www.otrip.ru/download/otrip-yamap_02.zip

  • Vkert

    Добрый день. Оказываете ли Вы услуги по доработке конвертера по дополнительным требованиям?