Как сделать тепловую карту помещения

Обновлено: 08.07.2024

h = heatmap( tbl , xvar , yvar ,'ColorVariable', cvar ) использует табличную переменную, заданную cvar , чтобы вычислить цветные данные. Метод расчета по умолчанию является средней агрегацией.

h = heatmap( cdata ) создает тепловую карту из матричного cdata . Тепловая карта имеет одну ячейку для каждого значения в cdata .

h = heatmap( xvalues , yvalues , cdata ) задает метки для значений, которые появляются вдоль оси X и оси Y .

h = heatmap( ___ , Name,Value ) задает дополнительные опции для тепловой карты с помощью одного или нескольких аргументов пары "имя-значение". Задайте опции после всех других входных параметров. Для списка свойств смотрите HeatmapChart Properties .

h = heatmap( parent , ___ ) создает тепловую карту в фигуре, панели или вкладке, заданной parent .

Примеры

Создание тепловой карты из табличных данных

Создайте тепловую карту из таблицы данных для медицинских пациентов.

Загрузите набор данных patients и составьте таблицу от подмножества переменных, загруженных в рабочую область. Затем создайте тепловую карту, которая считает общее количество пациентов с тем же набором значений SelfAssessedHealthStatus и Smoker .


Переупорядочение меток тепловой карты

Создайте тепловую карту и переупорядочьте метки вдоль оси Y .

Загрузите набор данных patients и создайте тепловую карту из данных. Присвойте объект HeatmapChart переменной h .


Переупорядочьте метки вдоль оси Y .


Также можно переупорядочить метки путем изменения данных на категориальные данные и затем переупорядочения категорий с помощью функции reordercats . Точно так же можно добавить, удалить или переименовать метки тепловой карты с помощью addcats , removecats или функций renamecats , соответственно.

Определение табличной переменной для цветов тепловой карты

Создайте тепловую карту и задайте табличную переменную, чтобы использовать при определении цветов ячейки тепловой карты.

Загрузите набор данных patients и создайте тепловую карту из данных. Окрасьте каждую ячейку с помощью среднего возраста пациентов с конкретной парой Smoker и значений SelfAssessedHealthStatus путем установки опции ColorVariable на 'Age' .


Определение метода расчета для цветных данных

Создайте тепловую карту и задайте табличную переменную и метод расчета, чтобы использовать при определении цветов ячейки тепловой карты.

Загрузите набор данных пациентов и создайте тепловую карту из данных. Окрасьте каждую ячейку с помощью среднего возраста пациентов с конкретной парой значений SelfAssessedHealthStatus и Smoker . Задайте опцию ColorVariable как 'Age' и опцию ColorMethod как 'median' .


Создание тепловой карты из матричных данных

Создайте матрицу данных. Затем создайте тепловую карту матричных значений. Метки по умолчанию вдоль оси X и оси Y появляются как 1, 2, 3, и так далее.


Создание тепловой карты из матричных данных Используя пользовательские подписи по осям

Создайте матрицу данных. Затем создайте тепловую карту матричных значений. Используйте пользовательские метки вдоль оси X и оси Y путем определения первых двух входных параметров как меток, которые вы хотите. Задайте заголовок и подписи по осям путем установки свойств объекта HeatmapChart .


Нормализация цветов вдоль каждой строки или столбца

Создайте тепловую карту и нормируйте цвета вдоль каждого столбца или строки путем установки свойства ColorScaling .

Считайте файл примера outages.csv в таблицу. Файл примера содержит данные, представляющие отключения электричества электроэнергетики в, Объединяет состояния. Таблица содержит шесть столбцов: Region , OutageTime , Loss , Customers , RestorationTime и Cause . Отобразите первые пять строк каждого столбца.

Создайте тепловую карту, которая показывает различные области вдоль оси X и различные причины отключения электричества вдоль оси Y . В каждой ячейке покажите, сколько раз каждая область испытала отключение электроэнергии из-за конкретной причины.


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


