地図アプリ開発に使える API/SDK の紹介

28527
0
03-10-2016 03:01 AM

地図アプリ開発に使える API/SDK の紹介


地図アプリ開発を行いたいとお考えになったとき、皆さまはどのような基準で API/SDK を選定しますか?

無償で開発・評価ができる、地図が見やすい、利用できるデータが揃っている・・・

今回はこのような条件を備えたおすすめの地図アプリ開発用の API/SDK をご紹介します。

 

その前に、皆さまは「GIS」という言葉をご存知ですか?

GIS とは「Geographic Information System:地理情報システム」の略で、位置に関連づけられたさまざまな情報を、作成、加工、管理、分析、可視化、共有するための情報技術のことを指します。お気づきかもしれませんが、地図アプリ開発を行おうとしている皆さまはすでに GIS の世界に足を踏み入れているのです。

この GIS の世界で多くの方から知られている製品のひとつが「ArcGIS(アークジーアイエス)」です。

ArcGIS はすぐに利用可能な豊富な地図データや、地理情報を作成、分析、可視化するためのデスクトップ アプリ、モバイル アプリ、Web アプリ、クラウドサービス、サーバー製品等から構成され、システム形態や用途に応じて自由に組み合わせて導入できます。

arcgis.png

 

 

その ArcGIS 製品群の中に、地図アプリ開発を行うための API/SDK も含まれています。

ArcGIS API/SDK を利用すれば、単純な地図表示だけでなく、情報を最適に可視化したり、地理情報からさまざまな分析を行ったりと、一歩先を行く地図アプリを実装可能です。

ArcGIS API/SDK を利用したアプリの開発・評価は無償から始められます。背景の地図データや主題に使用するデータも、ArcGIS のクラウドサービスで公開されているものの中から選んで使用することができます。とにかく地図アプリを作ってみたい、どんなことができるのか知りたい、という方におすすめの製品です。

map.png

 

API/SDK の種類

ArcGIS には利用用途によって使い分け可能な API/SDK がいくつか用意されています。用途を大きく分けると次の4つに分けられます。

 

① 組み込み/自動化

Web

③ モバイル/デスクトップ

④ ゲームエンジン

 

「② Web」と「モバイル/デスクトップ」 用にはノーコーディングまたはコーディングで既存機能を拡張してアプリを開発できる、ノーコード/ローコードツールも用意されています。

api.png

API/SDK のラインナップ

 

組み込み/自動化

組み込み処理や自動化処理等で利用できます。例えば、センサーの位置や計測情報を Web サービスに更新するような機能や、定期的にデータを更新・バックアップする機能、サーバーサイドで住所検索を行う機能等の用途で利用できます。これらの用途で利用可能な API には以下のものがあります 。

 

ArcGIS REST API

ArcGISで提供される全ての開発キットは、この ArcGIS REST API をベースに開発されています。REST エンドポイントを提供しており、Web サービスに対して HTTP リクエストを送り、その結果が JSON で返されます。JSON の結果を解析して、自身のプログラムに組み込んで利用できます。

rest_api.png

 

ArcGIS REST JS

ArcGIS REST API をより使いやすくするためにラッピングされた JavaScript ライブラリです。JavaScript ライブラリなので、Node.js との親和性も高く、サーバーサイドでロケーション機能を利用できます。

rest_js.png

住所検索のコード例

 

ArcGIS API for Python

GIS データの作成・更新・バックアップ等のバッチ処理や自動化処理を行う際や、Python 特有の演算ライブラリと組み合わせて空間解析を行う際に利用できる機能が豊富に用意されています。Jupyter Lab 上で利用できる地図表示のためのコンポーネントもあります。

python.png

Jupyter Lab 上での利用

 

Web

Web ブラウザ上で地図表示や地図機能を利用するアプリを開発する際に利用できる API やノーコード/ローコードツールが用意されています。

 

ArcGIS API for JavaScript

2D/3D 対応、豊富なビジュアライゼーション、高度な地図機能、ウィジェットを使用した開発等が特長の API です。様々な地図機能がウィジェットとして提供されており、コーディング量を抑えてアプリを開発できます。また、ESモジュールも公開されているので、React Vue.js 等での開発もシームレスに行えます。

javascript.png

 

