holoride
Search Results for

    Show / Hide Table of Contents

    Struct GeoCoordinate

    Stores latitude, longitude and altitude of a geo coordinate and performs conversion to cartesian.

    Namespace: Holoride.ElasticSDK
    Assembly: Holoride.ElasticSDK.Library.Runtime.dll
    Syntax
    [Serializable]
    public struct GeoCoordinate

    Constructors

    GeoCoordinate(GlobalPosition, GeoCoordinate)

    Initializes a new instance of the GeoCoordinate class from a vector3 unity position and a predefined world pivot.

    Declaration
    public GeoCoordinate(GlobalPosition vector, GeoCoordinate pivot)
    Parameters
    Type Name Description
    GlobalPosition vector

    A double precision vector in Unity coordinates.

    GeoCoordinate pivot

    The pivot of the grid containing the specified position.

    GeoCoordinate(double, double, double)

    Initializes a new instance of the GeoCoordinate class.

    Declaration
    public GeoCoordinate(double latitude, double longitude, double altitude = 0)
    Parameters
    Type Name Description
    double latitude

    The coordinate's latitude in degrees.

    double longitude

    The coordinate's longitude in degrees.

    double altitude

    The coordinate's altitude in meters.

    GeoCoordinate(Vector2, GeoCoordinate)

    Initializes a new instance of the GeoCoordinate class from a vector2 unity position and a pivot point geoCoordinate.

    Declaration
    public GeoCoordinate(Vector2 vector, GeoCoordinate pivot)
    Parameters
    Type Name Description
    Vector2 vector

    A unity position vector interpreted as NED.

    GeoCoordinate pivot

    The pivot point geoCoordinate.

    GeoCoordinate(Vector3, GeoCoordinate)

    Initializes a new instance of the GeoCoordinate class from a vector3 unity position and a pivot point geoCoordinate.

    Declaration
    public GeoCoordinate(Vector3 vector, GeoCoordinate pivot)
    Parameters
    Type Name Description
    Vector3 vector

    A unity position vector interpreted as NED.

    GeoCoordinate pivot

    The pivot point geoCoordinate.

    Fields

    Altitude

    The coordinate's altitude in meters.

    Declaration
    public double Altitude
    Field Value
    Type Description
    double

    Latitude

    The coordinate's latitude in degrees.

    Declaration
    public double Latitude
    Field Value
    Type Description
    double

    Longitude

    The coordinate's longitude in degrees.

    Declaration
    public double Longitude
    Field Value
    Type Description
    double

    MajorEarthRadius

    The earth radius.

    Declaration
    public static double MajorEarthRadius
    Field Value
    Type Description
    double

    Methods

    AzimuthTo(GeoCoordinate, GeoCoordinate)

    Calculates the azimuth, i.e. horizontal angle measured clockwise by degrees between the north and the direction towards the target location starting from the passed start location.

    Declaration
    public static double AzimuthTo(GeoCoordinate start, GeoCoordinate target)
    Parameters
    Type Name Description
    GeoCoordinate start

    The location from which the azimuth will be calculated.

    GeoCoordinate target

    The location to which the azimuth will be calculated.

    Returns
    Type Description
    double

    The angle in degrees between north and the direction towards the passed target as seen from the passed start location.

    AzimuthTo(GeoCoordinate)

    Calculates the azimuth, i.e. horizontal angle measured clockwise by degrees between north and the direction towards the target location starting from the this location.

    Declaration
    public double AzimuthTo(GeoCoordinate target)
    Parameters
    Type Name Description
    GeoCoordinate target

    The location to which the azimuth will be calculated.

    Returns
    Type Description
    double

    The angle in degrees between north and the direction towards the passed target as seen from this location.

    Equals(GeoCoordinate)

    Indicates whether the current object is equal to another object of the same type.

    Declaration
    public bool Equals(GeoCoordinate other)
    Parameters
    Type Name Description
    GeoCoordinate other

    An object to compare with this object.

    Returns
    Type Description
    bool

    true if the current object is equal to the other parameter; otherwise, false.

    Equals(object)

    Determines whether the specified object is equal to the current object.

    Declaration
    public override bool Equals(object obj)
    Parameters
    Type Name Description
    object obj

    The object to compare with the current object.

    Returns
    Type Description
    bool

    true if the specified object is equal to the current object; otherwise, false.

    Overrides
    ValueType.Equals(Object)

    GetHashCode()

    Serves as the default hash function.

    Declaration
    public override int GetHashCode()
    Returns
    Type Description
    int

    A hash code for the current object.

    Overrides
    ValueType.GetHashCode()

    HaversineDistance(GeoCoordinate)

    Returns the shortest distance between two GeoCoordinates on the earth in meters.

    Declaration
    public double HaversineDistance(GeoCoordinate to)
    Parameters
    Type Name Description
    GeoCoordinate to

    The distance of this location to the passed location.

    Returns
    Type Description
    double

    The shortest distance between the two locations on the earth in meters.

    LatitudeToYTile(double, int)

    Calculates the tile coordinate for a given latitude and a zoom level.

    Declaration
    public static double LatitudeToYTile(double latitude, int zoom)
    Parameters
    Type Name Description
    double latitude

    The latitude.

    int zoom

    The zoom level.

    Returns
    Type Description
    double

    The tile value of a latitude.

    LLHToXYZ(GeoCoordinate)

    Transforms geoCoordinates to ECEF (WGS84) cartesian coordinates.

    Declaration
    public static GlobalPosition LLHToXYZ(GeoCoordinate geoCoordinate)
    Parameters
    Type Name Description
    GeoCoordinate geoCoordinate

    The geoCoordinate to transform.

    Returns
    Type Description
    GlobalPosition

    The ECEF (WGS84) cartesian coordinate.

    LongitudeToXTile(double, int)

    Calculates the tile coordinate for a given longitude and a zoom level.

    Declaration
    public static double LongitudeToXTile(double longitude, int zoom)
    Parameters
    Type Name Description
    double longitude

    The longitude.

    int zoom

    The zoom level.

    Returns
    Type Description
    double

    The tile value of a longitude.

    MaximumTileExtents(int)

    Calculates maximum extents a tile has at a given zoom.

    Declaration
    public static double MaximumTileExtents(int zoom)
    Parameters
    Type Name Description
    int zoom

    The zoom level.

    Returns
    Type Description
    double

    The maximum tile extents.

    NEDToXYZ(GlobalPosition, GeoCoordinate)

    Transforms local ned-coordinates to ECEF (WGS84) cartesian coordinates with a given pivot. See https://en.wikipedia.org/wiki/North_east_down.

    Declaration
    public static GlobalPosition NEDToXYZ(GlobalPosition ned, GeoCoordinate pivotLLH)
    Parameters
    Type Name Description
    GlobalPosition ned

    The nec-coordinates to transform.

    GeoCoordinate pivotLLH

    The pivot geoCoordinate.

    Returns
    Type Description
    GlobalPosition

    The ECEF (WGS84) cartesian coordinate.

    TileBounds(Vector2Int, int, out double, out double, out double, out double)

    Computes the outer latitude-longitude-bounds of a tile.

    Declaration
    public static void TileBounds(Vector2Int globalTilePosition, int zoom, out double longitudeMin, out double longitudeMax, out double latitudeMin, out double latitudeMax)
    Parameters
    Type Name Description
    Vector2Int globalTilePosition

    The global tile position.

    int zoom

    The zoom level.

    double longitudeMin

    The resulting minimum longitude.

    double longitudeMax

    The resulting maximum longitude.

    double latitudeMin

    The resulting minimum latitude.

    double latitudeMax

    The resulting maximum latitude.

    TileToGeoCoordinate(Vector2Int, int)

    Calculates the GeoCoordinate for a given global tile position and zoom level.

    Declaration
    public static GeoCoordinate TileToGeoCoordinate(Vector2Int globalTilePosition, int zoomLevel)
    Parameters
    Type Name Description
    Vector2Int globalTilePosition

    The tile position.

    int zoomLevel

    The zoom level of the tile position.

    Returns
    Type Description
    GeoCoordinate

    The GeoCoordinate of the tile position.

    ToCartesian(GeoCoordinate)

    Gets the cartesian representation of the coordinate relative to the pivot.

    Declaration
    public Vector3 ToCartesian(GeoCoordinate pivot)
    Parameters
    Type Name Description
    GeoCoordinate pivot

    The pivot point geoCoordinate.

    Returns
    Type Description
    Vector3

    The NED cartesian representation of this geoCoordinate. in shifted space.

    ToCartesian2D(GeoCoordinate)

    Gets the cartesian representation of the coordinate relative to the pivot as a Vector2D.

    Declaration
    public Vector2 ToCartesian2D(GeoCoordinate pivot)
    Parameters
    Type Name Description
    GeoCoordinate pivot

    The pivot point geoCoordinate.

    Returns
    Type Description
    Vector2

    The NED cartesian representation of this geoCoordinate as a Vector2D.

    ToCartesianDouble(GeoCoordinate)

    Gets the cartesian representation of the coordinate in world scale. As this representation is not pinned to a pivot, it has to support double precision to make sense.

    Declaration
    public readonly GlobalPosition ToCartesianDouble(GeoCoordinate pivot)
    Parameters
    Type Name Description
    GeoCoordinate pivot

    The pivot point geoCoordinate.

    Returns
    Type Description
    GlobalPosition

    The NED cartesian representation of this geoCoordinate.

    ToString()

    Returns a string that represents the current object.

    Declaration
    public override string ToString()
    Returns
    Type Description
    string

    A string that represents the current object.

    Overrides
    ValueType.ToString()

    ToTileCoord(int)

    Converts a GeoCoordinate to a float tile position based on a given zoom level.

    Declaration
    public Vector2 ToTileCoord(int zoom)
    Parameters
    Type Name Description
    int zoom

    The zoom level.

    Returns
    Type Description
    Vector2

    The tile coordinate as Vector2.

    Remarks

    See https://wiki.openstreetmap.org/wiki/Slippy_map_tilenames#C.23.

    ToTilePos(int, out Vector2)

    Converts a GeoCoordinate to an integer tile position based on a given zoom level. Also writes the exact uv-coordinates of the GeoCoordinate on the tile in an out parameter as Vector2.

    Declaration
    public Vector2Int ToTilePos(int zoom, out Vector2 uv)
    Parameters
    Type Name Description
    int zoom

    The zoom level.

    Vector2 uv

    Out parameter for the UV-Coordinates.

    Returns
    Type Description
    Vector2Int

    The tile position as Vector2Int.

    Remarks

    See https://wiki.openstreetmap.org/wiki/Slippy_map_tilenames#C.23.

    ToTilePos(int)

    Converts a GeoCoordinate to an integer tile position based on a given zoom level.

    Declaration
    public Vector2Int ToTilePos(int zoom)
    Parameters
    Type Name Description
    int zoom

    The zoom level.

    Returns
    Type Description
    Vector2Int

    The tile position as Vector2Int.

    Remarks

    See https://wiki.openstreetmap.org/wiki/Slippy_map_tilenames#C.23.

    XTileToLongitude(int, int)

    Calculates the longitude for a given tile coordinate and a zoom level.

    Declaration
    public static double XTileToLongitude(int xTile, int zoom)
    Parameters
    Type Name Description
    int xTile

    The tile's x coordinate.

    int zoom

    The zoom level.

    Returns
    Type Description
    double

    The longitude value of a tile.

    XYZToLLH(GlobalPosition, out GeoCoordinate)

    Transforms ECEF (WGS84) cartesian coordinates to geoCoordinates.

    Declaration
    public static bool XYZToLLH(GlobalPosition position, out GeoCoordinate result)
    Parameters
    Type Name Description
    GlobalPosition position

    The given ECEF (WGS84) cartesian coordinate.

    GeoCoordinate result

    The resulting geo-coordinate.

    Returns
    Type Description
    bool

    XYZToNED(GlobalPosition, GeoCoordinate)

    Transforms ECEF (WGS84) cartesian coordinates to local ned-coordinates with a given pivot. See https://en.wikipedia.org/wiki/North_east_down.

    Declaration
    public static GlobalPosition XYZToNED(GlobalPosition xyz, GeoCoordinate pivotLLH)
    Parameters
    Type Name Description
    GlobalPosition xyz

    The ECEF (WGS84) cartesian coordinates to transform.

    GeoCoordinate pivotLLH

    The pivot geoCoordinate.

    Returns
    Type Description
    GlobalPosition

    The ned-coordinates.

    YTileToLatitude(int, int)

    Calculates the latitude for a given tile coordinate and a zoom level.

    Declaration
    public static double YTileToLatitude(int yTile, int zoom)
    Parameters
    Type Name Description
    int yTile

    The tile's y coordinate.

    int zoom

    The zoom level.

    Returns
    Type Description
    double

    The latitude of a tile.

    Operators

    operator ==(GeoCoordinate, GeoCoordinate)

    Declaration
    public static bool operator ==(GeoCoordinate left, GeoCoordinate right)
    Parameters
    Type Name Description
    GeoCoordinate left
    GeoCoordinate right
    Returns
    Type Description
    bool

    operator !=(GeoCoordinate, GeoCoordinate)

    Declaration
    public static bool operator !=(GeoCoordinate left, GeoCoordinate right)
    Parameters
    Type Name Description
    GeoCoordinate left
    GeoCoordinate right
    Returns
    Type Description
    bool
    In This Article

    Back to top
    ©   holoride
    Privacy   Imprint