ArcGIS for Developers

開発者向け ArcGIS アーキテクチャは、サービス モデルを介して接続されている一連の各種クライアント (デスクトップ、モバイル デバイス、Web ブラウザなど) およびサーバと見なすことができます。ArcGIS での開発者向けテクノロジの基礎となっているのは、こうしたクライアント/サーバ パラダイムです。

ArcGIS システム

ArcGIS には、Web からモバイル、そして完全なワークステーション デスクトップまで、さまざまなプラットフォームに対応するように設計された豊富なクライアント群 (サービス クライアント) が含まれています。ArcGIS には、それ以外に、GIS サービスを公開する一連のサーバも含まれています。ここで示したサーバは、クラウド内のホスト サービス、エンタープライズ サーバ、またはローカル GIS ランタイムとして実行されるように設計されています。デスクトップ GIS は、ローカル ネットワーク上の GIS ファイルにアクセスし処理するのにも使用できます。

ArcGIS のクライアント API

ArcGIS には、クラウドまたはオンプレミスの形でエンタープライズ サーバ内にホストされた GIS データおよびサービスにアクセスして利用する、デスクトップ、Web、およびモバイル環境向けの数々のクライアント アプリケーションが含まれています。また、独自のカスタム アプリケーションおよびワークフローを実装できるように、開発者向け API がそれぞれのタイプのクライアントに用意されています。これらの開発者向けオプションのいくつかを以下で説明します。

ArcGIS Runtime の固有アプリケーション

ArcGIS には、開発者向けのランタイム環境があります。この環境によって、ArcGIS で管理および共有されているマップや地理情報を利用する、パフォーマンスが高く、かつ容易に展開可能なネイティブ アプリケーションを作成することができます。これを ArcGIS Runtime と呼びます。

ArcGIS Runtime アプリケーションは、デスクトップやモバイル デバイスを含む、さまざまな開発環境向けに作成できます。ArcGIS Runtime アプリケーションは共通のオブジェクト モデルを共有し、次の 2 つの基本的な方法で地理情報を使用します。

  1. オンライン マップおよびサポートしている GIS サービスに接続して使用する方法
  2. デバイス上でローカルに使用する GIS パッケージを展開する方法 (データはアプリケーションと同じデバイス上に存在) とローカルの GIS 機能を使用する方法

パッケージとは、ArcGIS Runtime アプリケーションによってデータを配布する効率的な方法です。パッケージはディスク上の 1 つのファイルですが、これには共有する GIS 機能のすべてがカプセル化して統合されています。さらに、Runtime アプリケーションを使用するためのデバイスの設定も容易です。

ArcGIS は、以下を対象としたスタンドアロンのローカル ランタイム環境をサポートしています。

パッケージの使用方法の例については、Runtime WPF ドキュメントのトピック「Packages used by ArcGIS Runtime」をご参照ください。

ArcGIS Web アプリケーション

ArcGIS を使用すると、開発者は、JavaScript、Adobe Flex、および Microsoft Silverlight といった Web API を用いて、ArcGIS サービスにアクセスするカスタム Web アプリケーションを構築できます。これらの Web アプリケーション フレームワークは、ArcGIS 10.1 for Server、ArcGIS Online、およびオープンな Web 上のコンシューマ マッピング サービスで公開されたマップ サービスやその他 GIS サービスに接続し、利用することができます。これらの API では、オープンな業界標準である REST ベースのアーキテクチャを使用しています。また、このアーキテクチャにより、ArcGIS のコンテンツおよびサービスは ArcGIS の統合要素としてはもちろん、ArcGIS の以外の要素しても使用できます。

ArcGIS for SharePoint

ArcGIS のコンテンツやサービスを利用することで、ArcGIS の SharePoint サイト ビルダーで Microsoft SharePoint Web サイトに、便利な GIS アプリケーションを作成、配置できます。詳細については、Web ページ「ArcGIS for SharePoint」をご参照ください。

ArcGIS 10.1 for Desktop のカスタマイズと拡張

ArcGIS 10.1 for Desktop は次の方法でカスタマイズまたは拡張できます。

ArcObjects および ArcGIS 10.1 Engine の使用

.NET、Java、C++ 用の ArcGIS 10.1 Engine および ArcObjects 開発者向け API を使用して、スタンドアロンのカスタム アプリケーションや、ArcObjects コンポーネント ライブラリを使用する ArcGIS 10.1 for Desktop エクステンションを作成できます。

詳細については、以下に示す Web ページ 「ArcGIS 10.1 Engine」 をご参照ください。

ArcGIS サービス

ArcGIS 10.1 for Server および ArcGIS Online は、サーバ ベース アーキテクチャに GIS 機能を配置します。GIS のマップ、フィーチャ、画像、ジオプロセシング モデル、ロケータ、およびデータセットは、Web サービスとして展開でき、GIS 専門家やそれ以外のユーザを含め、ほぼあらゆるクライアントがそれらのサービスにアクセスし、使用することができます。組織内のオンサイトと Web 上のクラウド サーバの両方を合わせたコンピュータ群によって、GIS サービスを配置し、サービスの規模を調整することができます。

ユーザは ArcGIS 10.1 for Desktop を使用して重要な GIS マップおよび情報を作成し、ArcGIS 10.1 for Server と ArcGIS Online を使用して Web サービスとして公開します。このようにして、ArcGIS は情報への幅広いアクセスと、あらゆる構成や状況に合わせて GIS をスケーリングできる機能を提供します。

サポートされている Web サービス API の代表的なものは、REST、SOAP、OGC プロトコルです。OGC としては、たとえば WMS、WFS、WCS があります。

ArcGIS は、導入と利用の機会を最大化するために RESTful 設計パターンに従ったマップ サービスや GIS サービスを共有するためのオープンな Web API を提供します。これにより、すべての開発者やアプリケーション構築者は、ArcGIS サービスにさまざまなソースからアクセスし、あらゆる Web 情報と組み合わせて、マッシュ アップすることができます。また、コンシューマは GIS の環境で作成された、地理に関する膨大な量の知識にアクセスできます。

開発者の視点から見た ArcGIS

詳細については、以下の項目をご参照ください。

その他の主な API

ArcGIS には、地理情報を操作するための API が他にもいくつか含まれています。以下にそれらを示します。

  • Python - 科学計算コミュニティや多くのオープン ソース開発者によって使用されるオープン ソースのスクリプト言語モデルです。Python は、ArcGIS 用のネイティブ Python ライブラリである ArcPy を使用したジオプロセシングや解析を行うためのスクリプト言語として使用されています。詳細については、「ArcPy とは?」をご参照ください。
  • SQL - ArcGIS の使用時には、大規模なマルチユーザのジオデータベースの管理と保存が、Oracle、SQL Server、IBM DB2、PostgreSQL、Netezza など、さまざまなリレーショナル データベース (DBMS) で行われます。また、特定のジオデータベース機能を備え、空間タイプをサポートする SQL API が、ArcGIS による各 DBMS のサポートの一部として含まれています。