Skip to content

spatial-id/spatial-object-model-specification

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 

Repository files navigation

Spatial Object Model (仕様のドラフト)

SOM (Spatial Object Model) Core

空間オブジェクトは以下のようなインターフェスをもつこと。

interface SOM {
  id                 ID;
  center             An array of the lnglat;
  resolution:        The zoom level;
  zfxy:              The ZFXY.
}

コンストラクタ

  • 空間ID、緯度経度及び高度、ZFXYのいずれかを引数として受け取り空間オブジェクトを返す。引数が指定されていない場合は /0/0/0/0 の空間オブジェクトを返す。

Methods

.getSpaceById()

  • ID を引数として受け取り空間オブジェクトを返す。

.getSpaceByLocation()

  • 緯度経度及び高度を引数として受け取り空間オブジェクトを返す。

.getSpaceByZFXY()

  • ZFXY を引数として受け取り空間オブジェクトを返す。

.up()

up

  • パラメータがない場合は、現在の空間オブジェクトのひとつ上の空間オブジェクトを返す。
  • パラメータが指定されている場合は、その個数分の空間オブジェクトを配列で返す(?)
  • マイナスも受け付けられるといい。
  • メートルで指定できるといいかも(?)

.down()

down

  • パラメータがない場合は現在の空間オブジェクトのひとつ下の空間オブジェクトを返す。
  • パラメータが指定されている場合は、その個数分の空間オブジェクトを配列で返す(?)
  • マイナスも受け付けられるといい。
  • メートルで指定できるといいかも(?)

.north(), .east(), south(), .west()

north

  • パラメータがない場合は、現在の空間オブジェクトの隣のオブジェクトを返す。
  • パラメータが指定されている場合は、その個数分の空間オブジェクトを配列で返す(?)
  • マイナスも受け付けられるといい。
  • メートルで指定できるといいかも(?)

.surroundings()

surroundings

  • 現在の空間オブジェクトのまわりにあるすべての空間オブジェクトを配列で返す。

.parent()

  • 現在の空間オブジェクトから、分解能(ズームレベル)を一つ下げて、その空間オブジェクトを返す。

.children()

  • 現在の空間オブジェクトから、分解能(ズームレベル)を一つ上げて、そこに含まれるすべての空間オブジェクトを返す。

.contains()

  • 指定された緯度経度が、指定されたボクセル内に含まれるかどうかを判定して bool 値を返す。

.vertices3d()

  • 現在の空間オブジェクトの3Dバウンディングボックスを作る8点の座標を配列として返す。

参考: NodeJS ベースの SDK (があると仮定して)での実装例

const space = new Space(12345678) // 空間ID、緯度経度及び高度、ZFXYのいずれか

// 南へ一つ、上へひとつ、東へひとつ移動したあとで、そこにスカイツリーの頂上があるかどうかを判定する。
const result = space.south().up().east().contains({lng: 139.81088744999997, lat: 35.71027146141545, alt: 634})

About

A draft of a draft of the 3D Spatial ID object model

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •