Skip to main content

Coordinates

wemap-sdk-js


Class: Coordinates

A Coordinates position using at least latitude (lat) and longitude (lng). Optionnal fields are: altitude (alt) and level.

Basic geo methods are directly accessibles from here: distanceTo, bearingTo, toEcef...

/!\ This class has been adapted to use earth as a sphere and not as an ellipsoid /!\ So, this class does not stricly represent WGS84 coordinates anymore /!\ This modifications have been made for computational improvements.

Extended by​

Constructors​

Constructor​

new Coordinates(lat, lng, alt?, level?): Coordinates

Parameters​

lat​

number

lng​

number

alt?​

number | null

level?​

Level_t

Returns​

Coordinates

Properties​

autoWrap​

autoWrap: boolean

Accessors​

alt​

Get Signature​

get alt(): number | null

alt does not denote the altitude of a point but its height from the "level" field (if defined) or from the ground

Returns​

number | null

Set Signature​

set alt(alt): void

Parameters​
alt​

number | null

Returns​

void


ecef​

Get Signature​

get ecef(): Vector3_t

https://gist.github.com/klucar/1536194 Adapted for spherical formula

Returns​

Vector3_t


ecefToEnuRotation​

Get Signature​

get ecefToEnuRotation(): Quaternion_t

Returns​

Quaternion_t


enuToEcefRotation​

Get Signature​

get enuToEcefRotation(): Quaternion_t

ECEF Transformations Here we used a light version of ECEF considering earth as a sphere instead of an ellipse

Returns​

Quaternion_t


heightFromFloor​

Get Signature​

get heightFromFloor(): number | null

Returns​

number | null

Set Signature​

set heightFromFloor(heightFromFloor): void

Parameters​
heightFromFloor​

number | null

Returns​

void


heightFromGround​

Get Signature​

get heightFromGround(): number | null

Returns​

number | null

Set Signature​

set heightFromGround(heightFromGround): void

Parameters​
heightFromGround​

number | null

Returns​

void


lat​

Get Signature​

get lat(): number

Returns​

number

Set Signature​

set lat(lat): void

Parameters​
lat​

number

Returns​

void


latitude​

Get Signature​

get latitude(): number

Returns​

number

Set Signature​

set latitude(_): void

Parameters​
_​

number

Returns​

void


level​

Get Signature​

get level(): Level_t

Returns​

Level_t

Set Signature​

set level(level): void

Parameters​
level​

Level_t

Returns​

void


lng​

Get Signature​

get lng(): number

Returns​

number

Set Signature​

set lng(lng): void

Parameters​
lng​

number

Returns​

void


longitude​

Get Signature​

get longitude(): number

Returns​

number

Set Signature​

set longitude(_): void

Parameters​
_​

number

Returns​

void

Methods​

bearingTo()​

bearingTo(location2): number

Parameters​

location2​

Coordinates

Returns​

number


clone()​

clone(): Coordinates

Deep clone coordinates

Returns​

Coordinates


destinationPoint()​

destinationPoint(distance, bearing, elevation?): Coordinates

Parameters​

distance​

number

bearing​

number

elevation?​

number | null

Returns​

Coordinates

Throws​

if elevation is defined and point altitude is not defined


distanceTo()​

distanceTo(location2): number

Returns a distance between two points in meters

Parameters​

location2​

Coordinates

Returns​

number


equals()​

equals(other): boolean

Parameters​

other​

Coordinates

Returns​

boolean


equalsWithoutLevel()​

equalsWithoutLevel(other, eps?, epsAlt?): boolean

Parameters​

other​

Coordinates

eps?​

number

epsAlt?​

number

Returns​

boolean


getSegmentProjection()​

getSegmentProjection(p1, p2): Coordinates | null

https://stackoverflow.com/questions/1299567/how-to-calculate-distance-from-a-point-to-a-line-segment-on-a-sphere Adapted to ECEF

Parameters​

p1​

Coordinates

p2​

Coordinates

Returns​

Coordinates | null


move()​

move(distance, bearing, elevation?): this

Source: http://www.movable-type.co.uk/scripts/latlong.html#destPoint

Parameters​

distance​

number

bearing​

number

elevation?​

number | null

Returns​

this

Throws​

if elevation is defined and point altitude is not defined


toCompressedJson()​

toCompressedJson(): CoordinatesCompressedJson

Returns​

CoordinatesCompressedJson


toJson()​

toJson(): CoordinatesJson

Returns​

CoordinatesJson


toString()​

toString(): string

Input / Output

Returns​

string


wrap()​

wrap(): void

Returns​

void


bearingTo()​

static bearingTo(point1, point2): number

Parameters​

point1​

Coordinates

point2​

Coordinates

Returns​

number


distanceBetween()​

static distanceBetween(point1, point2): number

Parameters​

point1​

Coordinates

point2​

Coordinates

Returns​

number


equals()​

static equals(pos1, pos2, eps?, epsAlt?): boolean

Parameters​

pos1​

Coordinates | null

pos2​

Coordinates | null

eps?​

number

epsAlt?​

number

Returns​

boolean


equalsWithoutLevel()​

static equalsWithoutLevel(pos1, pos2, eps?, epsAlt?): boolean

Parameters​

pos1​

Coordinates | null

pos2​

Coordinates | null

eps?​

number

epsAlt?​

number

Returns​

boolean


fromCompressedJson()​

static fromCompressedJson(json): Coordinates

Parameters​

json​

CoordinatesCompressedJson

Returns​

Coordinates


fromECEF()​

static fromECEF(ecef): Coordinates

Parameters​

ecef​

Vector3_t

Returns​

Coordinates


fromJson()​

static fromJson(json): Coordinates

Parameters​

json​

CoordinatesJson

Returns​

Coordinates