Нормируйте цвета вдоль каждой строки вместо этого. Наименьшее значение в каждых картах строки к первому раскрашивает палитру и самые большие карты ценности к последнему цвету. Последний цвет указывает на область, которая испытала большинство отключений электроэнергии из-за каждой причины.


Вычисление цветных данных Используя пользовательский метод агрегации

Создайте тепловую карту и окрасьте ячейки с помощью данных, вычисленных с пользовательским методом агрегации. Используйте функцию accumarray , чтобы вычислить цветные данные.

Считайте файл примера Temperature.csv в таблицу. Файл содержит три столбца: Month , Year и TemperatureF .

Создайте категориальные массивы из Month и столбцов Year таблицы. Затем определите уникальные месяцы и годы, чтобы использовать в качестве меток вдоль оси X и оси Y .

Определите итоговый размер данных об итоговом цвете на основе номера уникальных месяцев и лет.

Преобразуйте категориальный months и массивы years в числовые индексы, чтобы использовать с функцией accumarray . Вычислите цветные данные как максимальную температуру для каждой комбинации месяца и года с помощью функции accumarray . Используйте NaN для недостающих комбинаций месяца и года.

Создайте тепловую карту. Маркируйте ось X и ось Y с месяцами и годами, соответственно. Окрасьте ячейки тепловой карты с помощью вычисленных матричных данных.


Примечание: можно использовать функцию reordercats для категориальных массивов, чтобы переупорядочить подписи по осям.

Таблица tbl — Source
таблица | расписание

Таблица Source, заданная как таблица или расписание.

Можно составить таблицу от переменных рабочей области с помощью функции table , или можно импортировать данные как таблицу с помощью функции readtable . Можно создать расписание из переменных рабочей области с помощью функции timetable .

Свойство SourceTable объектно-ориентированной памяти HeatmapChart исходная таблица.

xvar — Табличная переменная для x - ось
вектор символов | представляет скаляр в виде строки | числовой скаляр | логический вектор

Табличная переменная для x - ось, заданная в одной из следующих форм:

Вектор символов или скаляр строки указание на одни из имен переменных. Например, heatmap(tbl,'HealthStatus','Gender') выбирает переменную под названием 'HealthStatus' для x - ось.

Числовой скаляр, указывающий на индекс табличной переменной. Например, heatmap(tbl,2,3) выбирает вторую переменную в таблице для x - ось.

Логический вектор, содержащий один элемент true .

Значения, сопоставленные с вашей табличной переменной, должны быть сгруппированы в конечное множество дискретных категорий, которые принимает функция categorical . Если значения не сгруппированы в конечное множество категорий, используйте функцию discretize , чтобы сгруппировать их.

Метки, которые появляются вдоль оси X , в алфавитном порядке. Можно настроить метки с помощью категориальных массивов. Для примера смотрите, Создают Тепловую карту из Табличных данных.

Свойство XVariable объектно-ориентированной памяти HeatmapChart выбранная переменная.

yvar — Табличная переменная для y - ось
вектор символов | представляет скаляр в виде строки | числовой скаляр | логический вектор

Табличная переменная для y - ось, заданная в одной из следующих форм:

Вектор символов или скаляр строки одних из имен переменных. Например, heatmap(tbl,'HealthStatus','Gender') выбирает переменную под названием 'HealthStatus' для y - ось.

Числовой скаляр, указывающий на индекс табличной переменной. Например, heatmap(tbl,2,3) выбирает третью переменную в таблице для y - ось.

Логический вектор, содержащий один элемент true .

Значения, сопоставленные с вашей табличной переменной, должны быть сгруппированы в конечное множество дискретных категорий, которые принимает функция categorical . Если значения не сгруппированы в конечное множество категорий, используйте функцию discretize , чтобы сгруппировать их.

Метки, которые появляются вдоль оси Y , в алфавитном порядке. Можно настроить метки с помощью категориальных массивов. Для примера смотрите, Создают Тепловую карту из Табличных данных.

Свойство YVariable объектно-ориентированной памяти HeatmapChart выбранная переменная.

