2016-09-08 5 views
0

私は時間によって区切られた異なるテーブルにいくつかのラスターを持っています。 同様に、テーブル1は2016-09-21のラスタを表し、テーブル2は2016-09-22のラスタを表します。 これらのラスタの情報を1週間集計したいと思います。PostGISのラスター集計

ST_Valueで各バンドの値を取得し、avg関数を使用して、その上にagg情報を含む新しいラスタを作成することができますが、これは多くの作業になります。

もっと良い方法がありますか?

答えて

0

ST_MapAlgebraをご覧ください。あなたはn個のラスタを引数として取ることができるので、そこにリンクされたバリアントが必要になります。また、コールバック関数も使用できるため、各バンドの値を手動で取得する必要はありません。

残念ながら、これを行うための定義済みのコールバック関数はありません。しかし、あなた自身で書くことは非常に可能です。より有用な例として、this blog post from George McKerronをご覧ください。

詳細な例をご希望の場合は、私のブログにwritten about itがあります。

+1

[プロモーション](https://stackoverflow.com/help/promotion)にご連絡いただき、ありがとうございました。私はあなたの2番目の文で少し不明ですが、どのリンク?投稿歴に基づいて、私は[this](http://postgis.net/docs/manual-2.1/RT_ST_MapAlgebra.html)と仮定します。あなたはあなたの答えにそれを戻すことができますか?それがまだ関連している場合。 –

+0

ええ、すみません。私は2つ以上のリンクを追加するのに十分な担当者がいないので、チュートリアルはドキュメントよりも便利だと思いました。できるなら、そうするのですか?それは確かに私が持っていたリンクでした。 – nronnei

+0

ああ、私は気づかなかった!私はあなたのためにそれを編集しました。また、「更新済み」や「編集」などの項目を追加する必要はありません。もし人々が知りたいのであれば、彼らは改訂履歴をチェックすることができます(今、私のプロフィール写真の上の青いリンクですが、今編集されていますが、そのリンクのテキストはあなたが見ているものによって変化します。たとえば、8分後に「編集済み8分前」と表示される可能性があります) –