Конвертер 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 и загрузив получившийся файл в конвертер,  на выходе получил следующее:

[yamap: http://www.otrip.ru/kml2yamapsml/ymap/090613144034_testkonverterakmlvymapsml.xml]

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

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

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