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_DEGREES と LatLng.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_COORD と MAX_TILE_COORD で定義された範囲外の場合に、経度(タイル座標)をラップします。
パラメーター:
longitudeCoord
- ラップする経度
次の値が返ります。
経度の有効範囲内に収まるように、地球の周りを一周する経度。
ClampLatitudeCoord
static double ClampLatitudeCoord(double latitudeCoord)
緯度(タイル座標)が最小値より小さい場合は MIN_TILE_COORD に、最大値より大きい場合は MAX_TILE_COORD にクランプします。
パラメーター:
latitudeCoord
- クランプする緯度
次の値が返ります。
緯度:最小値または最大値の範囲内にクランプされます
WrapLongitudeCoord
static int WrapLongitudeCoord(int longitudeCoord)
経度が MIN_TILE_COORD と MAX_TILE_COORD で定義された範囲外の場合に、経度(タイル座標)をラップします。
パラメーター:
longitudeCoord
- ラップする経度
次の値が返ります。
経度の有効範囲内に収まるように、地球の周りを一周する経度。
ClampLatitudeCoord
static int ClampLatitudeCoord(int latitudeCoord)