タグ付けされた質問 「spatial-analyst」

Spatial AnalystはArcGISの拡張機能であり、さまざまな空間モデリングおよび分析ツールを提供します。

2
ArcGISのSpatial Analystで一般的に使用されるピックツールは何ですか?
最近、ArcGISのSpatial AnalystでPickツールに遭遇しました。ツールの機能を理解しています。入力ラスターのリストと、出力の各グリッドセルに値を受け取る入力を指示する「位置」ラスターを使用して、出力ラスターを作成します。Pickについて言及しているGIS.SEの質問を探しましたツールと何もないようです。かなり長い間GISを使用していたため、この操作が役に立ったと思う過去のシナリオを考えることはできません。通常は非常に広範なArcGISヘルプドキュメントでさえ、ツールのユースケースを明らかにしていません。このツールを使用したことがありますか。使用している場合はどうすればよいですか。私が見落としているニッチな領域がありますか?これは一般的な操作であるマルチスペクトル画像を含むいくつかの操作などですか?


1
LiDAR DEMとHEC-RAS氾濫原ポリゴンを使用して洪水量を計算していますか?
概念的にはかなり単純な、厄介なGIS分析問題がありますが、実際には理解するのがより困難です…。 基本的に、ArcGIS 10.0(すべての拡張機能が利用可能)を使用して、100年の洪水範囲内の洪水の体積を計算する必要があります。 私の入力データセットは: LiDAR DEM(1mピクセルまたは3mピクセル)の地表(ラスター) 100年氾濫原(USACE HEC-RAS分析の出力)、ポリゴンシェープファイルですが、属性テーブルに有用なコンテンツがありません。 これまでのところ、[空間分析者の抽出によるマスクツールを使用して] LiDARラスタ上に氾濫原ポリゴンをオーバーレイし、地表の標高が氾濫原の外縁に沿っているようにしました(浴槽の上部を考えてください)。重要なコンセプトは、源流から流域を下るにつれて、氾濫原の上部が徐々に標高が下がることです。 次に、(これは不可能な部分のようです)ラスター氾濫原(以前のマスクによる抽出の出力)の外側のエッジピクセルに沿って標高を取得し、それらを反対側の同等の標高に拡張する方法を理解する必要がありますそして、氾濫原の2つの外側の端の間のすべてのピクセルをこの100年の氾濫原の「トップレベル」に「上げる」。 氾濫原のこの「上部標高」を取得したら、ArcGISのCUT AND FILLツールを使用して、LiDAR地上標高を「上部氾濫原標高」から単純に差し引き、これら2つのラスター間の体積を計算できるはずです。 私はこれを何日も研究してきましたが、まだ解決策を見つけていません。 多分私はこれを完全に間違っていると思っていますか? 私はこの問題に対処した他の人を見つけることを期待していましたが、同様の問題はありますが、解決策を提供しているようには見えません。

3
マスク出力でラスターを抽出すると、マスクが完全にオーバーラップしませんか?
流域集積グリッドと集水域を含むシェープファイルがあります。次に、それらに対していくつかの計算を行いたいので、特定の集水域に隣接するラスター内のセルからデータを抽出する必要があります。 そのプロセスでは、集水域ポリゴンの1つをマスクとして使用して、ラスターで[マスクによる抽出]を使用しようとします(後でループしますが、今は1回だけ作業する必要があります)。 問題は、元のラスターとマスキングポリゴンの両方と比較して、抽出されたラスターがセルの半分だけ左にシフトすることです。ラスターをポイントに変換し、後で他のポリゴンと交差させようとするので、これは私のプロセスの残りを台無しにしています。そして、抽出されたラスターが元のラスターと重なっていない限り、正しいポリゴンが得られません。 ポリゴンはラスターから作成されるため、元のラスターとポリゴンは完全に整列しています。どういうわけか投影図になんらかの変化があったかどうかを確認しようとしましたが、見つけることができません。また、新しいArcMapドキュメントを試し、すべてを数回再起動し(これにより、驚くほど頻繁に問題が解決します)、スクリプトを呼び出すのではなく、Pythonプロンプトからツールを実行しました。ツールボックスからマスクによる抽出ツールを実行しようとしても、同じ結果になりました。 これは、ArcMapのpythonプロンプトで使用する(非常に単純な)コードです。 inpgs = r'C:\GIS\Catchm_ex.shp' flowacc = r'C:\GIS\flowacc' arcpy.MakeFeatureLayer_management(inpgs, 'currentMask', '"HydroID" = 269634') outRaster = arcpy.sa.ExtractByMask(flowacc, 'currentMask') ここにサンプルファイルがあります Windows 7、ArcInfo 10.0、Python 2.6を使用しています。 私は今、Extract by Polygonを試しましたが、それはうまくいくようです。ExtractByMaskでマシンが誤動作しているだけですか?唯一の欠点は、マスキングポリゴンの座標を取得する方法がわからないため、スクリプトでその関数を使用するときに問題が発生することです(9つのセルのみをカバーし、中心にポイントがある場合)。 次のコードを使用して、ポリゴンによる抽出で動作するようになりました(Esriのサポートページから変更)。残念ながら、これは私の問題を解決しません。出力(このツールとマスクによる抽出)がセルの半分だけ左にシフトする場合とシフトしない場合があります。ほとんどの場合はそうですが、実際には本来あるべき場所にあることもあります。 だから今、私は本当に混乱しています。これは私のコンピューターで起こっているのですか?他の誰かが同じことを経験している場合は、コメントを書き込んでください。私だけではないことを私に知らせてください:)私にとって、この問題はバグとしては大きすぎる問題であり、これが問題となっています途中で自分自身を作成し​​たこと。 それを避ける方法に関するアイデアはありますか? def ReadPoints(infc): try: import arcpy, numpy except ImportError: sys.exit('Unable to import arcpy') # Identify the geometry field desc = …

1
ArcPyを使用してcon()スクリプトを使用して新しいラスターを作成しますか?
私はPythonが初めてで、ラスター計算機スタイルのスクリプトをコーディングしようとしています。基本的に、値が0〜10,000のラスターを、特定の値の間に1が設定されたラスターに変換します。 私がPythonでそれをしたい理由は、最終的にこのプロセスを自動化して、さまざまな値(つまり、0から-10、-5から-25など)を選択し、最終的にはそれぞれ1のラスターになるようにするためです。 。私の目的は、これらをポリゴンに変換して、約800のシェープファイルで多数のベクタークリップ操作を実行できるようにすることです。 最後に新しいラスターを生成するスクリプトを記述しましたが、このグリッドが1でいっぱいではなく、値が0〜256であるため、コードのどこかにバグがあります。どなたでも見つけて頂ければありがたいです!誰かがコードを高速化する方法、または私がこれをすべて行う方法についてのより良いアイデアを持っているなら、それもまた興味深いことです。 これが私のコードです: import arcpy from arcpy import env from arcpy.sa import * arcpy.env.overwriteOutput = 1 #this also doesn't work by the way, I have also tried #TRUE, no errors come up but it still doesn't let me overwrite the output file #Set environment settings env.workspace = "C:/folderlocation …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.