Пакетное создание карт ареалов
- 
				bolotoved
 - Гуру
 - Сообщения: 920
 - Зарегистрирован: 30 дек 2008, 14:11
 - Репутация: 236
 - Откуда: Ханты-Мансийск
 - Контактная информация:
 
Пакетное создание карт ареалов
Задача:
1. Есть шейп в атрибутивной таблице которого содержится набор видов (порядка нескольких сотен) и точки их местонахождений (на каждый вид приходится от 1 до нескольких сотен местонахождений).
2. Есть настроенный в QGIS картографический проект-шаблон.
Нужно:
Автоматически сгенерировать карты-схемы точек местонахождения отдельных видов в виде графических файлов и сохранить все это добро в папку.
Совсем хорошо было бы -- вставить полученные карты схемы в Word или PDF c подписями, какому виду какая карта соответствует.
Это вообще возможно? Если алгоритм сразу не ясен, то подскажите, пожалуйста, в какую сторону копать.
			
			
									
						
										
						1. Есть шейп в атрибутивной таблице которого содержится набор видов (порядка нескольких сотен) и точки их местонахождений (на каждый вид приходится от 1 до нескольких сотен местонахождений).
2. Есть настроенный в QGIS картографический проект-шаблон.
Нужно:
Автоматически сгенерировать карты-схемы точек местонахождения отдельных видов в виде графических файлов и сохранить все это добро в папку.
Совсем хорошо было бы -- вставить полученные карты схемы в Word или PDF c подписями, какому виду какая карта соответствует.
Это вообще возможно? Если алгоритм сразу не ясен, то подскажите, пожалуйста, в какую сторону копать.
- 
				stopa85
 
Re: Пакетное создание карт ареалов
Я так понимаю, что из вашего шейпа нужно выбрать точки соответствующий одному виду, подобрать охват карты и сохранить ее в Word и/или pdf. Проблема в том что видов много не хочеться все это делать в ручную. Нужно автоматизировать. Нажал кнопку, поставил галочки и получил 100 word-файлов.
Я бы смог это запрограммировать на С++, вероятно на Python'е будет даже проще. Если сами не программируете, то Вам, конечно, это не поможет и нужо искать подрядчика.
			
			
									
						
										
						Я бы смог это запрограммировать на С++, вероятно на Python'е будет даже проще. Если сами не программируете, то Вам, конечно, это не поможет и нужо искать подрядчика.
- 
				Voltron
 - Гуру
 - Сообщения: 2627
 - Зарегистрирован: 29 мар 2007, 14:12
 - Репутация: 34
 - Откуда: Ukraine
 
Re: Пакетное создание карт ареалов
Если правильно понял задачу, то алгоритм будет примерно такой:
			
			
									
						
										
						- получить список видов
 - организовать цикл по этому списку
 - при помощи запроса отбирать очередной вид
 - формировать карту и сохранять ее либо в графический файл либо сразу в PDF. При желании к карте можно добавить подпись с названием вида из атрибутивной таблицы.
 
- 
				bolotoved
 - Гуру
 - Сообщения: 920
 - Зарегистрирован: 30 дек 2008, 14:11
 - Репутация: 236
 - Откуда: Ханты-Мансийск
 - Контактная информация:
 
Re: Пакетное создание карт ареалов
stopa85
Подбирать охват карты не нужно. Точки нужно рисовать на уже заранее настроенной карте, чтобы все было единообразно.
Voltron
Для начала можно было бы сделать в виде скрипта. Посмотреть, что будет получаться. Если штука окажется полезной, можно подумать и о расширении. Вопрос такой: на сколько создание такого скрипта трудоемко? Могу ли я, не имея особых навыков в программировании, потренироваться на этом примере, или это достаточно сложная задача и браться не стоит?
			
			
									
						
										
						Подбирать охват карты не нужно. Точки нужно рисовать на уже заранее настроенной карте, чтобы все было единообразно.
