Карта с диаграммой-инфографикой

Кроме QGIS
Ответить
Аватара пользователя
gimran
Гуру
Сообщения: 1902
Зарегистрирован: 07 июл 2010, 15:43
Репутация: 242
Откуда: Уфа

Карта с диаграммой-инфографикой

Сообщение gimran » 04 фев 2016, 07:19

Можно ли в qgis сделать подобное (см. вложение)?
А если да, то как и с помощью чего?
Здесь один цвет - условный знак. Например, здесь один цвет - одна древесная порода. В сумме (весь квадрат) дают 100%.
Вложения
14220ca3.jpg
14220ca3.jpg (33.72 КБ) 12981 просмотр

gornak
Активный участник
Сообщения: 146
Зарегистрирован: 30 авг 2015, 16:38
Репутация: 25
Контактная информация:

Re: Карта с диаграммой-инфографикой

Сообщение gornak » 04 фев 2016, 08:38

можно написать скрипт, создающий вектор для определенного масштаба, с полем "порода", заполняемым по таблице с данными, а потом применить к нему необходимые символы, может не самый "красивый вариант, но результат гарантирован

gornak
Активный участник
Сообщения: 146
Зарегистрирован: 30 авг 2015, 16:38
Репутация: 25
Контактная информация:

Re: Карта с диаграммой-инфографикой

Сообщение gornak » 04 фев 2016, 19:52

gimran писал(а):Здесь один цвет - условный знак. Например, здесь один цвет - одна древесная порода. В сумме (весь квадрат) дают 100%.
насколько помню,помимо этого,"квадраты" еще имеют масштаб в зависимости от запаса
если не найдете решения, обращайтесь-помогу, т.к. сам работаю в лх, "идея" есть, скрипт, который создает shp сетку квадратов на питоне под gdal тоже,надо только немного подредактировать

Ariki
Гуру
Сообщения: 731
Зарегистрирован: 12 янв 2011, 22:40
Репутация: 304
Ваше звание:

Re: Карта с диаграммой-инфографикой

Сообщение Ariki » 04 фев 2016, 22:15

Возможности стилизации в QGIS очень мощные и позволяют делать невообразимые вещи. Например, вы можете создать стиль для точечного слоя, добавить в него сотню квадратных маркеров, расположив их по сетке 10×10, и переопределить цвет каждого маркера с помощью выражения, использующего значения полей. Если, конечно, результат для вас стоит трудозатрат. Впрочем, создание стиля поддаётся скриптингу, поскольку проект QGIS - это XML-файл.

Вот на скриншоте я попробовал задать цвета и прозрачность четырёх квадратиков случайным образом. Но вместо случайной функции можно написать выражение, генерирующее цвет на основе значений полей.
Вложения
qgis_random_colors.png
qgis_random_colors.png (169.75 КБ) 12885 просмотров

Аватара пользователя
gimran
Гуру
Сообщения: 1902
Зарегистрирован: 07 июл 2010, 15:43
Репутация: 242
Откуда: Уфа

Re: Карта с диаграммой-инфографикой

Сообщение gimran » 05 фев 2016, 19:19

А модуля диаграмм для подобного нет?
Просто варианты выше напоминают "костыль".
(Не обязательно породы, т.к. в одном атласе подобное для любых аналогов диаграмм делали, как кажется, для больших карт это нагляднее круговых диаграмм).
Кстати, это как на английском называется?

[ Сообщение с мобильного устройства ]

Ariki
Гуру
Сообщения: 731
Зарегистрирован: 12 янв 2011, 22:40
Репутация: 304
Ваше звание:

Re: Карта с диаграммой-инфографикой

Сообщение Ariki » 05 фев 2016, 23:02

Называется square pie chart, вроде бы.

Аватара пользователя
gimran
Гуру
Сообщения: 1902
Зарегистрирован: 07 июл 2010, 15:43
Репутация: 242
Откуда: Уфа

Re: Карта с диаграммой-инфографикой

Сообщение gimran » 06 фев 2016, 02:04

Ariki, напишите чуть подробнее как отдельный маркер можно выражением задать? Сложные правила оформления делал, но раскраска отдельного маркера среди нескольких - создаётся N маркеров на условный знак и каждому индивидуальное?
Спасибо, гениально, сам не додумался до этого :)

[ Сообщение с мобильного устройства ]

Ariki
Гуру
Сообщения: 731
Зарегистрирован: 12 янв 2011, 22:40
Репутация: 304
Ваше звание:

Re: Карта с диаграммой-инфографикой

Сообщение Ariki » 06 фев 2016, 04:14

Да, нужно создать несколько маркеров на условный знак. Там в свойствах маркера справа от каждого элемента управления, задающего отдельное свойство, например, цвет заливки, есть иконка с выпадающим меню. На моём скриншоте эти иконки видно. В выпадающем меню выбираете "Изменить", открывается окно конструктора выражений. Более того, если встроенных функций вам не хватит, на вкладке "Редактор функций" можно определить свою функцию на Python (хотя я не проверял, как это работает).

В вашем случае для каждого маркера выражение должно быть своим. Выражение должно состоять из списка условий (оператор CASE), назначающих маркеру цвет в зависимости от порядкового номера маркера и суммы значений нескольких полей в процентах. Если выложите образец данных, могу попробовать сделать наглядный пример.

Аватара пользователя
gimran
Гуру
Сообщения: 1902
Зарегистрирован: 07 июл 2010, 15:43
Репутация: 242
Откуда: Уфа

Re: Карта с диаграммой-инфографикой

Сообщение gimran » 06 фев 2016, 10:45

Как порядковый номер маркера задаётся в выражении? Остальное всё понятно

[ Сообщение с мобильного устройства ]

Ariki
Гуру
Сообщения: 731
Зарегистрирован: 12 янв 2011, 22:40
Репутация: 304
Ваше звание:

Re: Карта с диаграммой-инфографикой

Сообщение Ariki » 06 фев 2016, 11:54

Никак, нужно прописывать явно каждому маркеру.

Аватара пользователя
gimran
Гуру
Сообщения: 1902
Зарегистрирован: 07 июл 2010, 15:43
Репутация: 242
Откуда: Уфа

Re: Карта с диаграммой-инфографикой

Сообщение gimran » 06 фев 2016, 12:00

Понял, спасибо

[ Сообщение с мобильного устройства ]

Аватара пользователя
gimran
Гуру
Сообщения: 1902
Зарегистрирован: 07 июл 2010, 15:43
Репутация: 242
Откуда: Уфа

Re: Карта с диаграммой-инфографикой

Сообщение gimran » 06 фев 2016, 12:17

Вопрос: а можно создать svg-файл, задать каждой ячейке (подобъекту) своё имя, а потом вызвать в правиле явно подобъект из svg по имени?
Если да, то как вызвать имя подобъекта в svg в qgis?

[ Сообщение с мобильного устройства ]

Ariki
Гуру
Сообщения: 731
Зарегистрирован: 12 янв 2011, 22:40
Репутация: 304
Ваше звание:

Re: Карта с диаграммой-инфографикой

Сообщение Ariki » 06 фев 2016, 12:47

Это вряд ли. Выражение должно возвращать единственное значение, задающее свойство.

Ответить

Вернуться в «Свободные, бесплатные, открытые ГИС»

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

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