-
-
Notifications
You must be signed in to change notification settings - Fork 55
Map data format
Maplatのマップデータフォーマットについて記載します。 Maplatには2種類の相互運用可能なデータフォーマットが存在します。
通常、マップデータはMaplatのルートフォルダ下に"maps"フォルダを作成し、その下に置かれます。
ファイル名は "マップID(一意なもの)".jsonです。
将来仕様で、"maps"フォルダ以外や別サーバなどにも置けるようにする予定です。
Maplatの標準データフォーマットです。 標準地図の座標と、古地図/絵地図の座標系の対で定義されているため、人間による手動でも編集可能なフォーマットです。
標準地図の座標としては、Webメルカトル図法座標系(SRID:3857)を想定していますが、原理的にはその他の座標系も利用可能です。
ただし明示的に示す機能は原状ついておりません。
また、変換計算の仕組み上、平面座標系でない座標系(例:Plate Caree, SRID:4326等)による指定はほぼ意味がありません。
属性中、gcps、width、heightは地図画像及び地図対応点を定義する属性ですが、その他の属性(title等)は地図のメタデータとなります。
メタデータの定義については流動的であり、今後大きく変化する可能性があります。
---
$schema: "http://json-schema.org/draft-04/schema#"
title: "Maplat Standard"
type: "object"
required: # 必須のプロパティを定義
- "title"
- "attr"
- "width"
- "height"
- "gcps"
properties:
title:
type: "string" # 地図タイトル
attr:
type: "string" # ビューア右下に表示される注記文字列
width:
type: "number" # オリジナル地図画像ピクセル幅
height:
type: "number" # オリジナル地図画像ピクセル高さ
year:
type: # 地図の作成された年代など
- "string"
- "number"
url: # 地図タイルが別サーバなどにある際、"http://example.com/{z}/{x}/{y}.jpg"のような形で指定します。
type: "string" # MaplatEditorでは現状未対応です。
gcps:
type: "array" # 1つ1つが標準地図座標と古地図/絵地図座標のセット
items:
type: "array" # 1つ目は絵地図/古地図側座標、2つ目は標準地図側座標
minItems: 2
maxItems: 2
items:
type: "number" # 1つ目はX座標/経度、2つ目はY座標/緯度
minItems: 2
maxItems: 2 -
i18n対応のため、現状
type: "string"で指定されている属性の構造が大きく変わる可能性があります。(Issue 116) - 現状アプリケーションデータ側で指定しているPOIの指定を、地図データ側でも行えるようにする予定があります。(Issue 118)
Maplatのコンパイル済データフォーマットです。
標準データフォーマットから、Maplatの変換処理に必要な変換計算などを事前に完了したフォーマットです。
MaplatEditorにて、「コンパイル済みフォーマット」にチェックを入れてデータセーブした場合、このフォーマットで記録されます(情報の損失なく相互運用可能なので、MaplatEditorで再度「コンパイル済みフォーマット」のチェックを外してセーブすると、標準フォーマットに戻せます)。
標準データフォーマットと比較して、gcps属性がなくなり、代わりにcompiled属性の下にコンパイル済のデータ構造が入ります。
compiled属性下のデータ構造は、人間系で編集されることを想定していないフォーマットのため(人間系で編集するとデータの一貫性が失われます)、今のところはスキーマを公開しません。
将来的に公開する可能性はあります。
相互運用可能なため、個々の地図で最適なフォーマットを選んでください。
現状で種々の地図をテストした経験則ですが、コンパイル済フォーマットがMB単位になる場合でも、コンパイル済みの方が体感速度が速いです。
- 人間系でも編集可能なため、簡単な手直しがし易い
- データサイズはコンパイル済フォーマット比較して小さい
- ビューアで読み込み後に変換用計算が走るため、対応点の多い地図だと表示が可能になるまで少し待たされる
- どんなに対応点の多い地図でも、読み込み直後に地図変換可能
- MaplatEditorを介さなければ事実上編集不可能
- データサイズが大きくなる。100倍以上になる場合も(数10KB => 数MB)