タグ付けされた質問 「map-algebra」

8
どのラスターベースのGISシステムが実際に機能しますか?
GRASS、ArcGIS / Spatial Analyst、IdrisiなどのラスターGISは、「マップ代数」と呼ばれる大まかなデータ処理および分析手順を実行できます。今日のコンピューティング環境では、1億個以上のセルのラスターをさまざまな形式で維持し、可視領域、流域、地形の識別、画像処理機能など​​の比較的複雑な計算を要求することが一般的になってきています。 多くのオープンソースの無料で安価なソリューションが世に出ているようです。しかし、実際にどれが実際に持ちこたえていますか?つまり、大規模なグリッドを効率的に処理し、簡単にデータを出し入れでき、合理的にバグがなく、完全な補完的な分析手順を提供できるのはどれですか?これらのシステムの学習に多くの時間を費やさない限り、あなたが見つけられない落とし穴または隠れた制限は何ですか?(この最後の質問は、ウェブ検索では簡単に答えられないものであり、回答者が貴重なアドバイスを提供できることを期待しています。) 私は特に、人気のある(しかし高価な)商用システム(Windows互換性が重要であることを意味します)との統合と競合の両方が可能なソリューションに興味があります。

1
PostGISラスター合計(マップ代数)
特定の日の旅行時間の等時線を表すポリゴンのテーブルがあります。各原点には、5つのアイソクロネジオメトリがあります(別々の行に格納されます)。各原点について、5つのアイソクロナス(バイナリNULLまたは1)をラスタライズし、それらを1つのラスタレイヤーに結合します。このラスターレイヤーには単純なマップ代数sum / 5が必要です。そのため、各原点は、最終的に[NULL、0.2、0.4、0.6、0.8、1]の値を持つ単一のラスターレイヤーに関連付けられます。構成レイヤーはオーバーラップします。それは確率曲面です。 私のデータはすべてPostgres 9.3(PostGISを使用)に保存されます。私の問題は、PostGISラスタの使用方法を学びたいが、非常に急な学習曲線を持っているように思え、すべての例が単一のラスタレイヤに対処できることです。例では、このレイヤーはポリゴンオーバーレイの一部として使用され、各ポリゴンのラスターの値を平均化しています。以下を組み合わせた複製可能な例は見つかりませんでした。a)ベクトル->ラスターb)マップ代数。およびc)最初の段落ごとのGROUP BY属性。 このタスクを実行するために必要な場合、GDALまたはGRASSを使用しても問題ありませんが、これはPostGISが処理できるもののようです。入力データがすでにPostGISジオメトリである場合、そうするのが便利です。そして、私は本当に PostGISラスターに同意したいと思っています。 サンプルデータ構造: areaid time date isogeom (polygon) 1000 07:15:00 2014-05-05 xxx 1000 07:15:00 2014-05-06 xxy ... 1006 07:15:00 2014-05-05 zzz ラスタライズし、areaidでグループ化し、マップ代数演算を実行して次のことを行います。 areaid isorast (raster) 1000 aaa 1006 bbb 私はこれをPostGISに含めることに成功していません。私のアプローチは、ベクターをラスターに変換し、ラスターを配列にダンプし、psycopg2を介してnumpy配列との組み合わせを実行してから、GeoTIFFに書き込む(PostGISに戻す)ことです。理想的ではありませんが、実行可能です。

4
GISのドメイン固有言語(DSL)とは何ですか?
GISでどのようなドメイン固有言語(DSL)が使用されているのか興味があります。私が考えることができるのは、ArcInfo Workstation GRIDで提供されていたDOCELL言語だけですが、現在はサポートされていません。


3
オープンソースのWeb GISでラスターマップ代数演算を実行していますか?
ラスターのマップ代数は、ArcGIS Raster Calculator(またはQGIS)を使用すると簡単です。これは、GeoServerやMapServerなどのWeb GISサーバーとOpenLayersなどでも簡単だと思っていました。私が達成したいのは、2つの画像を分割してWebページに表示する3つ目の比率の画像を生成するなどの簡単なことです。解決策を見つけるのに何週間も費やしましたが、結局のところ(私にとって)かなり難しいことがわかりました。 私はいくつかのことを試しました: PostGISラスター。ここではラスター代数は問題ではないと思います。 ただし、PostGISラスターをGeoServerにロードするのはかなり困難です。GeoServerにpgrasterをロードする方法について繰り返し尋ねられる多くの質問があります。たとえば、postGISを介してGeoTIFFをGeoServerにインポートする方法を参照してください。?、特に/gis/86006/publish-rasters-stored-in-postgresql-with-geoserver?など。ここでGIS.SEまたはGeoServerの公式Webサイトの単一の回答ではなく、機能するために実行できる手順の完全なリストが示されています。pgrasterをMapServerにロードすると成功したと報告されていますが、パフォーマンスは非常に遅くなっています。どちらもいくつかのタイリングを必要とするようで、どちらかのサーバーにラスターをインポートするワンライナーコマンドは問題外のようです。 GeoTIFF GeoTIFFは、GeoServerおよびMapServerに簡単にロードできます。しかし、それで何ができるでしょうか?SQLのようなPostGISがないので、WCSを使用して簡単にマップ代数を検索しましたが、あまり見つかりませんでした。WCSは、現在のサーバーでこれを実行する方法ですか? 難しい方法でプログラムする どういうわけか、AJAXを使用してPHPページを呼び出すか、GeoServerを使用して画像をPostGISにインポートし、マップ代数を実行して、結果のグラフをGeoServer / MapServerに簡単にロードして表示できる形式(GeoTIFFなど)に変換します。 もちろん、GeoTIFFを直接読み取るコードを記述して、GISサポートなしでマップ代数演算を行うことができます。 上記のどれも、デスクトップGISで同じ代数を簡単に実行できることを考えると、簡単でも合理的でもないようです。 誰かがWeb GIS環境でマップ代数演算を行った経験があり、実行可能なパスを提案できるかどうか疑問に思っていましたか? オープンソースソリューションに興味があります(組織内の政治的な理由から)。ArcGISServerがArcGISのPythonコードを呼び出すことができることは承知していますが、ライセンスがないため、ここでの環境はライセンスを取得するのに適していません。

2
ArcGISラスター計算機でマルチバンド画像の個々のバンドを使用していますか?
ArcGIS 10(SP2 / 3)のラスター計算機内でマルチバンドTM画像(IMGファイル)の個々のバンドを使用しようとしています。 MXDに個々のバンドを追加できますが、ラスターカリキュレーターはMXDからレイヤーを参照する方法に関係なく、バンド1のみを使用します。 "TM_Image.img - Layer_3" - 0ラスター計算機のようなものを使用すると実行できますが、バンド1を使用します。 画像への完全なパスを使用することは正しく機能しますが、より長い式/パスでは扱いにくいです。お気に入り"X:\TM_Image.img\Layer_3" - 0 これは以前のバージョンのArc 10では機能したが、SP 2または3では機能しなくなったと思います。

1
ラスター(DEM)を部分的に更新していますか?
ArcView 9.3で.img DEMを更新する方法 部品が少ない場合にのみ更新する必要があるDEMがあります。更新される領域は、バリア付きのスプライン補間を使用した別のDEMで作成されています。 更新される領域自体はS字型ですが、より大きな長方形のDEMを受け取りました(ところで、バリアの外側で-9999の値を受け取りたいと思っていましたが、外側の領域も補間されているようです)。 私の目的は、ポリライン/バリア内の領域のみを更新することです。どうやってするか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.