Экспортировать надписи в KML

Ответить
bolotoved
Гуру
Сообщения: 920
Зарегистрирован: 30 дек 2008, 14:11
Репутация: 236
Откуда: Ханты-Мансийск
Контактная информация:

Экспортировать надписи в KML

Сообщение bolotoved » 24 сен 2011, 09:07

Можно ли с помощью GDAL/OGR экспортировать шейп-файл в KML так, чтобы при его запуске в GoogleEarth отображались надписи из определенной колонки атрибутов.
Данная команда:

Код: Выделить всё

ogr2ogr -f KML output.kml input.shp -dsco NameField=RegionName
не дает желательного результата -- надписи отображаются только при наведении на объект мышкой.
Последний раз редактировалось bolotoved 25 сен 2011, 09:13, всего редактировалось 1 раз.

Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: Экспортировать надписи в KML

Сообщение Дмитрий Барышников » 24 сен 2011, 12:57

Версия GDAL/OGR и пример файла в студию.

bolotoved
Гуру
Сообщения: 920
Зарегистрирован: 30 дек 2008, 14:11
Репутация: 236
Откуда: Ханты-Мансийск
Контактная информация:

Re: Экспортировать надписи в KML

Сообщение bolotoved » 24 сен 2011, 13:31

GDAL/OGR Version 1.8.1
Вложения
rodugod_shp.7z
(6.35 КБ) 455 скачиваний

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Экспортировать надписи в KML

Сообщение Александр Мурый » 24 сен 2011, 14:21

Как я понял, простым конвертированием в KML подписи к полигонам в GE не добавишь.
Сами по себе полигоны, вроде бы, не подписываются. Нужно или ставить внутри них точку (типа "центроида") и задавать ей соотв. стиль и подпись, либо делать т.н. MultiGeometry с полигоном и точкой для подписи. Теперь весь вопрос, КАК?
Редактор материалов, модератор форума

bolotoved
Гуру
Сообщения: 920
Зарегистрирован: 30 дек 2008, 14:11
Репутация: 236
Откуда: Ханты-Мансийск
Контактная информация:

Re: Экспортировать надписи в KML

Сообщение bolotoved » 24 сен 2011, 14:46

Вот пример того, чего бы хотелось, полученный с помощью импорта Shp в KMZ в GlobalMapper
Вложения
200_000_Khanty.kmz
(3.11 КБ) 456 скачиваний

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Экспортировать надписи в KML

Сообщение Александр Мурый » 24 сен 2011, 15:06

Если исп-ть 1-й вариант, как более простой (полигон + точка в нём), то получается примерно так:
Selection_001.png
Selection_001.png (275.12 КБ) 9969 просмотров
Соотв-й KML:
rodugod_polygon_name.kml
(23.97 КБ) 816 скачиваний
Перед первым <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>. Но, кстати, надпись уезжает при выключении точки -- получается привязка к координатам точки середины надписи, а не её левого края.
Редактор материалов, модератор форума

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 793
Ваше звание: званий не имею
Откуда: Москва

Re: Экспортировать надписи в KML

Сообщение Александр Мурый » 24 сен 2011, 15:17

А в выложенном "200_000_Khanty.kmz" исп-ся как раз таки <MultiGeometry>. IMHO, надо скриптовать. Хотя, если данных не очень много, можно и вручную в текст. редакторе поправить KML, полученный с пом. OGR.

Может, кто-то знающий подскажет ещё утилиту для решения этой задачи.
Редактор материалов, модератор форума

bolotoved
Гуру
Сообщения: 920
Зарегистрирован: 30 дек 2008, 14:11
Репутация: 236
Откуда: Ханты-Мансийск
Контактная информация:

Re: Экспортировать надписи в KML

Сообщение bolotoved » 25 сен 2011, 09:10

Подведем итог:
Чтобы создать 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: Файл/Сохранить местоположение как.

Ответить

Вернуться в «GDAL/OGR»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 22 гостя