Страница 1 из 1

Статистические вычисления в QGIS

Добавлено: 12 авг 2013, 15:48
losdimas
Здравствуйте, уважаемые.
В программе R при использовании пакета PBSMapping, можно сделать следующую карту-Изображение
Где: 1. Загружаем точечный шейп-файл со значениями
2. Создаем регулярную сетку с заданным шагом
3. Проводим статистические вычисления над данными шейп-файла которые пересекаются регулярной сеткой (например вычисляем среднее в каждом квадрате).
4. На основании вычисленных данных заливаем квадраты, содержащие значения, градуированными цветами.

Вопрос, как это выполнить в QGIS? пункт 1 - тут понятно, пункт 2 - Вектор-выборка-регулярная сетка, а вот с остальными проблема.

Re: Статистические вычисления в QGIS

Добавлено: 14 авг 2013, 11:30
HasT
Пункт 3 можно сделать используя PostgreSQL/PostGIS. Запрос на подсчет статистики будет следующий:

Код: Выделить всё

SELECT
m."nam",
COUNT(*) AS pointcount,
SUM(data) AS pointsum,
AVG(data) AS pointavg
FROM
"point" AS r,
"buffer" AS m 
WHERE ST_Intersects(m.the_geom, r.the_geom)
GROUP BY m."nam"
где point - точечный слой с значениями в поле data; buffer - полигональный слой регулярной сетки с именем ячейки nam. pointcount - количество точек в ячейке, pointsum - сумма значений точек в ячейке, pointavg - среднее значение точек для ячейки.
Для записи значений в слой регулярной сетки необходимо сделать:
- добавить колонки для записываемых значений

Код: Выделить всё

ALTER TABLE "buffer" ADD COLUMN pointcount INTEGER;
ALTER TABLE "buffer" ADD COLUMN pointsum NUMERIC (20, 2);
ALTER TABLE "buffer" ADD COLUMN pointavg NUMERIC (20, 2);
- выпонить запрос для записи вычисляемых значений:

Код: Выделить всё

UPDATE "buffer" t
SET
pointcount =calc.pointcount,
pointsum =calc.pointsum,
pointavg =calc.pointavg
FROM (
SELECT
m."nam",
COUNT(*) AS pointcount,
SUM(data) AS pointsum,
AVG(data) AS pointavg
FROM
"point" AS r,
"buffer" AS m 
WHERE ST_Intersects(m.the_geom, r.the_geom)
GROUP BY
m."nam"
) calc
WHERE t."nam" = calc."nam";
Пункт 4 - сделать соответствующую классификацию значений в свойствах - стиль слоя регулярной сетки.

Re: Статистические вычисления в QGIS

Добавлено: 14 авг 2013, 11:35
Максим Дубинин
на прямой вопрос не отвечу, но мнение выскажу
имхо, это не нужно делать в QGIS, расчеты нужно делать в R, а геометрические операции и визуализацию - в QGIS, у вас уже все для этого есть.

Re: Статистические вычисления в QGIS

Добавлено: 14 авг 2013, 11:37
Petruxin
На Gis-Lab есть статья про использование Sextante в Qgis там пример очень похожую операцию иллюстрирует.

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