należy sprawdzić Store, manipulowania i analizować dane rastrowe w obrębie bazy danych przestrzennych PostgreSQL / PostGIS dokumentu przez Pierre Racine i Steve Cumming, który został przedstawiony w FOSS, tutaj . Istnieje wiele funkcji zdefiniowanych jako statystyki rastrowe w celu rozwiązania problemu. myślę, że ST_SummaryStats pomoże ci na temat statyki strefowej, oczywiście za mało.
ST_SummaryStats(raster)
zmieni ci zestaw rekordów (min, maks, suma, średnia, stddev, liczba (withdata pikseli)).
Postgis 2.0 obsługuje analizę statystyk strefowych za pomocą niektórych zapytań SQL, nad którymi pracujesz. natknąłem się na dobrą dokumentację w sieci na temat statystyk strefowych z esri vs postgis 2.0. należy sprawdzić dla niektórych informacji na jadący Spatial tutaj . oba uzyskały ten sam wynik statystyczny z pewnymi trudnymi zapytaniami.
przykładowe zapytanie pobrane ze strony Anthony'ego Lopeza, o której wspomniałem wcześniej ...
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;
Wynik statystyk strefowych Esri: Populacja: 207,578 Liczba komórek: 14,400
Wynik metody Postgis: Populacja: 207,578 Liczba komórek: 14,400.
Różnica procentowa populacji: 0%
nie próbowałem tego jeszcze, ale Anthony wspomniał, że był pewien problem z wydajnością w analizie rastrowej z postgis.
Mam nadzieję, że Ci to pomoże...