vous devriez vérifier Stocker, manipuler et analyser les données raster dans le document de base de données spatiales PostgreSQL / PostGIS de Pierre Racine et Steve Cumming qui a été présenté au FOSS, ici . De nombreuses fonctions sont définies en tant que statistiques raster pour résoudre votre problème. je pense que ST_SummaryStats vous aidera sur la statique zonale, bien sûr, pas assez.
ST_SummaryStats(raster)
vous donnera un ensemble d'enregistrements (min, max, sum, mean, stddev, count (of withdata pixels)).
Postgis 2.0 prend en charge l'analyse des statistiques zonales avec certaines requêtes SQL sur lesquelles vous avez travaillé. je suis tombé sur une bonne documentation sur net sur les statistiques zonales avec esri vs postgis 2.0. vous devriez vérifier quelques informations au déménagement du territoire ici . les deux ont obtenu le même résultat statistique avec quelques interrogations difficiles.
exemple de requête qui a été prise sur le site Anthony Lopez que j'ai mentionné auparavant ...
CREATE TABLE sum_pop2 AS
WITH
feat AS (SELECT gid, geom FROM perez_grid AS b ),
b_stats AS
(SELECT gid, (stats).*
FROM (
SELECT gid, ST_SummaryStats(ST_Clip(rast,1,geom)) AS stats
FROM ls_den
INNER JOIN feat
ON ST_Intersects(feat.geom,rast) ) AS foo )
SELECT gid, SUM(count) AS cell_count
,SUM(sum) AS population
FROM b_stats
WHERE count > 0
GROUP BY gid
ORDER BY gid;
Résultat des statistiques zonales d'Esri: Population: 207 578 Nombre de cellules: 14 400
Résultat de la méthode Postgis: Population: 207 578 Nombre de cellules: 14 400.
Différence en pourcentage de la population: 0%
je n'ai pas encore essayé mais Anthony a mentionné qu'il y avait un problème de performance avec l'analyse raster avec postgis.
J'espère que ça t'aide...