Ну да, типа того, и кроме этого автоматизация нужна постольку, поскольку шейп постоянно редактируется, вносятся новые точки и нужно периодически делать срез данных на текущее состояние.stopa85 писал(а):Проблема в том что видов много не хочеться все это делать в ручную. Нужно автоматизировать. Нажал кнопку, поставил галочки и получил 100 word-файлов.
Voltron
Для начала можно было бы сделать в виде скрипта. Посмотреть, что будет получаться. Если штука окажется полезной, можно подумать и о расширении. Вопрос такой: на сколько создание такого скрипта трудоемко? Могу ли я, не имея особых навыков в программировании, потренироваться на этом примере, или это достаточно сложная задача и браться не стоит?
- 
				Voltron
 - Гуру
 - Сообщения: 2627
 - Зарегистрирован: 29 мар 2007, 14:12
 - Репутация: 34
 - Откуда: Ukraine
 
Re: Пакетное создание карт ареалов
Думаю, что не сильно сложно, тем более теперь есть неплохое руководство по использованию PyQGIS на русском языке. Только тут надо учитывать один момент — в Python API пока отсутствует возможность загрузки компоновок из шаблона, ее нужно будет создавать программно. Ну или попросить кого-нибудь добавить недостающий функционал в API, но тогда скрипт будет работать только начиная с определенной версии.bolotoved писал(а):Вопрос такой: на сколько создание такого скрипта трудоемко? Могу ли я, не имея особых навыков в программировании, потренироваться на этом примере, или это достаточно сложная задача и браться не стоит?
- 
				ericsson
 - Гуру
 - Сообщения: 3321
 - Зарегистрирован: 27 июл 2009, 19:26
 - Репутация: 748
 - Ваше звание: Вредитель полей
 
Re: Пакетное создание карт ареалов
Эх, а вот в GlobalMapper как раз практически на такой случай есть удобная фича - разбивка слоя на новые на основании выбранных атрибутов.
			
			
									
						
										
						- 
				Voltron
 - Гуру
 - Сообщения: 2627
 - Зарегистрирован: 29 мар 2007, 14:12
 - Репутация: 34
 - Откуда: Ukraine
 
Re: Пакетное создание карт ареалов
И? В QGIS разбить слой тоже можно. Просто нужны не слои, а печатные карты, к тому же исходный слой постоянно обновляется. Не будете же вы на каждый чих создавать 100500 слоев и потом вручную для каждого из них печатать картуericsson писал(а):Эх, а вот в GlobalMapper как раз практически на такой случай есть удобная фича - разбивка слоя на новые на основании выбранных атрибутов.
- 
				bolotoved
 - Гуру
 - Сообщения: 920
 - Зарегистрирован: 30 дек 2008, 14:11
 - Репутация: 236
 - Откуда: Ханты-Мансийск
 - Контактная информация:
 
Re: Пакетное создание карт ареалов
Спешить нам не куда. Каким образом подаются заявки на расширение функционала API?Voltron писал(а):в Python API пока отсутствует возможность загрузки компоновок из шаблона, ее нужно будет создавать программно. Ну или попросить кого-нибудь добавить недостающий функционал в API, но тогда скрипт будет работать только начиная с определенной версии.
---
В принципе, наверное, можно синтезировать результирующий растр из растеризованного шаблона и растра генерируемого скриптом из точек, при условии, что все значения растра за пределами значков точек будут равны 0.
- 
				ericsson
 - Гуру
 - Сообщения: 3321
 - Зарегистрирован: 27 июл 2009, 19:26
 - Репутация: 748
 - Ваше звание: Вредитель полей
 
