Split для Shp-файла на отдельные features по полю Id
-
- Гуру
- Сообщения: 969
- Зарегистрирован: 22 май 2010, 20:20
- Репутация: 154
Split для Shp-файла на отдельные features по полю Id
Кто-нибудь в QGis через Python-интерфейс делал разбивку множества shp-файлов по id-полю на отдельные shp-файлы?
-
- Гуру
- Сообщения: 969
- Зарегистрирован: 22 май 2010, 20:20
- Репутация: 154
Re: Split для Shp-файла на отдельные features по полю Id
вот как можно:
(за основу взял ссылку:
http://gis.stackexchange.com/questions/ ... -in-python
(за основу взял ссылку:
http://gis.stackexchange.com/questions/ ... -in-python
Код: Выделить всё
from shapely.geometry import mapping, shape
import fiona
# Чтение исходного shp-файла
with fiona.collection('test_uk.shp', 'r') as input_file:
source_driver = input_file.driver
source_crs = input_file.crs
schema_out = input_file.schema.copy()
# Цикл по feature'-сам
for elem in input_file:
# имя выходного файла
output_file='_Divide_Shps/'+elem['id']+'.shp'
# запись в выходной файл
#... c crs=source_crs - программа вылетает...
#with fiona.collection(output_file, 'w', driver=source_driver, crs=source_crs, schema=schema_out) as output:
#... без crs=source_crs - программа отрабатывает, но prj-файлы не генериоуются...
with fiona.collection(output_file, 'w', driver=source_driver, schema=schema_out) as output:
output.write({'properties': elem['properties'],'geometry': mapping(shape(elem['geometry']))})
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя