ArcGIS には Python を使用して、データ解析、データ変換、データ管理等の処理を自動化することができます。これによって様々な作業の効率化を実現することができます。今回のブログでは if-else 条件式を Python を使って ArcGIS Desktop の ModelBuilder 上で実行する方法をご紹介します。
if-else 条件式は各状況に応じて様々な機能を果たす非常に簡単で有用な構文です。
そして、if-else 条件式とは次のように構成されます:
if 条件式,
条件式が真の時に実行する処理;
else;
条件式が偽の時に実行する処理
では、if-else 条件式を使った一例を紹介します。
<例: 製品ライセンス チェック>
ArcView や ArcInfo などの製品ライセンス レベルによって、使用できるジオプロセシング ツールは異なります。
例えば、ArcInfo では [イレース] ツールが使用できますが、ArcView では使用できません。そのため、ArcView で [イレース] ツールと同様の結果を出すには、複数のツールを使用しなければなりません(図1)。
複数の製品(ArcView、ArcInfo など)を所有している組織で、使用している製品に関係なく同等の処理結果が求められるようなモデルを作成したい場合(つまり、モデルの中でライセンスの有効性を判定して実行するツールを使い分ける場合)、 [値の計算] ツールに if 文を使用したコードを設定することが最も手軽な方法です。
ここでは、Python を使用して、ArcInfo ライセンスの有効性を [値の計算] ツールでチェックし、有効な場合と無効な場合の処理の違いについて紹介します(図1)。[値の計算] ツールがブール型の場合、定義された関数に基づいて True または False のどちらかで評価され、戻り値として返されます。
図1:ArcInfo ライセンスが無効な場合と有効な場合の処理フローを表すモデル

続きを読む "Python コード例(その5): ModelBuilder で Python の “If 文” を使用する" »
ArcGIS API for JavaScript の最新バージョン 2.4 をリリースしました。バージョン 2.4 の主な新機能は以下の通りです。
■ バージョン 2.4 の主な新機能(バージョン 2.3 の新機能を含む)
スナップ機能
編集や計測を行う際の図形描画時に、図形の頂点または線分にスナップすることが可能になりました。
計測機能
緯度経度の表示、距離、面積の計測を行うための Measurement ウィジェットが追加されました。
続きを読む "ArcGIS API for JavaScript バージョン 2.4 をリリースしました!" »
すでに本ブログでも何回かご紹介しておりますように、ArcGIS 10 から登場した ArcGIS 用の Python ライブラリ『ArcPy』を使用することでより簡単、効果的にGIS の処理、解析を実行することが可能となりました。
弊社サポート サイトでは、Python のコードを公開して欲しいという多くのリクエストにお応えし、サンプルコードを多数公開しております。
例えば、以下のようなサンプル コードが公開されております。
※サンプル コードのダウンロードにはサポート ページへのログインが必要です。
続きを読む "ESRI ジャパン サポートサイトで Python のサンプルコードを公開中" »
今回は、ArcPy, Pythonが最も得意とする繰り返し処理を行うサンプルスクリプトツールをご紹介します。Pythonで繰り返し処理のコードを書き、スクリプトツールを作成することで、作業効率の大幅な向上が可能なツールを共有できます。必要なライセンスはArcGIS Desktop 10以上(ArcView, ArcEditor, ArcInfoのいずれでも動作)です。
サンプルスクリプトツールは以下からダウンロードしてください。
サンプルスクリプトツール ダウンロード
[サンプルスクリプトツールの説明]
標準地域メッシュ(2次)の各メッシュタイルを対象範囲としたクリップ処理を、指定したワークスペース(フォルダ、ジオデータベース)内のすべてのフィーチャクラスに対して実行します。また、クリップされたデータは、自動的にメッシュタイルごとに分かれたフォルダに出力されます。