cvar Табличная переменная для цветных данных
вектор символов | представляет скаляр в виде строки | числовой скаляр | логический вектор

Табличная переменная для цветных данных, заданных в одной из следующих форм:

Вектор символов или скаляр строки одних из имен переменных. Например, heatmap(__,'ColorVariable,'HealthStatus') выбирает переменную под названием 'HealthStatus' для y - ось.

Числовой скаляр, указывающий на индекс табличной переменной. Например, heatmap(__,'ColorVariable',1) выбирает третью переменную в таблице для y - ось.

Логический вектор, содержащий один элемент true .

Значения, сопоставленные с вашей табличной переменной, должны иметь числовой тип или logical .

Значением свойства является пустой [] при использовании матричных данных. Свойство ColorVariable объектно-ориентированной памяти HeatmapChart выбранная переменная. Свойство ColorData заполняет с данными на основе выбранной переменной.

По умолчанию heatmap вычисляет цветные данные на основе средней агрегации. Чтобы изменить метод расчета, установите свойство ColorMethod .

cData ColorData
матрица

Цветные данные для ячеек тепловой карты, заданных как матрица.

Свойство ColorData объектно-ориентированной памяти HeatmapChart значения.

Пример: [40 24 68; 68 37 58; 49 23 46]

xvalues — Значения, появляющиеся вдоль x - ось
категориальный массив | массив строк | числовой массив | массив ячеек из символьных векторов

Значения, появляющиеся вдоль x - ось, заданная как категориальный массив, массив строк, числовой массив или массив ячеек из символьных векторов.

Пример:

yvalues — Значения, появляющиеся вдоль y - ось
категориальный массив | массив строк | числовой массив | массив ячеек из символьных векторов

Значения, появляющиеся вдоль y - ось, заданная как категориальный массив, массив строк, числовой массив или массив ячеек из символьных векторов.

Пример:

parent — Родительский контейнер
Объект Figure | объект Panel | объект Tab

Родительский контейнер, в котором можно построить, заданный как Figure , Panel или объект Tab .

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, . NameN, ValueN.

Пример: heatmap(tbl,xvar,yvar,'ColorVariable','Temperatures','ColorMethod','median')

Примечание

Перечисленные здесь свойства являются только подмножеством. Для полного списка смотрите HeatmapChart Properties .

заголовок Заголовок диаграммы
вектор символов | представляет скаляр в виде строки | ''

Заголовок диаграммы, заданный как вектор символов, скаляр строки или '' ни для какого заголовка. Для табличных данных график по умолчанию имеет автоматически сгенерированный заголовок.

По умолчанию тепловые карты поддерживают подмножество разметки TeX для текста, который вы задаете. Используйте синтаксис TeX, чтобы добавить верхние индексы и индексы, изменить тип шрифта и окрасить и включать специальные символы в текст. Если вы хотите символ разметки TeX в обычном тексте, таком как подчеркивание (_), то вставляете наклонную черту влево (\) перед символом, вы хотите включать. Наклонная черта влево является символом ESC TeX. Для получения дополнительной информации смотрите свойство Interpreter текстового объекта.

Пример: h = heatmap(__,'Title','My Title Text')

Пример: h.Title = 'My Title Text'

ColorMethod Метод, чтобы вычислить цветные данные
'count' | 'mean' | 'median' | 'sum' | 'none'

Метод, чтобы вычислить цветные значения данных (сохраненный в ColorData ), заданный как 'count' , 'mean' , 'median' , 'sum' или 'none' .

Если вы не хотите использовать третью переменную из таблицы для цветных данных, то задайте метод в этой таблице.

МетодОписание
'count' Считайте число раз, каждая пара значений X и Y появляется в исходной таблице. Тепловая карта не использует свойство ColorVariable . Это значение является значением по умолчанию, когда вы используете табличные данные и не задаете параметр ColorVariable .

Если вы хотите использовать третью переменную из таблицы для цветных данных, то установленный свойство ColorVariable в переменную вы хотите и задаете свойство ColorMethod как один из методов, перечисленных в этой таблице. Для каждой пары значений X и Y методы используют соответствующие значения в столбце ColorVariable исходной таблицы, чтобы вычислить данные.

МетодОписание
'mean' Вычислите среднее значение. Это значение является значением по умолчанию, когда вы задаете свойство ColorVariable .
'median' Вычислите среднее значение.
'sum' Суммируйте значения.
'none' Используйте значение точно. Таблица не может содержать больше чем один экземпляр каждой пары значений X и Y . Это значение является значением по умолчанию при использовании матричных данных.

Если вы хотите вычислить свою собственную матрицу агрегированных данных, используйте функцию accumarray . Задайте матрицу, как введено к функции heatmap .

Пример: h = heatmap(__,'ColorMethod','median')

Пример: h.ColorMethod = 'median'

Советы

Чтобы в интерактивном режиме исследовать данные в вашей тепловой карте, используйте эти опции.

Изменение масштаба — Использование колесико прокрутки или ключи + и -, чтобы масштабировать.

Панорамирование — Перетаскивание тепловая карта или использование клавиши со стрелками к панорамированию через строки или столбцы.

Всплывающие подсказки — Наводят на тепловую карту, чтобы отобразить всплывающую подсказку.

Перестройте строки и столбцы — Перетаскивание строка или метка столбца, чтобы переместить его в различное положение.

Сортировка оценивает — Нажатие кнопки значок, который появляется, когда вы наводите на метку столбца или строку. Щелкните однажды, чтобы отсортировать значения в порядке возрастания, дважды отсортировать значения в порядке убывания, и в третий раз, чтобы сбросить порядок.

Вопросы совместимости

Тепловые карты интерпретируют текст, использующий синтаксис TeX

Поведение изменяется в R2019a

Начиная в R2019a, тепловые карты интерпретируют текст, использующий синтаксис TeX вместо того, чтобы отобразить буквенные символы. Если вы хотите использовать символ разметки TeX в обычном тексте, таком как подчеркивание (_), затем вставить наклонную черту влево (\) перед символом, вы хотите включать. Наклонная черта влево является символом ESC TeX. Для получения дополнительной информации об использовании разметки TeX смотрите свойство Interpreter текстового объекта.

Тепловые карты, которые также называют картами плотности точек, представляет собой тип визуализации данных. Они используются для визуализации плотности данных с помощью диапазона цветов и отображения на карте активных зон. Тепловые карты — это отличный вариант для преобразования наборов данных с большим количеством точек.

Десятки тысяч отрисованных в виде символов точек могут охватить большую часть карты. В таком случае многие символы перекрывают друг друга, что затрудняет понимание результатов. Но если отобразить эти же данные на тепловой карте, вы сможете легко увидеть общую плотность и относительную плотность для каждой точки данных.

Тепловые карты подходят для разных сценариев использования. Ниже приведены некоторые из них.

  • Данные о температуре. Вы сможете получить приблизительные значения данных между двумя точками.
  • Сведения от датчиков шума. У вас будет возможность не только оценить уровень шума в точке установки датчика, но и получить представление о снижении шума на расстоянии. Уровень шума на одном из участков может быть невысоким. Но если несколько датчиков фиксируют воздействие на одну зону, в этой области могут наблюдаться более высокие уровни шума. Такая область перекрытия будет видна на тепловой карте.
  • GPS-данные. Вам будет доступна информация в виде взвешенной карты высот, где интенсивность каждой точки данных зависит от скорости. Например, эта функция позволит узнать, на каких участках транспортное средство двигалось с превышение скорости.

Слои тепловой карты по умолчанию преобразовывают координаты всех геометрических объектов в источнике данных. Чтобы отображать в слое только геометрические объекты, присвойте параметру filter для этого слоя значение ['==', ['geometry-type'], 'Point'] . Если вам также нужно включить компоненты MultiPoint, присвойте параметру filter для этого слоя значение ['any', ['==', ['geometry-type'], 'Point'], ['==', ['geometry-type'], 'MultiPoint']] .

Добавление слоя тепловой карты

Чтобы преобразовать источник данных точек в тепловую карту, передайте этот источник в экземпляр класса HeatMapLayer и добавьте его на карту.

В примере кода ниже каждая точка тепловой карты имеет радиус 10 пикселей на любом уровне масштабирования. Для удобства пользователей тепловая карта находится под слоем меток. Так метки четко видны. Данные в этом примере содержат информацию об опасности землетрясений от Геологической службы США. Здесь учтены значительные землетрясения, произошедшие за последние 30 дней.

Ниже приведен полный пример выполнения указанного выше кода.

Настройка слоя тепловой карты

В предыдущем примере настройка тепловой карты заключалась в установке параметров радиуса и прозрачности. Слой тепловой карты предоставляет несколько параметров для настройки.

radius — это радиус в пикселях для отрисовки каждой точки данных. Радиус определяется в виде фиксированного числа или выражения. С помощью выражения можно масштабировать радиус, в зависимости от уровня увеличения, чтобы демонстрировать согласованные пространственные области на карте (например, радиус 5 миль).

color : — это цвета для тепловой карты. Цветовой градиент — это стандартный параметр тепловых карт. Нужного эффекта можно достичь с помощью выражения interpolate . Вы также можете использовать выражение step для выделения цветом элементов тепловой карты, чтобы визуально разбить плотность данных на диапазоны. Так карта будет напоминать топографическую или радиолокационную. Эти цветовые палитры определяют цвета в диапазоне от минимальной до максимальной плотности.

Значения цветов для тепловых карт указываются в виде выражения для значения heatmap-density . Цвет области, в которой отсутствуют данные, определяется индексом 0 в выражении для интерполяции или цветом по умолчанию в выражении для ступенчатой палитры. Это значение можно использовать для определения цвета фона. Часто применяется прозрачный или полупрозрачный черный цвет.

Вот несколько примеров выражений для определения цвета.

opacity — это степень прозрачности слоя тепловой карты.

intensity позволяет применить множитель к весу каждой точки данных, чтобы повысить общую интенсивность тепловой карты. Это вызывает разницу в весе точек данных, что упрощает визуализацию.

weight — это вес точки данных. По умолчанию для этого параметра установлено значение 1 для всех точек данных, то есть они имеют равный вес. Параметр weight используется в качестве множителя. Для него можно использовать фиксированное число или выражение. Если в качестве веса задано число, то это эквивалентно двукратному размещению каждой точки данных на карте. Например, если значение параметра weight равно 2, то плотность удваивается. Фиксированное число в качестве значения параметра weight изменяет тепловую карту точно так же, как изменение параметра intensity.

Но если используется выражение, вес каждой точки данных может быть основан на ее свойствах. Например, предположим, что каждая точка данных представляет землетрясение. Важная метрика для каждой точки данных землетрясения — это значение магнитуды. Землетрясения происходят постоянно, но большинство из них имеют низкую магнитуду и не заметны. Используйте в выражении значение магнитуды, чтобы присвоить вес каждой точке данных. Это позволит получить наглядное представление о значительности землетрясений на тепловой карте.

source и source-layer позволяют обновлять источник данных.

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

Согласованная масштабируемая тепловая карта

По умолчанию радиусы точек данных в слое тепловой карты имеют фиксированный размер в пикселях для всех уровней масштабирования. При изменении масштаба карты данные объединяются, и слой тепловой карты выглядит иначе.

Используйте выражение zoom для изменения радиуса на всех уровнях масштабирования, чтобы каждая точка данных покрывала одну и ту же физическую область на карте. Это выражение делает слой тепловой карты более статичным и согласованным. Каждый уровень масштабирования карты имеет в два раза больше пикселей по вертикали и горизонтали, чем предыдущий.

Удваивание радиуса с каждым уровнем масштабирования позволяет создавать тепловые карты, которые выглядит согласованно на всех уровнях. Чтобы применить такое масштабирование, используйте выражение zoom с базовым значением 2 для exponential interpolation . Радиус пикселей должен быть задан для минимального уровня масштабирования, а масштабируемый радиус для максимального уровня — вычислен как 2 * Math.pow(2, minZoom - maxZoom) , что показано в примере ниже. Измените масштаб, чтобы посмотреть, как меняется тепловая карта.

Выражение zoom можно использовать только в выражениях step и interpolate . Следующее выражение можно использовать для приближения радиуса в метрах. В этом выражении используется заполнитель radiusMeters который следует заменить требуемым значением радиуса. Это выражение вычисляет приблизительный радиус в пикселях для уровней масштабирования на экваторе 0 и 24, а также использует выражение exponential interpolation для масштабирования этих значений так же, как и в системе мозаичного заполнения на карте.

При включенной кластеризации для источника данных, расположенные близко друг к другу точки данных группируются в кластерные точки. Количество точек в каждом кластере можно использовать в качестве выражения weight для тепловой карты. Это поможет значительно сократить количество отрисованных точек. Число точек кластера хранится в свойстве point_count компонента точки.

Если радиус кластеризации составляет несколько пикселей, визуальные различия будут минимальными. Чем больше радиус, тем больше точек группируется в каждый кластер, что улучшает производительность тепловой карты.

Дальнейшие действия

Дополнительные сведения о классах и методах, которые используются в этой статье:

Существует как минимум два разных вида тепловых карт:

  1. Тепловые карты, представляющие концентрацию точек, и
  2. Тепловые карты, представляющие распределения значений атрибутов

У каждого метода есть свои преимущества и проблемы, я боюсь, что вдаваться в детали - это далеко не только вопрос и ответ.

Я попытаюсь перечислить некоторые методы и функции для QGIS и GRASS.

Концентрация очков

Инструменты: например, плагин QGIS Heatmap (доступен в версиях> 1.7.x) или GRASS v.neighbors или v.kernel

Распределение значений атрибутов

Здесь мы в основном говорим более или менее о методах интерполяции. Методы включают в себя:

В зависимости от реализации это может быть глобальным (с использованием всех доступных точек в наборе) или локальным (ограниченным количеством точек или максимальным расстоянием между точками и интерполированным положением).

Инструменты: модуль интерполяции QGIS (глобальный), GRASS v.surf.idw или r.surf.idw (локальный)

Опять же, огромное количество возможных реализаций. B-сплайны популярны.

Статистический метод с различными подтипами.

Инструменты: GRASS v.krige (спасибо om_henners за подсказку) или использование R.

Начиная с QGIS 2.8, существует рендер Heatmap для точечных слоев. Нет необходимости создавать новые данные.

По статистике, вот как вы должны делать тепловую карту:

1) Интегрировать точечные функции. Идея интеграции состоит в том, чтобы взять точки, которые следует считать совпадающими, и объединить их в одно место. Мне нравится использовать анализ ближайшего соседа и использовать соответствующее значение оттуда. (Например, при составлении тепловой карты преступности я использую среднестатистического 1-го ближайшего соседа для базового набора данных участков, против которого геокодируются преступления).

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