Web アプリ開発用のノーコード/ローコードツール

Web アプリ開発用のノーコードツールには ArcGIS Experience Builder ArcGIS Web AppBuilder 2つがあります。それぞれ専用のツールを使いウィジェットを構成していくことで、UI 操作のみでアプリを作成できます。開発者向けの Developer Edition では、コーディングでの機能拡張(ウィジェットを開発)にも対応しています。

 

ArcGIS Experience Builder (Developer Edition)

ウィジェットの配置位置やサイズ変更等を行い、アプリのレイアウトを自由に設定することができます。コーディングで機能拡張する際は、主に React を使用します。新しいツールのため、ArcGIS Web AppBuilder と比較すると利用可能な機能(ウィジェット)が少ないですが、随時拡充されています。

experience_builder.png

 

ArcGIS Web AppBuilder (Developer Edition)

地図が中心の組み込みのテーマからアプリのレイアウトを選択できます。コーディングで機能拡張する際は、主に Dojo を使用します。

web_appbuilder.png

 

Web アプリを開発する際には、ご紹介した API とノーコード/ローコードツールの他にも Leaflet OpenLayers 等の OSS の地図アプリ開発用の API 上で ArcGIS の地図機能を利用する仕組みも用意されています。詳細はこちらのブログ記事をご参照ください。

 

モバイル/デスクトップ

モバイルやデスクトップ端末上で地図の表示や地図機能を利用するネイティブ アプリを開発する際に利用できる SDK やノーコード/ローコードツールが用意されています。

 

ArcGIS Runtime SDKAndroid / iOS / .NET / Java / Qt

ArcGIS Platform Web サービスを利用したアプリだけでなく、完全なオフライン環境でも利用できるアプリを開発できるのが特長の SDK です。AndroidiOS.NETJavaQt の開発プラットフォームごとにそれぞれ SDK が用意されています。AR アプリ開発用のオープンソースのツールキットも公開されています。

下図では各 ArcGIS Runtime SDK の実行環境と開発環境をまとめています。アプリでサポートする OS や開発者のスキル等を考慮して、最適な SDK を選択できます。

runtime.png

SDK の実行環境と開発環境

  Java Qt 用の SDK ESRIジャパンにおける製品保守サポート等の対象外です。利用方法に関するご質問は Esri Community (Java / Qt) から直接お問い合わせをお願いいたします。

 

モバイル/デスクトップ アプリ開発用のノーコード/ローコードツール

ArcGIS AppStudio

機能やレイアウトごとに用意されたテンプレートを用いて、UI 操作だけでネイティブ アプリを開発できます。Qt を使用したコーディングによる機能拡張も行えます。クロスプラットフォームにも対応しており、ひとつのソースコードで WindowsUbuntumacOSAndroidiOS 向けにアプリをビルドできます。

appstudio.png

ArcGIS AppStudio ESRIジャパンにおける製品保守サポート等の対象外です。利用方法に関するご質問は Esri Community から直接お問い合わせをお願いいたします。

 

ゲーム エンジン

ArcGIS Maps SDKUnity / Unreal Engine

Unity 及び Unreal Engine 用にそれぞれプラグインが用意されています。プラグインを使用することで、ArcGIS の背景地図、標高データ、3D データを Unity 及び Unreal Engine 上で表示できます。現在はプレリリース版で利用可能な機能も限定的ですが、今後機能が拡充されていく予定です。

game_engine.png

ArcGIS Maps SDK (Unity/Unreal Engine) はベータ プログラムとして米国Esri社が提供しているものであり、ESRIジャパンにおける製品保守サポート等の対象外です。ご質問やご不明点はベータ プログラム ページ User Forums から直接お問い合わせをお願いいたします。

 

最後に

ArcGISで利用可能な API/SDK について紹介してきました。組み込み/自動化、Web、モバイル/デスクトップ、ゲームエンジン等の利用用途によって最適な API/SDK を選択できます。今回紹介した全ての API/SDK は、ArcGIS 開発者アカウントを作成することで、無償で開発・評価していただけます。ぜひお試しください!

 API/SDK の紹介、導入・活用方法に関するご相談等はこちらからお気軽にご相談ください。

 

 ■関連リンク

Version history
Last update:
‎10-26-2021 04:57 PM
Updated by: