Geography and geometry
General utilities and types that relate to working with and manipulating geographic information or geometries.
LngLat
src/geo/lng_lat.tsA LngLat
object represents a given longitude and latitude coordinate, measured in degrees.
These coordinates are based on the WGS84 (EPSG:4326) standard.
TrackAsia GL JS uses longitude, latitude coordinate order (as opposed to latitude, longitude) to match the GeoJSON specification.
Note that any TrackAsia GL JS method that accepts a LngLat
object as an argument or option
can also accept an Array
of two numbers and will perform an implicit conversion.
This flexible type is documented as LngLatLike.
Parameters
Example
var ll = new trackasiagl.LngLat(-123.9749, 40.7736);ll.lng; // = -123.9749
Static Members
Instance Members
Related
LngLatLike
src/geo/lng_lat.tsA LngLat object, an array of two numbers representing longitude and latitude,
or an object with lng
and lat
or lon
and lat
properties.
Example
var v1 = new trackasiagl.LngLat(-122.420679, 37.772537);var v2 = [-122.420679, 37.772537];var v3 = {lon: -122.420679, lat: 37.772537};
LngLatBounds
src/geo/lng_lat_bounds.tsA LngLatBounds
object represents a geographical bounding box,
defined by its southwest and northeast points in longitude and latitude.
If no arguments are provided to the constructor, a null
bounding box is created.
Note that any Mapbox GL method that accepts a LngLatBounds
object as an argument or option
can also accept an Array
of two LngLatLike constructs and will perform an implicit conversion.
This flexible type is documented as LngLatBoundsLike.
Parameters
(LngLatLike?)
The southwest corner of the bounding box.
OR array of 4 numbers in the order of west, south, east, north
OR array of 2 LngLatLike: [sw,ne]
Example
var sw = new trackasiagl.LngLat(-73.9876, 40.7661);var ne = new trackasiagl.LngLat(-73.9397, 40.8002);var llb = new trackasiagl.LngLatBounds(sw, ne);
Static Members
Instance Members
LngLatBoundsLike
src/geo/lng_lat_bounds.tsA LngLatBounds object, an array of LngLatLike objects in [sw, ne] order, or an array of numbers in [west, south, east, north] order.
Example
var v1 = new trackasiagl.LngLatBounds(new trackasiagl.LngLat(-73.9876, 40.7661),new trackasiagl.LngLat(-73.9397, 40.8002));var v2 = new trackasiagl.LngLatBounds([-73.9876, 40.7661], [-73.9397, 40.8002])var v3 = [[-73.9876, 40.7661], [-73.9397, 40.8002]];
PointLike
src/ui/camera.tsA Point or an array of two numbers representing x
and y
screen coordinates in pixels.
Example
var p1 = new Point(-77, 38); // a PointLike which is a Pointvar p2 = [-77, 38]; // a PointLike which is an array of two numbers
MercatorCoordinate
src/geo/mercator_coordinate.tsA MercatorCoordinate
object represents a projected three dimensional position.
MercatorCoordinate
uses the web mercator projection (EPSG:3857) with slightly different units:
- the size of 1 unit is the width of the projected world instead of the "mercator meter"
- the origin of the coordinate space is at the north-west corner instead of the middle
For example, MercatorCoordinate(0, 0, 0)
is the north-west corner of the mercator world and
MercatorCoordinate(1, 1, 0)
is the south-east corner. If you are familiar with
vector tiles it may be helpful to think
of the coordinate space as the 0/0/0
tile with an extent of 1
.
The z
dimension of MercatorCoordinate
is conformal. A cube in the mercator coordinate space would be rendered as a cube.
Parameters
Example
var nullIsland = new trackasiagl.MercatorCoordinate(0.5, 0.5, 0);
Static Members
Instance Members
Related
EdgeInsets
src/geo/edge_insets.tsAn EdgeInset
object represents screen space padding applied to the edges of the viewport.
This shifts the apprent center or the vanishing point of the map. This is useful for adding floating UI elements
on top of the map and having the vanishing point shift as UI elements resize.