4) Запустите Getis-Ord Gi * . Используйте фиксированный диапазон расстояний, основанный на анализе I вашего Морана, или используйте фиксированный диапазон расстояний как зону безразличия. Ваш пространственный вес от событий сбора является вашим числовым полем. Это даст вам z-очки для каждой точки события в вашем наборе.

5) Запустите IDW против ваших результатов от Getis-Ord Gi *.

Этот результат значительно отличается от того, что вы получаете с плотностью ядра. Он покажет вам, где высокие значения и низкие значения сгруппированы вместе, а не просто где высокие значения, независимо от кластеризации, как в плотности ядра.

Активация модуля¶

Если кнопки не видно, возможно, у вас отключена соответствующая панель инструментов. Включить её можно из меню Вид ‣ Панели инструментов ‣ Растр.

Использование модуля¶

heatmap

Нажатие на кнопку Теплокарта открывает главное окно модуля (см. рисунок figure_heatmap_2).

Для построения теплокарты необходимо задать следующие параметры:

Исходный векторный слой: позволяет выбрать точечный слой по которому будет построена теплокарта.

Целевой растр: при помощи кнопки указывается каталог и имя итогового растра. Указывать расширение файла не обязательно.

Формат вывода: позволяет указать формат итогового растра. Хотя можно выбрать любой, из поддерживаемых GDAL форматов, GeoTiff в большинстве случаев является оптимальным выбором.

