Страница 1 из 1
Заливка полигонов KML
Добавлено: 11 июл 2019, 16:31
athe
Доброго времени суток.
Имею в наличии большое количество безымянных полигонов. Отличаются только геометрией и цветом заливки. Возможно ли конвертировать их в .shp с сохранением информации по заливке (в атрибутивную таблицу к примеру)?
Пример мультиполигона:
Заранее благодарен.
С важением,
athe
Re: Заливка полигонов KML
Добавлено: 11 июл 2019, 17:43
trir
возможно
Re: Заливка полигонов KML
Добавлено: 13 июл 2019, 03:16
xtxskif
реккомендую QGIS
Re: Заливка полигонов KML
Добавлено: 15 июл 2019, 11:36
athe
Добрый день.
QGIS "видит" множество полигонов и пустую атрибутивную таблицу. Открывал kml через блокнот. Код заливки присваивается переменной, которая в свою очередь присваивается к полигону. Каким образом выудить эту информацию в более-менее удобоваримый вид?
*пикладываю пример файла во вложении.
С уважением,
athe.
Re: Заливка полигонов KML
Добавлено: 15 июл 2019, 11:44
trir
открыть 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
Re: Заливка полигонов KML
Добавлено: 16 июл 2019, 12:40
Игорь Белов
- Конвертируем 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
- Создаём таблицу соответствия "стиль <==> цвет" в текстовом файле. Хорошо слепить скриптик для этого. В данном случае с 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
- Открываем то и другое в QGIS и джойним к шейпу текстовую таблицу по полю стиля.
- Screenshot_2019-07-16_12-29-41.png (29.08 КБ) 7642 просмотра
- В стилях шейпа определяем цвета полигонов содержимым поля цвета.
- Screenshot_2019-07-16_12-36-43.png (14.79 КБ) 7642 просмотра
Вуаля:
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
Re: Заливка полигонов KML
Добавлено: 18 июл 2019, 10:58
athe
Добрый день. Прошу прощения за долгое отсутствие. Всем большое спасибо за ответы.
С уважением,
athe.