出典:Mapping APIs and location services - Basemaps
ベースマップはベースマップ レイヤーとも呼ばれ、マップとシーンの全体的なビジュアルを提供するレイヤーです。ベースマップには通常は大陸、湖沼、行政境界、道路、都市、地名などの地理的な特徴やラベルが含まれます。ベースマップの最も一般的なデータ ソースは、ベースマップ スタイル サービスとデータ サービス です。
ベースマップ レイヤーを使って以下のようなことができます。
ベースマップ レイヤーは、マッピング アプリケーションの視覚的な基礎を提供します。ベースマップ レイヤーは、一般的にグローバルなデータを含み、マップやシーンに追加される最初のレイヤーです。マップを表示する場合、ベースマップ レイヤーが最初に描画され、次にデータ レイヤー、グラフィックス レイヤーの順に描画されます。
ほとんどの場合、アプリケーションはフィーチャの選択やポップアップの表示など、ベースマップ レイヤーとのやり取りを許可していません。ベースマップ レイヤーの上にあるデータレイヤーを使用してマップ内のフィーチャを表示して、フィーチャ内のデータにアクセスできます。
ベースマップの一般的なデータ ソースは、ベースマップ スタイル サービスとデータ サービスの 2 つです。
ベースマップ スタイル サービスは、世界中のベースマップ スタイルとデータを提供するロケーション サービスです。各ベースマップ スタイルには、地理的なフィーチャとラベルの視覚的なプロパティに固有のセットがあります。このサービスには ArcGIS と OSM の 2 つのデータ プロバイダが含まれます。データ プロバイダは、streets、navigation、light gray canvas、imagery などのデフォルトのベースマップ スタイルをサポートしています。各スタイルのデータは、ArcGIS でホストされているベクター タイル レイヤーとマップ タイル レイヤーを通じて提供され、Web メルカトル空間参照に格納されます。
世界中のあらゆる場所の地理的特徴やラベルを表示するロケーション サービスを使用する場合や、独自のカスタム ベースマップ スタイルを作成する場合は、ベースマップ スタイル サービスを使用してください。このサービスでは、場所、ローカル言語、worldview を表示することもできます。
ベースマップ スタイル サービスを利用するための一般的な手順は以下の通りです。
ベースマップ スタイル サービスで使用できるデフォルトのベースマップ スタイルを確認します。
サービス、データ プロバイダ、スタイルを参照します
ベースマップを表示します
ArcGIS Maps SDKs は、各スタイルにアクセスするための列挙型またはヘルパークラスを提供します。ただし、オープン ソース ライブラリを使用する場合は、ベースマップ スタイル サービスまたは基礎となるベクター タイル レイヤーまたはマップ タイル レイヤーを直接参照する必要があります。
from arcgis import GIS
gis = GIS(api_key="YOUR_API_KEY")
map = gis.map()
map.basemap = "streets-navigation-vector"
ベースマップ スタイル サービスを使用する方法を学ぶにはベースマップ スタイルの表示、ローカライズされた地名ラベルの表示、worldview の表示を参照してください。地点の表示について学ぶ方法は Basemap places を参照してください。
REST API : さまざまなスタイルと機能の詳細についてはベースマップ スタイル サービス (v2) を参照してください。
フィーチャ サービス、ベクター タイル サービス、マップタイル サービスなどのデータ サービスは、ArcGIS Online または ArcGIS Enterprise でホストされているサービスで、お客様のデータを含んでいます。ほとんどの場合、クライアント API でサポートされているデータ サービスは、ベースマップのデータ ソースとして使用できます。データ サービスは、ArcGIS のホスト レイヤー (アイテム) でアクセスおよび管理できます。
ArcGIS Online または ArcGIS Enterprise でホストされている既存のデータ サービスまたは独自のホスト型データ サービスを使用する場合は、データ サービスを使用します。また、Web メルカトル以外の空間参照を必要とする小規模な地域やエリアのデータを表示する場合にも使用します。
データ サービスを利用するための一般的な手順は以下の通りです。
4d9fb5c0a6344407aec56f47a11482b5
ArcGIS Maps SDKs は、ホスト レイヤーのアイテム ID またはサービス URL を使用してデータ サービスにアクセスします。一方、オープンソース ライブラリは、サービス URL を使用してデータ サービスにアクセスします。
const featureLayer = new FeatureLayer({
portalItem: {
id: "4d9fb5c0a6344407aec56f47a11482b5" // ArcGIS Online 上の State Geologic Map Compilation – Geology を参照
}
});
const basemap = new Basemap({
baseLayers: [featureLayer]
});
ベースマップ用のホスト レイヤーとデータ サービスを使用する方法については、ホスト レイヤー (データ サービス) の表示を参照してください。
ベースマップ用に独自のサービスを作成する方法については、Data services > Introduction を参照してください。
この例では、ベースマップのデータ ソースとしてベースマップ スタイル サービスを使用する方法を示します。そのためには、デフォルトのベースマップ スタイルの 1 つを使用します。表示可能なベースマップについては、ベースマップ スタイル (v2) を参照してください。
from arcgis.gis import GIS
gis = GIS(api_key="YOUR_API_KEY")
map = gis.map()
map.basemap = "streets-vector"
# map.basemap = "streets-navigation-vector"
# map.basemap = "topo-vector"
# map.basemap = "gray-vector"
# map.basemap = "satellite"
map.center = [35.25615700207951, 139.15502776889684]
map.zoom = 13
map
ベースマップ スタイル サービスはデフォルトで英語のラベルを表示します。以下の例では、ローカライズされた言語ベースの地名ラベルで OSM スタイルを表示する方法を示します。
language
パラメーターに言語コードを設定します。この例では、arcgis/light-gray
のマップ スタイルを使用します。デフォルトでは地名ラベルはグローバルな地名を表示します。ローカライズされた地名ラベルをレンダリングするには、language
パラメーターを local
に設定します。ローカライズされたラベルはズームレベル 10 以降でレンダリングされます。
const apiKey = "YOUR_API_KEY";
const map = L.map("map").setView([35.67255187657312, 139.76323442958844], 14);
L.esri.Vector.vectorBasemapLayer("arcgis/light-gray", {
apikey: apiKey,
language: 'local',
version: 2
}).addTo(map);
この例では、arcgis/dark-gray
マップ スタイルを使用しています。language
パラメーターに言語コード (ここでは ja
) を設定し、全てのズームレベルで地名ラベルがすべて日本語で表示されるようにしています。
const apiKey = "YOUR_API_KEY";
const map = L.map("map").setView([2.35, 48.856], 6);
L.esri.Vector.vectorBasemapLayer("arcgis/dark-gray", {
apikey: apiKey,
language: 'ja',
version: 2
}).addTo(map);
ベースマップ スタイル サービスは、デフォルトのグローバルな worldview を使用して、国の境界線とラベルを表示します。この例では、ある国の特定のビューに基づいてベースマップの境界線とラベルを表示する方法を示します。 worldview は、navigation
、streets
、community
など一部の ArcGIS ベースマップ スタイルでのみ使用できます。OSM スタイルはサポートされていません。
特定の worlview を選択した場合、その国以外の国際的な方針ではないことに注意してください。
worldview
パラメーターに設定します。この例では、 arcgis/light-gray
のマップ スタイルを使用し、境界線とラベルの worldview
を morocco
に設定しています。すべての worldview
オプションを見るには、ベースマップ スタイル サービス (v2) をご覧ください。
const worldView = "morocco" // モロッコの worldview を指定
const map = new maplibregl.Map({
container: "map", // div 要素の ID
style: `https://basemapstyles-api.arcgis.com/arcgis/rest/services/styles/v2/styles/arcgis/light-gray?token=${apiKey}&worldview=${worldView}`,
zoom: 3,
center: [-7.09, 31], // 初期位置 [経度, 緯度]
})
この例では、ベースマップのデータ ソースとして ArcGIS のデータ サービスを使用する方法を示します。データはアメリカ全土の地質を示すホスト フィーチャ レイヤーです。データ サービスを利用するためには、ホスト レイヤーのアイテム ID を参照する必要があります。
const featureLayer = new FeatureLayer({
portalItem: {
id: "4d9fb5c0a6344407aec56f47a11482b5" // ArcGIS Online 上の State Geologic Map Compilation – Geology を参照
}
});
const basemap = new Basemap({
baseLayers: [featureLayer]
});