オープンソースの開発者 : 新しい ArcGIS のベースマップ レイヤー サービスへの更新

1674
0
02-20-2022 09:23 PM
Labels (2)

オープンソースの開発者 : 新しい ArcGIS のベースマップ レイヤー サービスへの更新

Leaflet、Esri LeafletOpenLayersMapbox などのオープンソースのクライアント API を使用して、従来の ArcGIS Online タイル サービスを使用するマッピング アプリケーションを構築している場合は、新しい ArcGIS ベースマップ レイヤー サービスに更新する必要があります。

従来の ArcGIS Online タイル サービスは、更新が終了しています。そのため、Esri の利用規約に準拠して継続的なアクセスを確保するため 2022年 4月30日 までにアプリケーションを更新する必要があります。

更新は簡単で、ベースマップ サービスには無料でアクセスできます。

従来の ArcGIS Online タイル サービスについては、ArcGIS ブログ「ArcGIS Online ラスター ベースマップの更新停止に伴うベースマップ ギャラリー更新のお知らせ」にも公開していますので併せてご参照ください。

本記事は ArcGIS Blog で紹介されている「Open source developers: Time to upgrade to the new ArcGIS basemap layer service!」の記事を翻訳して紹介したいと思います。

 

新しい ArcGIS ベースマップ レイヤー サービス

新しい ArcGIS ベースマップ レイヤー サービスは、従来の ArcGIS Online タイル サービスに代わるものです。新しいサービスでは、世界各国からアクセスされるアプリケーションのパフォーマンスが大幅に向上し、新しい地域の衛星画像もより高解像度で提供されます。

また、新しいベクター タイル ベースマップ サービスもぜひご利用ください。このサービスは Mapbox Vector Tile Specification をサポートしており、オープンソースの API と簡単に統合することができます。ベクター タイルは全体的に最高のパフォーマンスを提供し、アプリケーションに合わせて25以上のベクター タイル スタイルから選択することができます。

ベクター タイル サービスは、Vector Tile Style Editor(ベクター タイル スタイル エディター)による独自のベースマップ スタイルの作成に対応しており、custom colors、fonts、glyphs を用いたアプリケーションのブランディングが可能です。カスタムスタイルの作成方法については、カスタム スタイルを作成するチュートリアルをご覧ください。

all-basemap-styles.png

アプリケーションをアップデートする手順

以下の手順で、従来のサービスを新しいベースマップ サービスに置き換えます。

1.従来のベースマップ サービスを特定する

アプリケーションが以下の URL エンドポイントを使用している場合、アプリケーションを更新する必要があります。

 

World Street Map
https://services.arcgisonline.com/arcgis/rest/services/World_Street_Map/MapServer

World Topo Map
https://services.arcgisonline.com/arcgis/rest/services/World_Topo_Map/MapServer

World Light and Dark Gray Canvas
https://services.arcgisonline.com/arcgis/rest/services/Canvas/World_Dark_Gray_Base/MapServer
https://services.arcgisonline.com/arcgis/rest/services/Canvas/World_Dark_Gray_Reference/MapServer
https://services.arcgisonline.com/arcgis/rest/services/Canvas/World_Light_Gray_Base/MapServer
https://services.arcgisonline.com/arcgis/rest/services/Canvas/World_Light_Gray_Reference/MapServer

World Boundaries and Places
https://services.arcgisonline.com/arcgis/rest/services/Reference/World_Boundaries_and_Places_Alternate/MapServer
https://services.arcgisonline.com/arcgis/rest/services/Reference/World_Boundaries_and_Places/MapServer
https://services.arcgisonline.com/arcgis/rest/services/Reference/World_Reference_Overlay/MapServer

World Transportation
https://services.arcgisonline.com/arcgis/rest/services/Reference/World_Transportation/MapServer

World National Geographic
https://services.arcgisonline.com/arcgis/rest/services/NatGeo_World_Map/MapServer

 

 

2.ArcGIS アカウントの取得

新しいベースマップ レイヤー サービスを利用するには、ArcGIS Developer(個人開発者向け)または ArcGIS Online アカウント(組織向け)が必要です。お持ちでない場合は、無料でサインアップすることができます。

NOTE:開発者アカウントでは、200万のベースマップ タイルを毎月無料で利用できます。

NOTE:開発者アカウントの作成から API キーの取得、マップとベースマップ レイヤーを表示するシンプルな地図アプリの作成方法まで、ArcGIS Developer 開発リソース集にも公開していますので、併せてご参照ください。

 

3.APIキーの取得

開発者用ダッシュボードにログインし、API キー (アクセストークン) を取得します。

 

4.新サービスを参照する

新しいベースマップ レイヤー サービスにアクセスするには API キーを使用します。以下の URL エンドポイントを使うか、LeafletMapboxOpenLayers の具体的なコード例を参照してください。

 

イメージ タイル

衛星画像、海洋、陰影起伏の新しいイメージ タイルに直接アクセスするには、以下の URL に {z}{y}{x} の値と token を指定してください。

 

https://ibasemaps-api.arcgis.com/arcgis/rest/services/{ImageryType}/MapServer/tile/{z}/{y}/{x}?token={ACCESS_TOKEN}

 

 

サンプル

 

https://ibasemaps-api.arcgis.com/arcgis/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}?token={ACCESS_TOKEN}
https://ibasemaps-api.arcgis.com/arcgis/rest/services/Ocean/World_Ocean_Base/MapServer/tile/{z}/{y}/{x}?token={ACCESS_TOKEN}
https://ibasemaps-api.arcgis.com/arcgis/rest/services/Elevation/World_Hillshade/MapServer/tile/{z}/{y}/{x}?token={ACCESS_TOKEN}

 

 