続きを読む "【Python コード例】 複数データを標準地域メッシュ(2次)でクリップするスクリプトツール" »
ArcGIS App for iOS の最新バージョン 2.0 をリリースしました。バージョン 2.0 の主な新機能は以下の通りです。
■地図の共有
自分が参照しているマップを、SMS や Facebook、Twitter を介して簡単に共有することができます。
続きを読む "ArcGIS App for iOS バージョン 2.0 をリリースしました" »
以前当ブログで「Landsat Image Services を使ってみよう(その 1: Web アプリケーション編)」と題して Landsat Image Services とその一つの利用法として Web アプリケーションの「Change Matters Viewer」を紹介しましたが、今回は Landsat Image Services を直接 ArcGIS Desktop で利用する方法について紹介します。
◆ArcMap への追加
Landsat Image Services は ArcGIS Server の「イメージサービス」として配信されていますので、ArcGIS Desktop でも利用することができます。ArcMap では以下のように使用することができます。
1.ArcMap メニューから[ウィンドウ] → [カタログウィンドウ] を選択し、カタログウィンドウを起動します。
2.[GIS Servers] を展開し、[ArcGIS Server サーバの追加] をダブルクリックします。
3.[GIS サービスの使用] を選択して [次へ>] ボタンを押します。
4.[サーバの URL:] に「http://imagery.arcgisonline.com/ArcGIS/services」と入力し、[完了] ボタンを押します。
続きを読む "Landsat Image Services を使ってみよう (その 2: ArcGIS Desktop 編)" »
ArcGIS API for Microsoft Silverlight および ArcGIS API for Microsoft WPF の最新バージョン 2.2 をリリースしました。 バージョン 2.2 の主な新機能は以下の通りです。
■バージョン2.2の主な新機能
・ 日付変更線をまたいだ無限スクロール
座標系が WGS1984 地理座標系もしくは Web メルカトル 投影座標系の場合、日付変更線をまたいだ無限スクロールが可能になりました。
続きを読む "ArcGIS API for Microsoft Silverlight および WPF バージョン 2.2 をリリースしました!" »
処理編 その2では正規化植生指数(NDVI)と陰影起伏画像の作成をご紹介しましたが、その 3 では、クリップとマスクについてご紹介します。
前回と同様、ご紹介する内容の全ての機能は、エクステンション不要で ArcView ライセンスでご利用いただけます。
クリップとは「画像データを任意の領域で切り出す」ことです。一方、マスクとは「画像データを任意の領域をNoData値にする」ことです。(一般に「マスク」とはクリップと同じく領域で切り出す場合に使用されていますが、[画像解析] ウィンドウではこのように定義されています。)
ArcGIS 10 以前のバージョンでは、ラスタ データをクリップするには ArcToolbox のジオプロセシング ツールを使用してクリップを行っていたかと思います。
ジオプロセシング ツールでクリップを行うには、クリップするためにクリップ範囲として使用する既存のラスタ データまたはベクタ データ(ポリゴンなど)が必要です。
[画像解析] ウィンドウではクリップするためにポリゴンを用意しなくても、対話的に図形を作成してクリップすることも可能です。
続きを読む "ArcGIS Desktop 10 のお勧め画像機能:処理編 その3" »
ArcGIS では、Python を使って処理を自動化することが出来ます。Python コード上で、フィーチャクラスを作成する手法が一般的に使われますが、一時的にジオメトリを作成することも可能です。 具体的には、Geometry や Multipoint、PointGeometry、Polygon、Polyline などのクラスを使用して処理します。
この手法を利用すれば、実データではなくテンポラル(一時的な)フィーチャクラスを生成できるので、処理時間が短縮できます。
それでは、ジオプロセシング ツールで Geometry オブジェクトをパラメータとして使った 1 例を紹介します。
(実際に使用する際には Geometry の空間参照にも気を付けて処理しなければなりません)
下記のコードを実行すると、バッファが自動的に作成されて、その面積が出力されます。
※ 5000m バッファのイメージ(実際にはテンポラリ データが作成されるので、マップに追加されません)
※ バッファ処理をするには、マップを投影座標系にしておく必要があります。
続きを読む "Python コード例(その4): ArcPy で Geometry オブジェクトを使用する方法" »
現在、7/11~15 までカリフォルニア州サンディエゴ コンベンションセンターにて Esri International User Conference(以下、UC)が開催されています。このイベントは世界最大の GIS イベントであり、今年は 126 ヵ国、約 15,000 人の参加者がサンディエゴに集まっています。
日本からは我々 ESRIジャパンのスタッフ以外に多くのユーザ様にご参加いただいており、総勢約 80 名です。
7/11 はプレナリー セッションがありました。いわゆるオープニングです。参加者の方に後から「何が印象に残りましたか?」と尋ねたときに、まず一番に出てくるのがこのプレナリー セッションです。全幅約 250 メートルというメイン会場が満席になる様子は圧巻です。
続きを読む "現地レポート:プレナリー セッション ~ Esri International User Conference@サンディエゴ(米国)" »
ESRIジャパンでは、東北地方太平洋沖地震ソーシャルメディア マップ(日本語版)を公開しています。ソーシャルメディア マップはインターネット上を流れる膨大な情報について、「位置情報」をキーとしてマップ上へ集約するものです。
Esri社が提供している Chrome - Twitter テンプレートを使用すると、誰でも簡単にソーシャルメディア マップを作成することができます。Twitter を使用したソーシャルメディア マップを ArcGIS.com を利用して作成してみましょう。
続きを読む "誰にでも簡単!ArcGIS.com を利用してソーシャルメディア マップを作成しよう" »
米国 Esri 社は、ArcGIS Online の1コンテンツとして全世界4時期分(1975年、1990年、2000年、2005年)の Landsat 画像データの配信を開始しました。この大量のデータは ArcGIS10 の新しいデータ管理技術である「モザイクデータセット」として格納され、ArcGIS Server Image Extension の「イメージサービス」として配信されています。これは、ArcGIS Desktop や ArcGIS Explorer Desktop、ArcGIS Explorer Online 等での利用のほか、これを使用した Web アプリケーションである「Change Matters Viewer」および「Landsat Touch」としても公開されています。

今回「その1」ではこの2つの Web アプリケーションの操作方法を紹介します。
続きを読む "Landsat Image Services を使ってみよう (その1: Webアプリケーション編)" »
今回は、ArcGIS Engine 開発者向け Tips のご紹介です。
ArcGIS Engine アプリケーションでは、すぐに利用可能なビルトインのコントロール コマンドや独自に開発したカスタム コマンドを利用することができます。これらのコマンドを格納するためのツールバーには、ArcGIS Desktop アプリケーション フレームワークと同様のフレームワークをすばやく提供できるといった利点をもつ ToolbarControl(ArcObjects SDK に付属の ArcGIS コントロールのひとつ)が使用されます。
続きを読む "ArcGIS Engine コマンドを ToolbarControl を使用せずに Windows フォーム ボタンから呼び出すには?" »
Esri が公開している ArcGIS Online では、様々な背景地図を利用できますが、このたび Ocean Basemap が仲間入りしました。
Ocean Basemap は海洋と海底地形の名称が表示されています。日本周辺でしたら、下図のように表示されます。
続きを読む "ArcGIS Online で利用できるサービスに、海の背景地図が追加されました" »