GeoGridVector

GeoGridVector[loc{vx,vy},proj]

represents a horizontal two-dimensional vector of components vx, vy in the orthonormal frame of the coordinates of the geo projection proj, at geo location loc.

GeoGridVector[loc{vx,vy,vz},proj]

represents a three-dimensional vector of horizontal components vx, vy and vertical component vz at geo location loc.

GeoGridVector[{loc1,loc2,}{vec1,vec2,},proj]

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

GeoGridVector[{loc1vec1,loc2vec2,},proj]

represents the same collection of vectors.

GeoGridVector[vec,proj]

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

Details

  • GeoGridVector[] can represent any vectorial magnitude on the surface of the Earth or any other celestial globe, like wind speed, magnetic field, scalar gradients, etc.
  • GeoGridVector describes data using an orthonormal frame tangent to the reference ellipsoid at the given location.
  • GeoGridVector acts both as a vector data container and as a converter from other types of geo vector data, like GeoVectorENU or GeoVector.
  • In GeoGridVector[locvec], the components of the vector vec can be quantities, but their units must be compatible.
  • In GeoGridVector[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.
  • In GeoGridVector[locvec,proj], the geo projection proj can be specified in the following forms:
  • "proj"named projection with default parameter values
    {"proj","param1"->val1,"param2"->val2,}projection with detailed parameters specified
  • Names of possible projections are given by GeoProjectionData[].
  • Default values of parameters for a particular named projection are given by GeoProjectionData[proj].
  • GeoGridVector[][prop] gives the specified property of a geo grid vector.
  • Possible properties include:
  • "Count"number of vectors in the GeoGridVector object
    "Data"first argument of the GeoGridVector object
    "Depth"vector depth: 0 for a single vector, 1 for a list of them,
    "GeoProjection"geo projection of the GeoGridVector object
    "Location"location data of the GeoGridVector object
    "LocationDimension"number of coordinates for each position
    "LocationPackingType"Integer or Real if positions are packed; None otherwise
    "Vector"vector data of the GeoGridVector object
    "VectorDimension"number of components for each vector
    "VectorPackingType"Integer or Real if vectors are packed; None otherwise

Examples

open allclose all

Basic Examples  (2)

Take a geo vector aligned with the vertical axis of the Albers coordinates at your location:

That vector does not point northward in the local Mercator projection:

Take two orthogonal geo vectors at New York:

They are not orthogonal in the Mollweide projection with default centering:

Show the geo grid vectors as darts in a GeoGraphics map with that projection:

Scope  (10)

Data Specification  (4)

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

Construct a horizontal velocity vector crossing the Bonne frame axes at 45 degrees 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 or 3D vectors of any unit dimension:

Geo Projection Conversion  (2)

Convert geo grid vector data in the Mercator projection to different geo projections:

Convert back to the original projection:

Use projections with default parameters, as given by GeoProjectionData:

Convert the geo grid vector to the Albers projection with nondefault parameters:

Convert back to the Albers projection with default parameters:

Geo Vector Arrays  (3)

Compute gravitational field data simultaneously for several locations:

Convert it to a single geo grid vector array in the Mercator projection:

Represent the relative sizes and directions of the small horizontal components:

Generate a million random geo grid vectors at respective random locations:

Convert them into geo vector form:

Use GeoGridVector to transform them back to their projected form in the Albers projection:

Check that the difference is just numerical error:

Generate a million random geo grid vectors at respective random locations:

Convert the geo grid vectors from the Albers to the Mollweide projection:

Use GeoGridVector to transform them back to the Albers projection:

Check that the difference is just numerical error:

Data Extraction  (1)

A horizontal velocity vector at Chicago:

Extract the location of the geo vector:

Extract the vector data from the geo vector:

Extract the locvec rule:

Extract all properties:

Properties & Relations  (1)

GeoGridVector components in the Mercator projection coincide with GeoVectorENU components:

Components are different in other projections, due to angular distortion or tilting of latitude, longitude lines:

Introduced in 2019
 (12.0)