Радиус: указывается радиус буферной зоны вокруг точки, в качестве единиц измерения могут использоваться метры и единицы карты. Если радиус слишком мал, теплокарта получится некрасивой. В местах, где пересекается несколько буферных зон будет просто одна более яркая точка.

Коэффициент уменьшения: показывает как сильно уменьшается яркость от центра к краям.

Если радиус уменьшения равен 0 (минимально возможное значение), наибольшая температура будет в центре буферной зоны и отсутствовать на её краях.

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

Если указано значение 1, распределение температуры будет равномерным по всей буферной зоне.

Если указать отрицательное значение коэффициента, то получим карту холода, а не теплокарту.

checkbox

Активация флажка Дополнительно позволяет выполнить более тонкую настройку процесса генерации теплокарты.

Поля Строка и Столбец используются для изменения размера пикселя итогового растра. Чем больше столбцов и строк, тем меньше размер пикселя, а размер растра и время обработки увеличиваются. При увеличении числа строк в два раза, в два раза будет увеличено и число столбцов, а размер ячейки уменьшится на половину. Площадь, занятая растром, останется той же.

Поля Ширина ячейки и Высота ячейки используются для изменения размера пикселя итогового растра, и меняют число строк и столбцов.

Исходный точечный слой может содержать поля, которые можно использоваться при построении теплокарты:

