タイルレイヤー - HERE Vector Tile API
HERE Vector Tile APIのデータは、Mapzenによって開始されたTilezenオープンソースプロジェクトで指定された定義に従って、レイヤーで整理されます。HERE Vector Tile APIは、このレイヤー定義にいくつかの変更や簡素化を加えていますが、これらの変更はすべて後方互換性があり仕様に準拠しています。具体的には、必須プロパティと必要な値はすべて引き継がれています。HERE Vector Tile APIから一部の任意のプロパティを削除して、レイヤー構造をHERE Vector Tile API独自のデータと処理ロジックに適合させています。
以下のセクションに、レイヤー構造を理解するために必要なすべての情報を記載しています。HERE Vector Tile APIでは、元のレイヤー定義と同じ構造を使用して変更内容を見つけやすくし、Tilezenが最初に定式化したものと同じセマンティックバージョニングのステートメントに従っています。
地図にベクタータイルを表示する方法については、HERE Vector Tile APIを使用して、HERE Maps API for JavaScript、Mapbox、Tangramなどの好みのグラフィックライブラリでスタイルを設定する例を参照してください。
概要
データソースと属性
HERE Vector Tile APIは、HEREのデータを使用します。 詳細については、「必須の著作権表示」を参照してください。
タイルでのソース プロパティの使用
通常、source プロパティはすべてのタイルで省略されます。別途記載がない限り、値は here.com であると想定してください。
core 地図パラメーター内の世界の一部の地域 (日本など) にはこのプロパティが存在し、プロパティの値がデータ ソース プロバイダを示します。日本の場合、値は ipc です。
用語の定義
common- 通常、これらのレイヤー、プロパティ、種類はレスポンスのすべてのフィーチャーで使用できます。- フィーチャーの基本的な選択と、特定の名前の付いたレイヤーへのフィーチャーの配置を設定します。
- フィーチャーの表示とラベル付けに必要なコア プロパティ。
kind、kind_detail、landuse_kind、min_zoom、sort_rankなど、ベクター タイルのコンテンツを相互運用可能にする特殊ビット。name(ローカライズされた名前を含む) など、ほぼすべてのフィーチャーに含まれる基本的なプロパティ。
common-optional- これらは共通セットに含まれますが、関連性がないかデータがないために存在しない場合があります (主にフィーチャー プロパティですが、レイヤーの場合もあります)。- フィーチャーの選択を絞り込むために使用します。
- 元のデータ値に基づいて、わずかに変更を加えた相互運用可能なプロパティ。
populationなどの基本的なプロパティ。
optional- 特定のそれほど重要ではない kind のプロパティであるか、例外的に複数の kind にわたり広く存在します。- すでに表示用に選択されているフィーチャーを「装飾」するためによく使用されます。
フィーチャー名
ベクター タイルのほとんどのフィーチャーでは、次のような基本的な name プロパティがプロパティの common リストに含まれています。
name- 通常、フィーチャーの現地での呼び名です。現地言語で表記されます。
この定義では、いくつかの追加の名前関連プロパティ (optional) がサポートされています。
name:short- たとえば、カリフォルニア州はCAです。name:left- 境界の左側に表示される名前。name:right- 境界の右側に表示される名前。
一部のレイヤーでは name プロパティは任意と見なされます。たとえば、boundaries レイヤーのフィーチャーの場合、name の代わりに name:left プロパティと name:right プロパティを使用して、境界線の適切な側を指定してラベル付けします。
これにより、ラベル付けされたポリゴンのテキストが、一貫してそのポリゴンの内側に表示されるようになります。次の例は、左と右のプロパティの使用方法を示しています。この場合、boundaries レイヤーの国ラベルには次のようなものが含まれます。
kind : country
name:left : Қазақстан
name:right : Россияつまり、この特定の位置に関しては、現地言語を使用して地図をレンダリングする場合、境界の左側に「Қазақстан」、右側に「Россия」というラベルを付ける必要があります。
名前のローカリゼーション
HEREにはname:*値のすべての言語バリエーションが含まれており、利用可能な場合は完全なインターナショナリゼーションが可能です。
言語バリエーションはISO 639-1の2文字の言語コードと、任意でISO 15924の4文字のスクリプトコードで識別されます。たとえば、enは英語、zh-Hantは繁体字中国語です。 特殊なケースとしてlatinがあります。これは、ユーザーがラテン文字を使用する言語バリエーションをリクエストしたが、完全に一致するバリエーションが見つからなかった場合に使用されます。 そのため、ギリシャの場合は次のような形で表されます。
kind : country
name : Ελλάδα
name:latin : Greece
name:en : Greeceローカライズされた名前のプロパティ(common-optional)
common-optional)name:*- 言語コードで指定された言語でローカライズされたフィーチャーの名前(例:name:en : Germany)。name:en- フィーチャーの英語名。言語コードに基づいたデータがない場合は、既存の言語表現の英語/Latin文字変換からコンパイルされる可能性があります。name:left:*- 境界の左側に表示されるローカライズされた名前。name:right:*- 境界の右側に表示されるローカライズされた名前。translit:*- デフォルト名 (name) をローカライズした翻字。
ジオメトリータイプ
個々のベクタータイルレイヤーには、異なるジオメトリータイプを混在させることができます。これは landuse、water、buildings レイヤーで共通です。
タイル ジオメトリーは次の 3 つのタイプのいずれかになります。
point- ポイント、マルチポイントline- ラインストリング、マルチラインストリングpolygon- ポリゴン、マルチポリゴン
データの更新
ベクタータイルのコンテンツは定期的に更新されます。1日に複数回更新されることもあります。
ChangeLog
HEREベクタータイルレイヤー定義の現在のバージョンはv1.0.28です。 タイルは現在も開発されていますが、後方互換性のない重大な変更は最小限に抑えるように努めています。データモデルの仕様は「セマンティックバージョニングのステートメント」に掲載されています。 詳細については、Changelogを参照してください。
フィーチャーの順序
フィーチャーの順序は、どのフィーチャーを他のフィーチャーの上に表示するかを決定しますが、この順序が地図のレンダリング時に重要な問題になることがあります。一部のフィーチャーには sort_rank プロパティがあります。これは表示されるフィーチャーの順序を示すもので、地図のレンダリングに活用されます。数値が小さいほどフィーチャーが「後方」に表示され、数値が大きいほど「前方」に表示されます。これらの数値はレイヤー間で一貫しています。
フィーチャーに sort_rank が含まれるレイヤーは次のとおりです。
boundariesbuildingslanduseroadstransitwater
レイヤーのリファレンス
HEREには次の10種類のレイヤーが含まれます。
API を使用して base 地図パラメーター内でリクエストを行った場合、上記のすべてのレイヤーがタイルの一部としてレスポンスに含まれています。使用可能なエンドポイントとパラメーターの詳細については、Swagger の仕様を参照してください。
5 時間前の更新