Labで働く素晴らしい点の一つは、リリース前にコアソフトウェア開発者からの新しい機能を試すことができることです。 ArcGIS API for Pythonのバージョン1.2が <\/SPAN><\/SPAN>ArcGIS API for Python<\/A> <\/SPAN>に <\/SPAN><\/SPAN>ラスター関数の新しいモジュール<\/A>が含まれると聞いて、すぐに試してみたくなりました。 APIのv.1.2がリリースされたので、ついに私が作成した <\/SPAN><\/SPAN>Jupyter Notebook<\/A> <\/SPAN>をお見せできます。このノートブックには、 <\/SPAN><\/SPAN>weighted overlay analysis<\/A> をラスター関数で実装した例が含まれています。 & nbsp ; 以下は、そのノートブックをHTMLにエクスポートした非対話型バージョンです。 & nbsp ; ArcGIS API for Pythonを使用して独自のラスター分析を行う方法についてのアイデアを提供できれば幸いです。<\/SPAN><\/P>& nbsp;<\/SPAN><\/P><\/P>米国ワシントン州の自然でアクセスしやすい地域の発見<\/STRONG><\/SPAN><\/P>weighted overlayは、サイト適合性および移動コスト研究のための標準的なGIS分析手法です。このノートブックは、ArcGIS API for Pythonバージョン1.2の新しい「arcgis.raster.functions」モジュールを活用してweighted overlay分析の例を示しています。 & nbsp この例では、以下の基準に基づいて「自然」でありながら移動しやすいワシントン州内の地域を特定しようとしています:< / P >標高(低いほど良い)< / LI >地形の傾斜(平坦なほど良い)< / LI >人間による景観改変度(少ないほど良い)< / LI >< / UL >この分析の入力データにはDEM(デジタル標高モデル)と景観への人間改変度を示すデータセットが含まれます。< / P >一般的に、weighted overlay分析は次の三つのステップに分けられます:< / P >正規化 : 入力ラスター データセット内のピクセルは、分析基準に従った適合性に基づき共通スケールの数値に再分類されます。< / LI >重み付け : 正規化されたデータセットには最終結果への重要度に応じて影響率が割り当てられ、値は0.0から1.0までの範囲で乗算されます。値の合計は1.0でなければなりません。< / LI >合計 : 重み付けされたデータセットの合計が計算され最終分析結果が生成されます。< / LI >< / OL >< / P >まずGISに接続し、分析用データにアクセスします。< / P >< / DIV >< / DIV >< / DIV >
[7]:
# ジオコード関数をインポートするfrom arcgis.geocoding import geocode# ジオコード関数を使って調査地域の位置/住所を取得するgeocode_studyarea = geocode('State of Washington, USA', out_sr=query_studyarea.spatial_reference)
[8]:
# 調査地域の地理的範囲を取得する# この範囲は標高、人為的修正指数、および最終結果データの表示時に使用される。extent_studyarea = geocode_studyarea[0]['extent']extent_studyarea
{'xmax': -1451059.3770040546,'xmin': -2009182.5321227335,'ymax': 1482366.818700374,'ymin': 736262.260048952}
# 研究エリアのジオメトリ内から標高データを抽出するelev_clipped = clip(raster=lyr_dem, geometry=geom_studyarea)elev_clipped
# GIS は raster analytics をサポートしていますか?<\/SPAN>import<\/SPAN> arcgis<\/SPAN>arcgis<\/SPAN>.<\/SPAN>raster<\/SPAN>.<\/SPAN>analytics<\/SPAN>.<\/SPAN>is_supported<\/SPAN>(<\/SPAN>web_gis<\/SPAN>)<\/SPAN><\/PRE><\/DIV><\/DIV><\/DIV><\/DIV>Out[23]:<\/DIV>True<\/PRE><\/DIV><\/DIV><\/DIV><\/DIV><\/DIV>In [24]:<\/DIV># .save() 関数は arcgis.raster.analytics モジュールの generate_raster を呼び出し<\/SPAN># 入力データセットの元解像度で GIS サーバー上で解析を実行し、結果を GIS の永続的な web imagery layer として保存します。<\/SPAN>result_persistent<\/SPAN> =<\/SPAN> result_dynamic<\/SPAN>.<\/SPAN>save<\/SPAN>(<\/SPAN>"NaturalAndAccessible_WashingtonState"<\/SPAN>)<\/SPAN>result_persistent<\/SPAN><\/PRE><\/DIV><\/DIV><\/DIV><\/DIV>Out[24]:<\/DIV>
Many Thanks for this example,Very Useful
David,
Fantastic example! Thanks for sharing.
~Alex
サインインしたメンバーは投稿、更新のフォローなどができます。初めてですか?無料アカウントを登録してください。
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.