Поле радиуса: позволяет указать поле, с данными о радиусе буферной зоны.

Поле взвешивания: брать коэффициент уменьшения из заданного поля.

Когда все параметры указаны, нажмите кнопку [OK], чтобы запустить процесс создания теплокарты. Результатом работы будет растр в оттенках серого цвета, который затем необходимо отобразить с использованием правильного стиля.

Изменение размеров итогового растра

При изменении размеров итогового растра также меняется и результат. Горячие точки становятся больше.

Создание теплокарты¶

На рисунке Figure_Heatmap_1 показаны аэропорты Аляски.

Figure Heatmap 1:

../../../_images/heatmap_start.jpg

osx

Airports of Alaska

selectstring

В выпадающем списке Исходный векторный слой выберите airports .

В поле Целевой растр укажите расположение итогового растра. Для облегчения навигации по каталогам можно воспользоваться кнопкой . В качестве имени файла укажите heatmap_airports , указывать расширение не обязательно.

selectstring

В выпадающем списке Формат вывода выберите GeoTiff .

Установите в поле Радиус значение 1000000 метров.

Предлагаемое по умолчанию значение 0.1 в поле Коэффициент уменьшения оставляем без изменений.

Figure Heatmap 2:

../../../_images/heatmap_dialog.jpg

osx

The Heatmap Dialog

Загруженный растр выглядит малоинформативным: это просто серый прямоугольник. Чтобы слой отображался как теплокарта необходимо произвести настройку отображения.

Figure Heatmap 3:

../../../_images/heatmap_loaded_grey.jpg

osx

The heatmap after loading looks like a grey surface

Откройте свойства слоя heatmap_airports . Для этого выберите слой в списке слоёв проекта, вызовите контекстное меню по правой клавише мыши и выберите пункт Свойства.

Перейдите на вкладку Стиль.

slider

Перейдите на вкладку Прозрачность и установите ползунок Прозрачность в положение 40%.

Нажмите [OK].

Конечный результат показан на рисунке Figure_Heatmap_4.

Figure Heatmap 4:

../../../_images/heatmap_loaded_colour.jpg

osx

Final result of heatmap created of airports of Alaska

Читайте также: