Страница 1 из 1
Экспортировать надписи в KML
Добавлено: 24 сен 2011, 09:07
bolotoved
Можно ли с помощью GDAL/OGR экспортировать шейп-файл в KML так, чтобы при его запуске в GoogleEarth отображались надписи из определенной колонки атрибутов.
Данная команда:
Код: Выделить всё
ogr2ogr -f KML output.kml input.shp -dsco NameField=RegionName
не дает желательного результата -- надписи отображаются только при наведении на объект мышкой.
Re: Экспортировать надписи в KML
Добавлено: 24 сен 2011, 12:57
Дмитрий Барышников
Версия GDAL/OGR и пример файла в студию.
Re: Экспортировать надписи в KML
Добавлено: 24 сен 2011, 13:31
bolotoved
GDAL/OGR Version 1.8.1
Re: Экспортировать надписи в KML
Добавлено: 24 сен 2011, 14:21
Александр Мурый
Как я понял, простым конвертированием в KML подписи к полигонам в GE не добавишь.
Сами по себе полигоны, вроде бы, не подписываются. Нужно или ставить внутри них точку (типа "центроида") и задавать ей соотв. стиль и подпись, либо делать т.н. MultiGeometry с полигоном и точкой для подписи. Теперь весь вопрос, КАК?
Re: Экспортировать надписи в KML
Добавлено: 24 сен 2011, 14:46
bolotoved
Вот пример того, чего бы хотелось, полученный с помощью импорта Shp в KMZ в GlobalMapper
Re: Экспортировать надписи в KML
Добавлено: 24 сен 2011, 15:06
Александр Мурый
Если исп-ть 1-й вариант, как более простой (полигон + точка в нём), то получается примерно так:

- Selection_001.png (275.12 КБ) 10754 просмотра
Соотв-й KML:
Перед первым <Placemark> первого полигона я вставил:
Код: Выделить всё
<Placemark>
<name>Каюков Степан Егорович</name>
<Style><IconStyle><scale>0</scale></IconStyle></Style>
<Point>
<coordinates>72.723,59.725</coordinates>
</Point>
</Placemark>
Здесь
<scale>0</scale> "выключает" отображение точечного символа. Включить можно с помощью
<scale>1</scale>. Но, кстати, надпись уезжает при выключении точки -- получается привязка к координатам точки
середины надписи, а не её левого края.
Re: Экспортировать надписи в KML
Добавлено: 24 сен 2011, 15:17
Александр Мурый
А в выложенном "200_000_Khanty.kmz" исп-ся как раз таки <MultiGeometry>. IMHO, надо скриптовать. Хотя, если данных не очень много, можно и вручную в текст. редакторе поправить KML, полученный с пом. OGR.
Может, кто-то знающий подскажет ещё утилиту для решения этой задачи.
Re: Экспортировать надписи в KML
Добавлено: 25 сен 2011, 09:10
bolotoved
Подведем итог:
Чтобы создать KMZ с полигонами и надписями к ним из шейпа нужно:
1. Создать шейп центроидов необходимых полигонов (Например в QGIS: Вектор/Обработка геометрии/Центроиды полигонов
2. С помощью команды GDAL/OGR последовательно преобразовать и точечный и полигональный слои в KML
Код: Выделить всё
ogr2ogr -f KML output.kml input.shp -dsco NameField=RegionName
3. Открыть полученные KML в Google Earth. По умолчанию они занесутся в папку "Временные метки" GE. Настроить отображение полигонов и точек (точки сделать прозрачными): щелкаем правой кнопкой мыши по точечному слою --> -->Свойства --> Вкладка "Стиль, цвет". В графе значок, прозрачность устанавливаем равной 0.
4. Копируем точечный и полигональный слои в папку "Мои метки" (откуда предварительно удаляем все лишнее). И сохраняем новый комплексный KMZ: Файл/Сохранить местоположение как.