Úvod
ArcGIS Platform je 2021 rok 5 měsíc, kdy byla v Japonsku spuštěna služba pro vývojáře mapových aplikací jako PaaS produkt. PaaS produkt.
Podrobnosti o ArcGIS Platform najdete v blogovém článku „ArcGIS Platform (PaaS) の国内サービスを開始しました!“.
V článku „Představení ArcGIS Platform – Funkce a ceny lokalizačních služeb “ jsme představili lokalizační služby dostupné v rámci ArcGIS Platform.ArcGIS Platform umožňuje využívat různé lokalizační služby. API/SDK a představíme jejich přehled a tipy pro výběr.ArcGIS Platform nabízí několik API/SDK, která lze používat podle účelu. API/SDK Hlavní oblasti použití lze rozdělit do následujících4 kategorií.
① Vkládání / automatizace
② Webové aplikace
③ Mobilní / desktopové aplikace
④ Herní engine
Pro „② Webové aplikace“ a „③ Mobilní / desktopové aplikace“ jsou také k dispozici low-code nástroje, které umožňují vývoj s menším množstvím kódu.
Přehled API/SDK
① Vkládání / automatizace/automatizace
Lze je použít pro vkládání nebo automatizaci procesů. Například funkce pro aktualizaci polohy senzorů nebo měřených dat do webových služeb ArcGIS Platform, pravidelnou aktualizaci či zálohování dat nebo serverové geokódování. Pro tyto účely jsou k dispozici následující API:webové API ..
. Všechna API/SDK poskytovaná v rámci ArcGIS Platform jsou vyvinuta na základě tohoto ArcGIS REST API.REST endpointy poskytují možnost odesílat HTTP požadavky na webové služby ArcGIS Platform a výsledky jsou vráceny ve formátu JSON.HTTP JSON . Výsledky ve formátu JSON lze analyzovat a integrovat do vlastních programů.
, ArcGIS REST API nabízí všechny funkce lokalizačních služeb ArcGIS Platform. Také umožňuje generovat mapové obrázky (ve formátu JPEG/PNG) podle zadaného rozsahu.JPEG/PNG.
JavaScriptovou knihovnu, která usnadňuje používání ArcGIS REST API.JavaScriptovou knihovnu.JavaScriptovou , má vysokou kompatibilitu s Node.js a umožňuje využití lokalizačních funkcí na serverové straně.Node.js. Mezi dostupné funkce patří geokódování, analýza dopravních sítí, dotazy a úpravy dat, autentifikace (API klíč, OAuth) atd., ale neobsahuje funkce vykreslování map.
API , OAuth.
Ukázka kódu geokódování
Pro GIS data je k dispozici bohatá sada funkcí pro dávkové zpracování, automatizaci aktualizací a zálohování dat, stejně jako prostorovou analýzu kombinovanou s Python knihovnami pro výpočty.Python . Součástí je i komponenta pro zobrazování map v prostředí Jupyter Lab.
Jupyter Lab. Součástí je i komponenta pro zobrazování map v prostředí Jupyter Lab.
Použití v Jupyter Lab
Tipy pro výběr API pro vkládání / automatizaci: Pokud chcete integrovat serverové procesy s Node.js, použijte ArcGIS REST JS. Pro automatizaci aktualizací dat je vhodný ArcGIS API for Python. Pro jiné účely nebo pokud potřebujete funkce, které nejsou dostupné v těchto dvou knihovnách, je běžné používat přímo ArcGIS REST API.
+ Pokud chcete integrovat serverové procesy s Node.js, použijte と連携する場合は ArcGIS REST JS、データ更新等の自動化処理に利用する場合は ArcGIS API for Python を利用できます。それ以外での用途や、ArcGIS REST JS 及び ArcGIS API for Python で用意されていない機能を使いたい場合は、ArcGIS REST API を利用するのが一般的な使い方です。
② Web
Web ブラウザ上で地図表示やロケーション機能を利用するアプリを開発する際に利用できる API が用意されています。オープンソースを含む ArcGIS の API、および、サードパーティの API を使用して地図アプリを開発できます。利用可能な API には以下のものがあります。
2D/3D 対応、豊富なビジュアライゼーション、高度なロケーション機能、ウィジェットを使用した開発などが特長の API です。様々なロケーション機能がウィジェットとして提供されており、コーディング量を抑えてアプリを開発できます。また、ESモジュールも公開されているので、React や Vue.js などでの開発もシームレスに行えます。
ArcGIS Platform を使用してはじめて地図アプリを開発する場合は、この API を利用することをお勧めします。
Leaflet はオープンソースでメジャーな軽量な地図ライブラリです。その Leaflet で ArcGIS Platform のロケーションサービスを利用するために、Esri Leaflet と呼ばれる Leaflet のプラグインが用意されています。ArcGIS Platform の一部のロケーション機能については、ArcGIS REST JS のライブラリを読み込んで使用します。
Mapbox GL JS 及び OpenLayers で開発したアプリ上で、ArcGIS Platform のロケーションサービスを利用できます。アプリ上で ArcGIS REST JS のライブラリを読み込んでロケーション機能を使用します。
下図では Mapbox GL JS と OpenLayers で開発したアプリ上で ArcGIS Platform のジオコーディング機能を使って住所検索しています。図ではそれぞれのライブラリのネイティブのベースマップ(Mapbox:ゼンリン地図、OpenLayer:OpenStreetMap)を表示していますが、代わりに ArcGIS Platform のベースマップを表示することもできます。
Web アプリ開発用のローコードツール
Web アプリ開発用のローコードツールには ArcGIS Experience Builder と ArcGIS Web AppBuilder の2つがあります。それぞれ専用のツールを使いウィジェットを構成していくことで、UI 操作のみでアプリを作成できます。コーディングでの機能拡張(ウィジェットを開発)にも対応しています。
※ 両ツールとも現在 API キーには対応していませんが、今後対応予定です。
ウィジェットの配置位置やサイズ変更などを行い、アプリのレイアウトを自由に設定することができます。コーディングで機能拡張する際は、主に React を使用します。新しいツールのため、ArcGIS Web AppBuilder と比較すると利用可能な機能(ウィジェット)が少ないですが、随時拡充されています。
地図が中心の組み込みのテーマからアプリのレイアウトを選択できます。コーディングで機能拡張する際は、主に Dojo を使用します。
Web 用の API の選択のポイント
使い慣れているライブラリ(Leaflet、Mapbox、OpenLayers)がある場合はそちらを利用します。初めて地図アプリを開発する場合は、ArcGIS Platform のロケーション機能の実装が容易で機能も豊富な ArcGIS API for JavaScript を利用することをお勧めします。
Web アプリ上で地図表示が不要(ジオコーディングの処理結果だけが必要など)な場合は、ArcGIS REST JS も利用できます。
また、ノンコーディングで作成したい、コーディング量を抑えたいといった場合はローコードツールも利用可能です。ArcGIS Experience Builder は自由なレイアウト設定と React での開発に対して、ArcGIS Web AppBuilder は地図が中心のレイアウトと Dojo での開発が大きな違いとして挙げられます。
③ モバイル/デスクトップ
モバイルやデスクトップ端末上で地図の表示やロケーション機能を利用するネイティブ アプリを開発する際に利用できる SDK が用意されています。
ArcGIS Platform の Web サービスを利用したアプリだけでなく、完全なオフライン環境でも利用できるアプリを開発できるのが特長の SDK です。Android、iOS、.NET、Java、Qt の開発プラットフォームごとにそれぞれ SDK が用意されています。AR/VR アプリ開発用のオープンソースのツールキットも公開されています。
下図では各 ArcGIS Runtime SDK の実行環境と開発環境をまとめています。アプリでサポートする OS や開発者のスキル等を考慮して、最適な SDK を選択できます。
各 SDK の実行環境と開発環境
※ Java と Qt 用の SDK は ESRIジャパンにおける製品保守サポート等の対象外です。利用方法に関するご質問は Esri Community (Java / Qt) から直接お問い合わせをお願いいたします。
モバイル/デスクトップ アプリ開発用のローコードツール
機能やレイアウトごとに用意されたテンプレートを用いて、UI 操作だけでネイティブ アプリを開発できます。Qt を使用したコーディングによる機能拡張も行えます。クロスプラットフォームにも対応しており、ひとつのソースコードで Windows、Ubuntu、macOS、Android、iOS 向けにアプリをビルドできます。
※ ArcGIS AppStudio はESRIジャパンにおける製品保守サポート等の対象外です。利用方法に関するご質問は Esri Community から直接お問い合わせをお願いいたします。
モバイル/デスクトップ用の SDK の選択のポイント
ArcGIS Runtime SDK の各 SDK(Android / iOS / .NET / Java / Qt)základně poskytují stejné funkce lokace, takže můžete vybrat optimální SDK s ohledem na požadavky aplikace, kterou vyvíjíte, a dovednosti vývojáře.
Pokud chcete vytvářet bez kódování nebo snížit množství kódu, můžete také použít low-code nástroj ArcGIS AppStudio k dispozici.
④ Herní engine
Unity a Unreal Engine mají k dispozici pluginy. Použitím pluginů můžete zobrazovat základní mapy, výšková data, 3D data v ArcGIS Platform na platformách Unity a Unreal Engine. Aktuálně jsou funkce omezené, protože jsou ve verzi beta, ale plánuje se jejich rozšíření.
※ ArcGIS Maps SDK (Unity/Unreal Engine) je beta program poskytovaný americkou společností Esri, a není podporován v rámci produktové podpory ESRI Japan. Pro dotazy či nejasnosti prosím kontaktujte přímo přes stránku beta programu User Forums.
Klíčové body pro výběr SDK pro herní engine
Pluginy pro Unity a Unreal Engine nabízí stejné funkce lokace, takže si můžete vybrat herní engine, který vám je nejpříjemnější.
Na závěr jsme představili nabídku dostupných API/SDK na platformě
ArcGIS Platform a klíčové body jejich výběru. Podle využití – vestavění/automatizace, web, mobilní/desktopové aplikace či herní engine – si můžete zvolit optimální API/SDK./, webové, mobilní/, desktopové či herní enginy – podle toho lze zvolit nejlepší API/SDK.Všechna představená API/SDK lze zdarma vyvíjet a testovat po vytvoření vývojářského účtu.Určitě to vyzkoušejte!
Reference