本文へスキップ

struct_WebMercator12


title: struct WebMercator12 toc_max_heading_level: 4


struct WebMercator12

(Niantic.Lightship.Maps.Core.Coordinates.WebMercator12)

概要

ズームレベル12のWebメルカトル座標で地表の位置を指定するタイプ: https://en.wikipedia.org/wiki/Web_Mercator_projection

struct WebMercator12 {
// フィールド

static const int ZOOM_LEVEL = 12;
static const int MIN_TILE_COORD = 0;
static const int MAX_TILE_COORD =(1<<ZOOM_LEVEL) - 1;
static const double MIN_LATITUDE_DEGREES = Mercator.MIN_LATITUDE_DEGREES;
static const double MAX_LATITUDE_DEGREES = Mercator.MAX_LATITUDE_DEGREES;
readonly double East;
readonly double North;
readonly double Elevation;

// メソッド

WebMercator12(in Vector3D vec3);
WebMercator12(Vector3 vec3);
WebMercator12(double east, double elevation, double north);
Vector3D ToVector3D();
LatLng ToLatLng();
override string ToString();
static double WrapLongitudeDegrees(double longitudeDegrees);
static double ClampLatitudeDegrees(double latitudeDegrees);
static double WrapLongitudeCoord(double longitudeCoord);
static double ClampLatitudeCoord(double latitudeCoord);
static int WrapLongitudeCoord(int longitudeCoord);
static int ClampLatitudeCoord(int latitudeCoord);
static double FromLongitude(double longitudeDegrees);
static double FromLatitude(double latitudeDegrees);
static double ToLatitude(double latitudeCoord);
static double ToLongitude(double x);
static double GetMetersPerUnit(double latitudeDegrees);
};

詳細なドキュメント

ズームレベル12のWebメルカトル座標で地表の位置を指定するタイプ: https://en.wikipedia.org/wiki/Web_Mercator_projection

東: 経度が-180のマップを0にします。 経度180のマップを4095にします。

北: 緯度が-85のマップを0にします。 経度85のマップを4095にします。

フィールド

ZOOM_LEVEL

static const int ZOOM_LEVEL = 12

WebMercator12 座標のズームレベル(12)

MIN_TILE_COORD

static const int MIN_TILE_COORD = 0

タイル座標の最小値

MAX_TILE_COORD

static const int MAX_TILE_COORD =(1<<ZOOM_LEVEL) - 1

タイル座標の最大値

MIN_LATITUDE_DEGREES

static const double MIN_LATITUDE_DEGREES = Mercator.MIN_LATITUDE_DEGREES

投影でサポートされている最小緯度(度)

MAX_LATITUDE_DEGREES

static const double MAX_LATITUDE_DEGREES = Mercator.MAX_LATITUDE_DEGREES

投影でサポートされている最大緯度(度)

East

readonly double East

東にまっすぐ進む

North

readonly double North

北にまっすぐ進む

Elevation

readonly double Elevation

まっすぐ進む(メートル)

メソッド

WebMercator12

WebMercator12(in Vector3D vec3)

Vector3(double型)から WebMercator12 座標を作成します(x -> east y -> north z -> up)。

    パラメーター

    vec3 -

WebMercator12

WebMercator12(Vector3 vec3)

Vector3(float型)から WebMercator12 座標を作成します(x -> east y -> north z -> up)。

    パラメーター

    vec3 -

WebMercator12

WebMercator12(double east, double elevation, double north)

北、東、標高から WebMercator12 座標を作成します。

    パラメーター

    east -

    elevation -

    north -

ToVector3D

Vector3D ToVector3D()

Vector3D に変換します(east -> x north -> y up -> z)。

    次の値が返ります。

ToLatLng

LatLng ToLatLng()

WebMercator12 座標の位置を LatLng に変換します。

    次の値が返ります。

    WebMercator12 の現在地

WrapLongitudeDegrees

static double WrapLongitudeDegrees(double longitudeDegrees)

経度が LatLng.MIN_LONGITUDE_DEGREESLatLng.MAX_LONGITUDE_DEGREES で定義された範囲外の場合に、経度(度)をラップします。

    パラメーター

    longitudeDegrees - ラップする経度

    次の値が返ります。

    経度の有効範囲内に収まるように、地球の周りを一周する経度。

ClampLatitudeDegrees

static double ClampLatitudeDegrees(double latitudeDegrees)

緯度(度)が最小値より小さい場合は MIN_LATITUDE_DEGREES に、最大値より大きい場合は MAX_LATITUDE_DEGREES に固定(クランプ)します。

    パラメーター

    latitudeDegrees - クランプする緯度

    次の値が返ります。

    緯度:最小値または最大値の範囲内にクランプされます

WrapLongitudeCoord

static double WrapLongitudeCoord(double longitudeCoord)

経度が MIN_TILE_COORDMAX_TILE_COORD で定義された範囲外の場合に、経度(タイル座標)をラップします。

    パラメーター

    longitudeCoord - ラップする経度

    次の値が返ります。

    経度の有効範囲内に収まるように、地球の周りを一周する経度。

ClampLatitudeCoord

static double ClampLatitudeCoord(double latitudeCoord)

緯度(タイル座標)が最小値より小さい場合は MIN_TILE_COORD に、最大値より大きい場合は MAX_TILE_COORD にクランプします。

    パラメーター

    latitudeCoord - クランプする緯度

    次の値が返ります。

    緯度:最小値または最大値の範囲内にクランプされます

WrapLongitudeCoord

static int WrapLongitudeCoord(int longitudeCoord)

経度が MIN_TILE_COORDMAX_TILE_COORD で定義された範囲外の場合に、経度(タイル座標)をラップします。

    パラメーター

    longitudeCoord - ラップする経度

    次の値が返ります。

    経度の有効範囲内に収まるように、地球の周りを一周する経度。

ClampLatitudeCoord

static int ClampLatitudeCoord(int latitudeCoord)

緯度(タイル座標)が最小値より小さい場合は MIN_TILE_COORD に、最大値より大きい場合は MAX_TILE_COORD にクランプします。

    パラメーター

    latitudeCoord - クランプする緯度

    次の値が返ります。

    緯度:最小値または最大値の範囲内にクランプされます

FromLongitude

static double FromLongitude(double longitudeDegrees)

経度を度からタイル座標に変換します。

    パラメーター

    longitudeDegrees -

    次の値が返ります。

FromLatitude

static double FromLatitude(double latitudeDegrees)

緯度を度からタイル座標に変換します。

    パラメーター

    latitudeDegrees -

    次の値が返ります。

ToLatitude

static double ToLatitude(double latitudeCoord)

緯度をタイル座標から度に変換します。

    パラメーター

    latitudeCoord -

    次の値が返ります。

ToLongitude

static double ToLongitude(double x)

経度をタイル座標から度に変換します。

    パラメーター

    x -

    次の値が返ります。

GetMetersPerUnit

static double GetMetersPerUnit(double latitudeDegrees)

Webメルカトルの12単位に対するメートルの比率が返ります(Webメルカトルの距離は両極に向かって伸びる)

    パラメーター

    latitudeDegrees - 緯度(度)