Страница 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 там пример очень похожую операцию иллюстрирует.
[ Сообщение с мобильного устройства ]