Заливка полигонов KML

Не знаете, где задать вопрос? Задавайте здесь.
Ответить
athe
Интересующийся
Сообщения: 15
Зарегистрирован: 06 июн 2018, 14:21
Репутация: 0
Откуда: Киев

Заливка полигонов KML

Сообщение athe » 11 июл 2019, 16:31

Доброго времени суток.
Имею в наличии большое количество безымянных полигонов. Отличаются только геометрией и цветом заливки. Возможно ли конвертировать их в .shp с сохранением информации по заливке (в атрибутивную таблицу к примеру)?
Пример мультиполигона:
Изображение
Заранее благодарен.
С важением,
athe

trir
Гуру
Сообщения: 4309
Зарегистрирован: 09 апр 2010, 19:30
Статьи: 1
Репутация: 786
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Заливка полигонов KML

Сообщение trir » 11 июл 2019, 17:43

возможно

xtxskif
Завсегдатай
Сообщения: 404
Зарегистрирован: 17 фев 2016, 14:02
Репутация: 2

Re: Заливка полигонов KML

Сообщение xtxskif » 13 июл 2019, 03:16

реккомендую QGIS

athe
Интересующийся
Сообщения: 15
Зарегистрирован: 06 июн 2018, 14:21
Репутация: 0
Откуда: Киев

Re: Заливка полигонов KML

Сообщение athe » 15 июл 2019, 11:36

Добрый день.
QGIS "видит" множество полигонов и пустую атрибутивную таблицу. Открывал kml через блокнот. Код заливки присваивается переменной, которая в свою очередь присваивается к полигону. Каким образом выудить эту информацию в более-менее удобоваримый вид?
*пикладываю пример файла во вложении.
С уважением,
athe.
Вложения
4 (218795).kml
(864.44 КБ) 5 скачиваний

trir
Гуру
Сообщения: 4309
Зарегистрирован: 09 апр 2010, 19:30
Статьи: 1
Репутация: 786
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Заливка полигонов KML

Сообщение trir » 15 июл 2019, 11:44

открыть kml в Excel'e и вытащить coordinates и styleUrl, а потом формулами сделать .csv с wkt

или ogr и sql

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

ogr2ogr -f CSV output.csv input.kml -sql "select *,OGR_GEOM_WKT from some_kml_layer"
https://github.com/dwtkns/gdal-cheat-sheet

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 1811
Зарегистрирован: 04 янв 2011, 22:00
Статьи: 12
Проекты: 1
Репутация: 1134
Откуда: Казань

Re: Заливка полигонов KML

Сообщение Игорь Белов » 16 июл 2019, 12:40

  1. Конвертируем KML в Shapefile. Шелл-скрипт для кучи файлов:

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

    for f_src in *.kml
    do
        f="${f_src%.*}"
        ogr2ogr -f "ESRI Shapefile" -sql "SELECT Name, OGR_STYLE FROM \"${f}\"" "${f}.shp" "${f_src}"
    done
    
  2. Создаём таблицу соответствия "стиль <==> цвет" в текстовом файле. Хорошо слепить скриптик для этого. В данном случае с 11 стилями в единственном файле я скопипастил значения из KML врукопашную в файл style.csv:

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

    style_id,color
    @SOBREL102,#699cc7
    @SOBREL50,#1f3f81
    @SOBREL41,#153073
    @SOBREL3,#0d2267
    @SOBREL70,#38619d
    @SOBREL100,#00ff00
    @SOBREL12,#010c49
    @SOBREL61,#2b508f
    @SOBREL2,#061657
    @SOBREL9,#5788b9
    @SOBREL80,#4774ab
  3. Открываем то и другое в QGIS и джойним к шейпу текстовую таблицу по полю стиля.
    Screenshot_2019-07-16_12-29-41.png
    Screenshot_2019-07-16_12-29-41.png (29.08 КБ) 146 просмотров
  4. В стилях шейпа определяем цвета полигонов содержимым поля цвета.
    Screenshot_2019-07-16_12-36-43.png
    Screenshot_2019-07-16_12-36-43.png (14.79 КБ) 146 просмотров
Вуаля:
Вложения
Screenshot_2019-07-16_12-29-52.png
Screenshot_2019-07-16_12-29-52.png (67.49 КБ) 146 просмотров

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 1811
Зарегистрирован: 04 янв 2011, 22:00
Статьи: 12
Проекты: 1
Репутация: 1134
Откуда: Казань

Re: Заливка полигонов KML

Сообщение Игорь Белов » 17 июл 2019, 07:56

Как оказалось, в KML цвет даётся в формате ABGR. Пришлось «перевернуть» цвета в файле style.csv:

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

style_id,color
@SOBREL102,#c79c69
@SOBREL50,#813f1f
@SOBREL41,#733015
@SOBREL3,#67220d
@SOBREL70,#9d6138
@SOBREL100,#00ff00
@SOBREL12,#490c01
@SOBREL61,#8f502b
@SOBREL2,#571606
@SOBREL9,#b98857
@SOBREL80,#ab7447
Вложения
Screenshot_2019-07-17_07-52-00.png
Screenshot_2019-07-17_07-52-00.png (67.63 КБ) 108 просмотров

athe
Интересующийся
Сообщения: 15
Зарегистрирован: 06 июн 2018, 14:21
Репутация: 0
Откуда: Киев

Re: Заливка полигонов KML

Сообщение athe » 18 июл 2019, 10:58

Добрый день. Прошу прощения за долгое отсутствие. Всем большое спасибо за ответы.
С уважением,
athe.

Ответить

Вернуться в «Я новичок!»

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

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