Страница 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 КБ) 8393 просмотра
 
		
		
		
		
			  
- В стилях шейпа определяем цвета полигонов содержимым поля цвета.
			
		
				
			
 
						- Screenshot_2019-07-16_12-36-43.png (14.79 КБ) 8393 просмотра
 
		
		
		
		
			  
Вуаля:
 
			 
			
					
				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.