ベクタータイル

 新しいベクター タイル スタイルにアクセスするには、以下のURLbasemapStyletype、トークン (API キーまたは OAuth 2.0 トークン) を指定します。type style に設定する必要があります。

 

https://basemaps-api.arcgis.com/arcgis/rest/services/styles/{basemapStyle}?type={type}&token={ACCESS_TOKEN}

 

 

サンプル

 

https://basemaps-api.arcgis.com/arcgis/rest/services/styles/ArcGIS:Navigation?type={type}&token={ACCESS_TOKEN}
https://basemaps-api.arcgis.com/arcgis/rest/services/styles/OSM:Standard?type={type}&token={ACCESS_TOKEN}
https://basemaps-api.arcgis.com/arcgis/rest/services/styles/ArcGIS:Streets?type={type}&token={ACCESS_TOKEN}
https://basemaps-api.arcgis.com/arcgis/rest/services/styles/ArcGIS:Imagery?type={type}&token={ACCESS_TOKEN}

 

 

Leaflet と Esri Leaflet のアプリをアップデートする方法

Leaflet アプリケーションを更新する最も簡単な方法は、Esri Leaflet プラグインを使用することです。Esri Leaflet CDN または npm パッケージと、Esri Leaflet Vector Plugin をロードする必要があります。

NOTE:L.Esri.BasemapLayer クラスで既に Esri Leaflet  を使用している場合、L.Esri.BasemapLayer クラスは非推奨のため、 L.esri.Vector.vectorBasemapLayer プラグインを使用する必要があります。

ライブラリがロードされた後、API キーを使用して、利用可能なすべてのベースマップ レイヤー スタイルにアクセスすることができます。 

詳細は、「Esri Leaflet とロケーション サービス開発者向けガイド」を参照してください。

 

サンプル

 

<script src="https://unpkg.com/esri-leaflet@3.0.3/dist/esri-leaflet.js"integrity="sha512-kuYkbOFCV/SsxrpmaCRMEFmqU08n6vc+TfAVlIKjR1BPVgt75pmtU9nbQll+4M9PN2tmZSAgD1kGUCKL88CscA=="crossorigin=""></script>
<script src="https://unpkg.com/esri-leaflet-vector@3.1.1/dist/esri-leaflet-vector.js"integrity="sha512-7rLAors9em7cR3/583gZSvu1mxwPBUjWjdFJ000pc4Wpu+fq84lXF1l4dbG4ShiPQ4pSBUTb4e9xaO6xtMZIlA=="crossorigin=""></script>
const apiKey = "YOUR_API_KEY";
const basemapEnum = "ArcGIS:Navigation";
const map = L.map('map', {
  minZoom: 2
}).setView([25,-10], 2); //Latitude, longitude
L.esri.Vector.vectorBasemapLayer(basemapEnum, {
  apiKey: apiKey
}).addTo(map);

 

 

Mapbox GL JS アプリをアップデートする方法

Mapbox GL JS の以前のバージョン(バージョン 1.x)を使用している場合、新しい ArcGIS ベースマップ レイヤー サービスに直接アクセスできます。古い URL エンドポイントを新しいベクター タイル レイヤーのエンドポイントに置き換え、API キーを含めます。

詳細は「Mapbox GL JS と ArcGIS ロケーション サービス ガイド」を参照してください。

 

サンプル

 

<script src="https://api.tiles.mapbox.com/mapbox-gl-js/v1.12.0/mapbox-gl.js"></script>
<link href="https://api.tiles.mapbox.com/mapbox-gl-js/v1.12.0/mapbox-gl.css" rel="stylesheet"/>
const apiKey = "YOUR_API_KEY";
const basemapEnum = "ArcGIS:Nova";  // Basemap layer style
const map = new mapboxgl.Map({
  container: "map", 
  style: `https://basemaps-api.arcgis.com/arcgis/rest/services/styles/${basemapEnum}?type=style&token=${apiKey}`,
  zoom: 1,
  center: [-5, 30] // [longitude, latitude]
});

 

 

OpenLayers アプリをアップデートする方法

TileLayer クラスまたは OL-Mapbox-Style ライブラリなどの他のプラグインで 、TileLayer 新しい URL エンドポイントに更新して API キーを使用します。

詳細は「OpenLayers と ArcGIS ロケーション サービス ガイド」を参照してください。

 

サンプル

 

<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/openlayers/openlayers.github.io@master/en/v6.7.0/css/ol.css" type="text/css" />
<script src="https://cdn.jsdelivr.net/gh/openlayers/openlayers.github.io@master/en/v6.7.0/build/ol.js"></script>
<script src="https://cdn.jsdelivr.net/npm/ol-mapbox-style@6.1.4/dist/olms.js"></script>
const apiKey = "YOUR_API_KEY";
const basemapId = "ArcGIS:Topographic";
const basemapURL = "https://basemaps-api.arcgis.com/arcgis/rest/services/styles/" + basemapId + "?type=style&token=" + apiKey;
olms(map, basemapURL); //OpenLayers Mapbox style

 

 

まとめ

従来の ArcGIS Online のタイル サービスは、しばらく前から、更新が終了しており、また Esri の利用規約に準拠するため、2022 年 4 月 30 日 まで新しい ArcGIS ベースマップ レイヤー サービスに更新する必要があります。

また、ジオコーディングやルーティングなど他の ArcGIS ロケーション サービスをオープンソースの API で使用することに興味がある場合は、マッピング API とロケーション サービスのガイドを参照してください。

 

■関連リンク

Labels (2)
Version history
Last update:
‎02-20-2022 09:24 PM
Updated by:
Contributors