2016-09-08 8 views
0

Ich habe mehrere Raster auf verschiedenen Tabellen nach Zeit getrennt. Wie Tabelle 1 repräsentiert Raster aus 2016-09-21, Tabelle 2 repräsentiert Raster aus 2016-09-22 und so weiter. Ich möchte die Informationen über diese Raster für 1 Woche aggregieren.Raster-Aggregation auf PostGIS

Ich könnte den Wert von jedem Band mit ST_Value erhalten, verwenden Sie eine avg-Funktion und erstellen Sie dann ein neues Raster mit der Agg-Informationen darauf, aber das wäre eine Menge Arbeit.

Gibt es einen besseren Weg, das zu tun?

Antwort

0

Sie sollten für Ihre Zwecke in ST_MapAlgebra suchen. Du willst die Variante, mit der ich verlinkt bin, da es n Raster als Argumente annehmen kann. Es akzeptiert auch eine Callback-Funktion, so dass Sie nicht manuell die Werte für jedes Band erhalten.

Leider gibt es dafür keine vordefinierte Callback-Funktion. Es ist jedoch sehr gut möglich, eigene zu schreiben. Ich empfehle Ihnen einen Blick auf this blog post from George McKerron für ein nützlicheres Beispiel zu arbeiten. Wenn Sie ein ausführlicheres Beispiel wünschen, habe ich written about it auf meinem Blog.

+1

Vielen Dank für die folgende [Promotion] (https://Stackoverflow.com/help/promotion) und machen Sie deutlich, dass es Ihr Blog ist! Ich bin bei deinem zweiten Satz allerdings etwas unklar - welcher Link? Basierend auf dem Post-History würde ich [diese] annehmen (http://postgis.net/docs/manual-2.1/RT_ST_MapAlgebra.html); Könnten Sie es zu Ihrer Antwort hinzufügen? Wenn es noch relevant ist. –

+0

Ja, tut mir leid. Ich habe nicht genug Rep in SO, um mehr als zwei Links hinzuzufügen, und ich dachte, die Tutorials wären nützlicher als die Dokumente. Wenn du kannst, würdest du es tun? Das war in der Tat die Verbindung, die ich hatte. – nronnei

+0

Oh, ich habe es nicht einmal bemerkt! Ich habe es für dich überarbeitet. Außerdem müssen Sie keine Dinge wie "Aktualisiert" oder "BEARBEITEN" hinzufügen; wenn die Leute das wissen wollen, können sie den Überarbeitungsverlauf überprüfen (momentan ist es der blaue Link über meinem Profilbild, der "gerade bearbeitet" sagt, aber der Text dieses Links wird sich ändern, je nachdem, was du siehst - es könnte "vor 8 Minuten bearbeitet" sein, zum Beispiel, wenn es 8 Minuten ist) –