Class GeoRegion

地理的空間を表現するクラス

経度、緯度、標高 それぞれ最小値、最大値によって定義される空間を表現します。 地理的空間を表現するほか、空間の拡張や結合などの操作をサポートします。

空間の状態は、空、全域、それ以外の3つのいずれかです。 is_empty, is_whole, is_longitude_whole により確認することができます。

経度の値は、次の条件を満たすように保持されます。

  • min_lon < max_lon
  • max_lon - min_lon <= 360

min_lon, max_lon それぞれの値は -180 〜 180 でない可能性がある点に注意してください。

経度値の計算方法について、東経180°と西経180°が同一の点となるため、拡張や結合を行う際に特別な計算お行います。 拡張や結合を行う際はできるだけ拡張量が小さくなるように拡張されます。 例えば、東経170°付近の空間に、西経170°(-170)付近の点を含むように拡張する場合、 計算結果の経度領域が -170°〜170° ではなく 170° 〜 190° になります。

Constructors

Properties

_max_alt: number = 0
_max_lat: number = 0
_max_lon: number = 0
_min_alt: number = 0
_min_lat: number = 0
_min_lon: number = 0
_status: Status = Status.EMPTY

Accessors

Methods

  • Pointを追加

    • 条件 this._min_lon < this._max_lon

    • 条件 this._max_lon - this._min_lon <= 360

    Parameters

    • lon: number

      地理空間位置 longitude

    • lat: number

      地理空間位置 latitude

    • Optional alt: number

      地理空間位置 altitude

    Returns void

  • base_lon より右となる最小の longitude を算出

    Parameters

    • base_lon: number

      基準となるlongitude

    • lon: number

      確認したいlongitude

    Returns number

    最小longitude

  • 経度方向について全領域に設定します(経度方向の値のみ更新されます)。 Empty 時にこの関数が呼ばれた際に、緯度が 0 になるため混乱を防ぐため非公開とする。 この関数を使う場合は latitude も指定すること(標高はデフォルト値0が代入されても良いと思われる)。

    Returns void

  • PointArrayを追加

    Parameters

    • pointsArray: number[] | Float64Array

      地理空間位置Array

    Returns void

  • RegionのLatitude方向 の地表面距離を算出

    Returns null | number

    Latitude方向の地表面距離

  • RegionのLongitude方向 の地表面距離を算出

    Returns null | number

    Longitude方向の地表面距離

  • Region内の任意点の取得

    • center ( 0.5, 0.5 )
    • east ( 1, 0.5 )
    • west ( 0, 0.5 )
    • north ( 0.5, 1 )
    • south ( 0.5, 0 )
    • northEast ( 1, 1 )
    • southWest ( 0, 0 )

    Parameters

    • lon_pos: number

      longitude位置割合

    • lat_pos: number

      latitude位置割合

    • alt_pos: number = 0

      anlitude位置割合

    Returns null | GeoPoint

    GeoPoint

  • 水平方向について全領域に設定します。

    Parameters

    • Optional vertical_region: [min_alt: number, max_alt: number]

    Returns void