Re: Пакетное создание карт ареалов
Ну в GM тоже есть скриптовый язык и batch-конвертер (в т.ч. в искомый PDF), а вообще, сделав экспорт в отдельные шейпы, дальше gdal_rasterize никто не отменял.
			
			
									
						
										
						- 
				Voltron
 - Гуру
 - Сообщения: 2627
 - Зарегистрирован: 29 мар 2007, 14:12
 - Репутация: 34
 - Откуда: Ukraine
 
Re: Пакетное создание карт ареалов
Создать тикет в trac и периодически пинать разработчиков в списке рассылки и IRCbolotoved писал(а):Спешить нам не куда. Каким образом подаются заявки на расширение функционала API?
Можно и так, только я бы все же использовал компоновку. Создать ее программно по имеющемуся образцу не сложно, тем более сделать это надо будет один раз, а потом просто использовать ее для вывода. Еще можно самостоятельно написать загрузку шаблона, взяв за основу существущий код из ядраbolotoved писал(а):В принципе, наверное, можно синтезировать результирующий растр из растеризованного шаблона и растра генерируемого скриптом из точек, при условии, что все значения растра за пределами значков точек будут равны 0.
- 
				Voltron
 - Гуру
 - Сообщения: 2627
 - Зарегистрирован: 29 мар 2007, 14:12
 - Репутация: 34
 - Откуда: Ukraine
 
Re: Пакетное создание карт ареалов
Стрелку севера, масштабную линейку и подписи gdal_rasterize не нарисует. За GM не знаюericsson писал(а):Ну в GM тоже есть скриптовый язык и batch-конвертер (в т.ч. в искомый PDF), а вообще, сделав экспорт в отдельные шейпы, дальше gdal_rasterize никто не отменял.
- 
				ericsson
 - Гуру
 - Сообщения: 3321
 - Зарегистрирован: 27 июл 2009, 19:26
 - Репутация: 748
 - Ваше звание: Вредитель полей
 
Re: Пакетное создание карт ареалов
GM - нарисует. 
Через GDAL масштабную линейку и стрелку организовать тоже можно при некоторой ловкости рук, хотя это и не очень удобно, согласен.
			
			
									
						
										
						Через GDAL масштабную линейку и стрелку организовать тоже можно при некоторой ловкости рук, хотя это и не очень удобно, согласен.
- Максим Дубинин
 - MindingMyOwnBusiness
 - Сообщения: 9129
 - Зарегистрирован: 06 окт 2003, 20:20
 - Репутация: 748
 - Ваше звание: NextGIS
 - Откуда: Москва
 - Контактная информация:
 
Re: Пакетное создание карт ареалов
вопрос в форуме про QGIS, давайте не проводить здесь сравнения софта.
bolotoved, см. проекты автоматически генерируемые на базе мастер-проекта для регионов из данных OSM
http://gis-lab.info/qa/osm-qgis-projects.html
принцип похожий, но для компоновок нужно делать как написал Voltron.
			
			
									
						
							bolotoved, см. проекты автоматически генерируемые на базе мастер-проекта для регионов из данных OSM
http://gis-lab.info/qa/osm-qgis-projects.html
принцип похожий, но для компоновок нужно делать как написал Voltron.
пристегивайтесь, турбулентность прямо по курсу
			
						- 
				Александр Мурый
 - Гуру
 - Сообщения: 5173
 - Зарегистрирован: 26 сен 2009, 16:26
 - Репутация: 792
 - Ваше звание: званий не имею
 - Откуда: Москва
 
Re: Пакетное создание карт ареалов
давайте не проводить здесь сравнения софта
Прощу прощения, что не про QGIS, но описанное (если я его правильно понял) довольно просто делается в GRASS в модуле для вывода карт ps.map. Сделать для каждого вида (запрос "where") точку с символом в виде выбранного граф.файла (EPS-файл). Главное --- ничего не надо программировать (единственное -- грамотно запихнуть данные в грассовский набор). На выходе -- качественный PostScript (можно потом сделать PDF или растр типа PNG).
Редактор материалов, модератор форума
			
						Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 10 гостей