# GeoVector

GeoVector[loc{m,α}]

represents a horizontal two-dimensional vector of magnitude m and bearing α at geo location loc.

GeoVector[loc{m,α,w}]

represents a three-dimensional vector of horizontal modulus m, bearing α and vertical component w at geo location loc.

GeoVector[{loc1,loc2,}{vec1,vec2,}]

represents a collection of vectors veci at respective geo locations loci.

GeoVector[{loc1vec1,loc2vec2,}]

represents the same collection of vectors.

GeoVector[vec]

represents a geo vector whose associated location has been implicitly specified.

# Details  • GeoVector[] can represent any vectorial magnitude on the surface of the Earth or any other celestial globe, like wind speed, magnetic field, scalar gradient, etc.
• GeoVector describes vector data using an orthonormal frame tangent to the reference ellipsoid at the given location.
• • In GeoVector[loc{m,α}], the vector modulus m can be given as a numeric expression or numeric Quantity object with any units. The bearing α can be given as a number of degrees or a Quantity angle, measured clockwise from north. The vertical component is assumed to be zero.
• In GeoVector[loc{m,α,w}], the horizontal modulus m and the vertical component w can be quantities, but their units must be compatible.
• In GeoVector[locvec], the location loc can be given as a {lat,lon} pair in degrees, a geo Entity object or any geo location object with head GeoPosition or similar.
• converts a vector in GeoVectorENU form to GeoVector form, and similarly for GeoVectorXYZ and GeoGridVector objects.
• GeoGraphics[GeoVector[locvec]] takes loc into account for geo range estimation, but does not display a vector. Use GeoGraphics[GeoMarker[GeoVector[locvec],vmarker]] to display a vector at the given location, styled as specified by the vector marker vmarker.
• GeoVector[][prop] gives the specified property of a geo vector.
• Possible properties include:
•  "Count" number of vectors in the GeoVector object "Data" first argument of the GeoVector object "Depth" vector depth: 0 for a single vector, 1 for a list of them, … "Location" location data of the GeoVector object "LocationDimension" number of coordinates for each position "LocationPackingType" Integer or Real if positions are packed; None otherwise "Vector" vector data of the GeoVector object "VectorDimension" number of components for each vector "VectorPackingType" Integer or Real if vectors are packed; None otherwise

# Examples

open allclose all

## Basic Examples(3)

Take current wind data near your location:

Place a dart with such direction in a local map of your area:

Show the direction in a world map with a different geo projection, using a smaller dart:

Get data about the Earth's magnetic field vector at Anchorage:

The horizontal component, declination and negative of the down component form a GeoVector object:

Transform that geo vector to its Cartesian form along the east-north-up axes:

Transform back to cylindrical form:

Draw arrows at random locations over the world, always pointing in the north direction:

Use GeoVectorPlot for a smoother representation:

## Scope(8)

### Data Specification(4)

Specify the location of a geo vector as a {lat,lon} pair in degrees:

Construct a horizontal velocity vector with 60 degrees bearing at Chicago:

Rewrite the location as a geo position object with any head:

Anything that can be interpreted by GeoPosition can be used as a location:

Work with horizontal 2D vectors with a non-negative modulus of any unit dimension:

Bearings can be given as a number of degrees or as a Quantity angle:

### Geo Vector Arrays(3)

Specify wind data simultaneously for several locations:

The same input can also be expressed as:

Represent those wind directions in a map:

Generate a million random Cartesian vectors at respective random locations:

GeoVector can process them efficiently:

Transform back to their Cartesian form:

Check that the difference is just numerical error:

Take the locations of the capital cities of the UN countries:

Construct random vectors at those locations:

Convert to local Cartesian form:

Convert back to polar form:

### Data Extraction(1)

A horizontal velocity vector with 60 degrees bearing at Chicago:

Extract the location of the geo vector:

Extract the vector data from the geo vector:

Extract the locvec rule:

Extract all properties:

## Applications(1)

Get vector field data for 100 random locations over Canada:

They roughly point north, but there is some variability:

Represent the horizontal part of those vectors in a cylindrical projection, for which the y axis points toward true north:

## Properties & Relations(4)

The same vector data at different locations represents different 3D vectors:

Identical vertical vectors at antipodal locations are opposite each other as 3D vectors:

This is an acceleration vector at the location of the Eiffel Tower:

Convert into a vector in the Mercator projection:

Transform back to GeoVector form:

## Interactive Examples(2)

Compare a geo vector and a geodesic starting from the same location with the same azimuth:

Draw the north and east directions at a chosen location, and a vector at that same location: