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.
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 all close allBasic Examples (2)
Take a geo vector aligned with the vertical axis of the Albers coordinates at your location:
gv = GeoGridVector[Here -> Quantity[{0, 10}, "Miles" / "Hours"], "Albers"]GeoGraphics[GeoMarker[gv, "Dart"], GeoRange -> "World", GeoProjection -> "Albers", GeoGridLines -> Automatic, GeoBackground -> "Plain"]That vector does not point northward in the local Mercator projection:
GeoGraphics[GeoMarker[gv, "Dart"], GeoGridLines -> Automatic]Take two orthogonal geo vectors at New York:
gv = GeoVector[{Entity["City", {"NewYork", "NewYork", "UnitedStates"}] -> {1, 0}, Entity["City", {"NewYork", "NewYork", "UnitedStates"}] -> {1, 90}}]They are not orthogonal in the Mollweide projection with default centering:
ggv = GeoGridVector[gv, {"Mollweide", "Centering" -> {0, 0}}]Show the geo grid vectors as darts in a GeoGraphics map with that projection:
GeoGraphics[GeoMarker[ggv, Placed["Dart", "Start"]], GeoProjection -> {"Mollweide", "Centering" -> {0, 0}}, GeoGridLines -> Automatic, GeoRange -> Entity["City", {"NewYork", "NewYork", "UnitedStates"}]]Scope (11)
Data Specification (4)
Specify the location of a geo grid vector as a {lat,lon} pair in degrees:
GeoGridVector[{20, -50} -> {1, 0}, "Bonne"]Construct a horizontal velocity vector crossing the Bonne frame axes at 45 degrees at Chicago:
gv = GeoGridVector[Entity["City", {"Chicago", "Illinois", "UnitedStates"}] -> Quantity[{3, 3}, "Nanoteslas"], "Bonne"]Rewrite the location as a geo position object with any head:
GeoPosition[gv]GeoPositionXYZ[gv]GeoGridPosition[gv, "Bonne"]Anything that can be interpreted by GeoPosition can be used as a location:
GeoGridVector["12d 3m 4.5s N, 123d 58m 3.2s W" -> {1, 2}, "Mollweide"]//GeoPositionGeoGridVector["NullIsland" -> {1, 2}, "Mollweide"]//GeoPositionWork with horizontal 2D or 3D vectors of any unit dimension:
GeoGridVector[Entity["City", {"Tokyo", "Tokyo", "Japan"}] -> {1, 1 / 2}, "Mercator"]GeoGridVector[Entity["City", {"Tokyo", "Tokyo", "Japan"}] -> Quantity[{2, 3}, "Meters" / "Seconds"], "Mercator"]GeoGridVector[Entity["City", {"Tokyo", "Tokyo", "Japan"}] -> Quantity[{-4, 5, -1}, "Meters" / "Seconds" ^ 2], "Mercator"]Geo Projection Conversion (2)
Convert geo grid vector data in the Mercator projection to different geo projections:
GeoGridVector[Here -> Quantity[{10, 20}, "Miles" / "Hours"], "Mercator"]GeoGridVector[%, "Albers"]GeoGridVector[%, "LambertAzimuthal"]Convert back to the original projection:
GeoGridVector[%, "Mercator"]Use projections with default parameters, as given by GeoProjectionData:
GeoProjectionData["Albers"]GeoGridVector[Here -> Quantity[{1.5, -3.2}, "Miles" / "Hours"], "Albers"]Convert the geo grid vector to the Albers projection with nondefault parameters:
GeoGridVector[%, {"Albers", "Centering" -> Here}]Convert back to the Albers projection with default parameters:
GeoGridVector[%, "Albers"]Geo Vector Arrays (4)
Specify a GeoGridVector object of two vectors with components in the "WinkelTripel" projection:
GeoGridVector[{GeoPosition[{30, -40}] -> {-0.32, -1.06}, GeoPosition[{-20, -150}] -> {0.45, 0.67}}, "WinkelTripel"]This is an alternative way to specify the same data:
GeoGridVector[GeoPosition[{{30, -40}, {-20, -150}}] -> {{-0.32, -1.06}, {0.45, 0.67}}, "WinkelTripel"]Compute gravitational field data simultaneously for several locations:
GeogravityModelData[{Entity["City", {"London", "GreaterLondon", "UnitedKingdom"}], Entity["City", {"Paris", "IleDeFrance", "France"}], Entity["City", {"Amsterdam", "NoordHolland", "Netherlands"}], Entity["City", {"Berlin", "Berlin", "Germany"}]}, GeoVector]Convert it to a single geo grid vector array in the Mercator projection:
GeoGridVector[%, "Mercator"]Represent the relative sizes and directions of the small horizontal components:
GeoGraphics[GeoMarker[%, {"Dart", "Circle"}], GeoRange -> {{47, 54}, {-2, 16}}]Generate a million random geo grid vectors at respective random locations:
ggv = GeoGridVector[RandomGeoPosition[10 ^ 6] -> QuantityArray[RandomReal[{-1, 1}, {10 ^ 6, 2}], "Meters"], "Albers"]Convert them into geo vector form:
AbsoluteTiming[gv = GeoVector[ggv]]Use GeoGridVector to transform them back to their projected form in the Albers projection:
AbsoluteTiming[newggv = GeoGridVector[gv, "Albers"]]Check that the difference is just numerical error:
CoordinateBounds[newggv["Vector"] - ggv["Vector"]]Generate a million random geo grid vectors at respective random locations:
ggv = GeoGridVector[RandomGeoPosition[10 ^ 6] -> QuantityArray[RandomReal[{-1, 1}, {10 ^ 6, 2}], "Meters"], "Albers"]Convert the geo grid vectors from the Albers to the Mollweide projection:
AbsoluteTiming[pgv = GeoGridVector[ggv, "Mollweide"]]Use GeoGridVector to transform them back to the Albers projection:
AbsoluteTiming[newggv = GeoGridVector[pgv, "Albers"]]Check that the difference is just numerical error:
CoordinateBounds[newggv["Vector"] - ggv["Vector"]]Data Extraction (1)
A horizontal velocity vector at Chicago:
ggv = GeoGridVector[Entity["City", {"Chicago", "Illinois", "UnitedStates"}] -> Quantity[{10, 20}, "Miles" / "Hours"], "Mercator"]Extract the location of the geo vector:
ggv["Location"]Extract the vector data from the geo vector:
ggv["Vector"]ggv["LocationVectorRule"]ggv["Properties"]AssociationMap[ggv, %]//Normal//ColumnProperties & Relations (1)
GeoGridVector components in the Mercator projection coincide with GeoVectorENU components:
enu = GeomagneticModelData[Entity["City", {"Anchorage", "Alaska", "UnitedStates"}], Now, GeoVectorENU]//NormalGeoGridVector[enu, "Mercator"]Components are different in other projections, due to angular distortion or tilting of latitude, longitude lines:
GeoGridVector[enu, "Equirectangular"]Related Guides
-
▪
- Geodesy
History
Text
Wolfram Research (2019), GeoGridVector, Wolfram Language function, https://reference.wolfram.com/language/ref/GeoGridVector.html.
CMS
Wolfram Language. 2019. "GeoGridVector." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/GeoGridVector.html.
APA
Wolfram Language. (2019). GeoGridVector. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/GeoGridVector.html
BibTeX
@misc{reference.wolfram_2026_geogridvector, author="Wolfram Research", title="{GeoGridVector}", year="2019", howpublished="\url{https://reference.wolfram.com/language/ref/GeoGridVector.html}", note=[Accessed: 12-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_geogridvector, organization={Wolfram Research}, title={GeoGridVector}, year={2019}, url={https://reference.wolfram.com/language/ref/GeoGridVector.html}, note=[Accessed: 12-June-2026]}