YouTube | Facebook | Twitter  Feed

GeoDev Meetup で ArcGIS Earth Automation API を使ってみる

久しぶりに GeoDev Meetup に参加してきました。

2回目の参加となりますが、今回のもくもくタイムで「先日リリースされた ArcGIS Earth 1.6 の API を触ってみます。」と自己紹介したので先日ブログで紹介した ArcGIS Earth 1.6 の API を触ってみます。

とはいったものの、1年以上 Visual Studio を触ってなくて1時間以内にまったく新規のアプリを作るのは難しいと思ったので、Esri のサンプルを触って動かしてみる、ということにしました。

やったこと:ヘルプの確認

まずはヘルプを読みながら API の操作方法を確認してみました。下記 URL を少し翻訳してみます。
http://doc.arcgis.com/en/arcgis-earth/automation-api/use-api.htm

Automation API の使用

管理者設定

OS 管理者権限で、ArcGIS Earth のインストール ディレクトリー(例:C:\Program Files\ArcGIS\Earth\bin\plugins)にある ArcGISEarth.WCFNamedPipeIPC.json ファイルを変更して AcGIS Earth Automation API の設定ができます。

ArcGISEarth.WCFNamedPipeIPC.json
{
 "autoStart": true
}

autoStart 関数は ArcGIS Earth 起動時に自動的に Automaiton API を有効にします。デフォルトでは false に設定されています。autoStart=true に設定すると、ArcGIS Earth 起動時にローカルホストで WCF サービスをホストできるようになります。[Settings] ダイアログの [Advanced] ペーンで、automaiton API が使用できるかどうかが確認できます。

ArcGIS Earth への接続

接続の有効化

ArcGIS Earth Automation API はマシン上のプロセス間通信(interprocess communication:IPC)に WCF 名前付きパイプ トランスポート(WCF named pipe transport)のメカニズムを実装しています。一度接続が確立すれば、クライアントアプリケーションは ArcGIS Earth と通信することができます。

Automaiton API を使用するには、要求を送信するための特定のエンドポイント アドレスが必要です。ArcGIS Earth Automation APIのエンドポイントアドレスは "net.tcp// localhost/arcgisearth" として定義されています。

アプリの接続を設定するには、次の手順を実行します。

~~以下の翻訳は今後のがんばり次第~~~

やったこと:サンプル プログラムを動かす

ヘルプからリンクされているサンプル プログラムは ArcGIS Online 上で公開されています。

  1. 事前に Visual Studio Community 2017 と ArcGIS Earth 1.6 をインストールしておきます。
  2. Automation API Usage Sample のサンプルをダウンロードして解凍します。
  3. EarthAPITestClient.sln ソリューションを開きます。
  4. EarthAPITestClient プロジェクトをビルドします。
  5. bin フォルダー内に EarthAPITestClient.exe がビルドされるので起動します。
  6. ArcGIS Earth を起動します。

    ArcGIS Earth 1.6 起動

     

  7. EarthAPITestClient で [ConnectEarth] ボタンを押します。ArcGIS Earth が起動していれば、[Success] が表示されます。

    EarthAPITestClient を起動

  8. [Get Camera] ボタンを押して、現在のカメラ情報を取得します。JSON 形式で情報が取得されます。

    GetCamera

     

  9. Visual Studio プロジェクト内にある sample.txt を開き、SetCamera の JSON 文字列をコピーし、Text info に貼り付け、[SetCamera] ボタンを押すと、指定したカメラ位置に地図が移動します。

    SetCamera

     

  10. sample.txt を参考に、[SetCamera] [FlyTo] [AddLayer] [ClearLayers] [GetSnapshot] を押してみてください。

ということで、1行もコードを書かずに終わるということにはなりましたが、久しぶりに Visual Stuido を起動してみて、もう少しがんばろうと。

GeoDev Meetup も無事終了で楽しめました!

関連記事

  • この記事を書いた人

羽田 康祐

Esri認定インストラクター、GIS上級技術者、測量士補、潜水士。GISy / GISc とその関連分野である地理学・地図学について日々の出来事で学んだ記憶を記録するためにブログを書いています。行動原理は伊達と酔狂。好きな地形は圏谷。好きな地図投影法はパースクインカンシャル図法。呉市生まれ広島市出身。GIS を使った自己紹介はこちら

-GIS, プログラミング, ArcGIS, 日記
-

© 2020 WINGFIELD since1981