GeoStreamPlot[vecs]
generates a stream plot from the field of geo vectors vecs.
GeoStreamPlot[{vecs1,vecs2,…}]
generates a separate set of streams for each vecsi.
GeoStreamPlot
GeoStreamPlot[vecs]
generates a stream plot from the field of geo vectors vecs.
GeoStreamPlot[{vecs1,vecs2,…}]
generates a separate set of streams for each vecsi.
Details and Options
- GeoStreamPlot plots streamlines that show the local direction of the vector field at every point.
- Sets of vectors vecs can be given in the following forms:
-
GeoVector[…],GeoVectorENU[…],… combined geo vectors {vec1,vec2,…} list of individual geo vectors <|loc1vec1,loc2vec2,…|> association of locations and vectors - The geographic locations loci can be given in the following forms:
-
GeoPosition[{lat,lon}] latitude and longitude Entity[…] geographic entity Dated[ent,date] dated entity - The vectors veci can be given in the following forms:
-
GeoVector[{m,α}] vector with magnitude m and bearing α at posi GeoVectorENU[{ve,vn}] vector with east and north components - Data not given in these forms is ignored in forming the stream plot.
- GeoStreamPlot has the same options as GeoGraphics, with the following additions and changes: [List of all options]
-
Method Automatic methods to use for the plot PerformanceGoal $PerformanceGoal aspects of performance to try to optimize PlotLegends None legends for vector fields PlotTheme $PlotTheme overall theme for the plot RegionFunction True determine what region to include StreamColorFunction Automatic how to color streamlines StreamColorFunctionScaling True whether to scale the argument to StreamColorFunction StreamMarkers Automatic shape to use for streams StreamPoints Automatic determine number, placement, and closeness of streamlines StreamScale Automatic determine sizes and segmenting of individual streamlines StreamStyle Automatic how to draw streamlines - The arguments supplied to RegionFunction are lat, lon, vlat, vlon, Norm[vec].
- The value of region in RegionFunctionregion can be an entity or geo polygon over which to plot.
- VectorPoints and StreamPoints accept collections of geo positions and entities.
-
AlignmentPoint Center the default point in the graphic to align with AspectRatio Automatic ratio of height to width Axes False whether to draw axes AxesLabel None axes labels AxesOrigin Automatic where axes should cross AxesStyle {} style specifications for the axes Background None background color for the plot BaselinePosition Automatic how to align with a surrounding text baseline BaseStyle {} base style specifications for the graphic ContentSelectable Automatic whether to allow contents to be selected CoordinatesToolOptions Automatic detailed behavior of the coordinates tool Epilog {} primitives rendered after the main plot FormatType TraditionalForm the default format type for text Frame False whether to put a frame around the plot FrameLabel None frame labels FrameStyle {} style specifications for the frame FrameTicks Automatic frame ticks FrameTicksStyle {} style specifications for frame ticks GeoBackground Automatic style specifications for the background GeoCenter Automatic center coordinates to use GeoGridLines None geographic grid lines to draw GeoGridLinesStyle Automatic style specifications for geographic grid lines GeoGridRange All projected coordinate range to include GeoGridRangePadding Automatic how much to pad the projected range GeoModel Automatic model of the Earth (or other body) to use GeoProjection Automatic projection to use GeoRange Automatic geographic area range to include GeoRangePadding Automatic how much to pad the geographic range GeoResolution Automatic average distance between background pixels GeoScaleBar None scale bar to display GeoServer Automatic specification of a tile server GeoZoomLevel Automatic zoom to use for geographic background GridLines None grid lines to draw GridLinesStyle {} style specifications for grid lines ImageMargins 0. the margins to leave around the graphic ImagePadding All what extra padding to allow for labels etc. ImageSize Automatic the absolute size at which to render the graphic LabelStyle {} style specifications for labels MetaInformation {} meta-information about the map Method Automatic methods to use for the plot PerformanceGoal $PerformanceGoal aspects of performance to try to optimize PlotLabel None an overall label for the plot PlotLegends None legends for vector fields PlotRange All range of values to include PlotRangeClipping False whether to clip at the plot range PlotRangePadding Automatic how much to pad the range of values PlotRegion Automatic the final display region to be filled PlotTheme $PlotTheme overall theme for the plot PreserveImageOptions Automatic whether to preserve image options when displaying new versions of the same graphic Prolog {} primitives rendered before the main plot RasterSize Automatic raster dimensions for the background data RegionFunction True determine what region to include RotateLabel True whether to rotate y labels on the frame StreamColorFunction Automatic how to color streamlines StreamColorFunctionScaling True whether to scale the argument to StreamColorFunction StreamMarkers Automatic shape to use for streams StreamPoints Automatic determine number, placement, and closeness of streamlines StreamScale Automatic determine sizes and segmenting of individual streamlines StreamStyle Automatic how to draw streamlines Ticks Automatic axes ticks TicksStyle {} style specifications for axes ticks
List of all options
Examples
open all close allBasic Examples (2)
Generate a stream plot from a field of vectors represented by magnitude and bearing:
GeoStreamPlot[GeoVector[GeoPosition[{{-54.79801473961214, -111.85053058521567},
{-65.56940402358214, 162.89657500795147}, {-81.67990688759895, -93.36222177594851},
{7.785750774919734, 95.44840765141487}, {-6.86571958448036, -40.946398330539864},
{ ... 904, "AngularDegrees"]},
{0.9366099079317551, Quantity[357.70482317743733, "AngularDegrees"]},
{0.8256817194791912, Quantity[242.07227508889662, "AngularDegrees"]},
{0.2661401145642981, Quantity[152.90003252279325, "AngularDegrees"]}}]]Generate a stream plot from a field of vectors represented by east and north components:
GeoStreamPlot[GeoVectorENU[GeoPosition[{{17.846644898186348, 84.28514321158684},
{-22.527132728681106, -151.5156139518411}, {53.258549962798426, 35.232759938373306},
{-52.766074467772135, -79.51071798675929}, {-16.0482921618026, 53.137838357122405},
... 316205170223997},
{0.15352631583868614, -0.5402977652327041}, {0.039697575199083346, 0.3739575458840365},
{-0.822218972191743, -0.7123662704234217}, {0.3516998681752077, -0.6825142524774166},
{0.8422000419960662, 0.07177176066509716}}]]Scope (18)
Data (9)
Plot streamlines for a collection of vectors, and give a geographical range for the domain:
GeoStreamPlot[IconizedObject[«wind direction»]]Use GeoVector to represent a collection of vectors with moduli m and bearings α:
GeoStreamPlot[GeoVector[GeoPosition[{{-16.772527557142183, 2.8802406466497814},
{13.57192141335338, 15.656509708640897}, {-64.15379850027813, 17.599239269261034},
{17.239361967489344, 58.78539405522804}, {73.01863255667763, 135.47622373299225},
{2 ... 8763299, "AngularDegrees"]},
{0.875334043031845, Quantity[166.7471518490579, "AngularDegrees"]},
{0.5047977945058384, Quantity[357.3096982690412, "AngularDegrees"]},
{0.5859132532977269, Quantity[295.6195274482129, "AngularDegrees"]}}]]Use GeoVectorENU to represent a collection of vectors of components ve and vn:
GeoStreamPlot[GeoVectorENU[{GeoPosition[{-6.318607606834632, 93.61067613775208}],
GeoPosition[{-48.79412425372024, -143.43524843499574}],
GeoPosition[{62.91371780551725, -151.70587678428694}],
GeoPosition[{39.85878812522884, -140.44906931731248}],
... .12087706631937234}, {-0.4883201327264479, -0.6401760262746601},
{-0.8598941796360546, 0.013032117249466957}, {0.348972331441463, 0.8652974998229106},
{0.32436527252438774, -0.3375771963375058}, {-0.36477277979821165, -0.763678653248566}}]]Use Quantity to represent a list of vectors using distance units:
Short[data = Table[{RandomGeoPosition[], {Quantity[RandomReal[], "Kilometers"], Quantity[RandomReal[], "Kilometers"]}}, {20}], 4]GeoStreamPlot[data]Use QuantityArray to represent an array of quantity vectors:
coords = RandomGeoPosition[20]vectors = QuantityArray[Table[RandomReal[{-1, 1}, 2], 20], "Kilometers"]GeoStreamPlot[{coords, vectors}]Plot an irregular collection of vectors:
data = Table[{{x, y} = RandomReal[{-50, 50}, {2}];GeoPosition[{y, x}], {y, -x}}, {200}];GeoStreamPlot[data]Explicitly set the number of streamlines:
GeoStreamPlot[data, StreamPoints -> 20]data1 = Table[{{x, y} = RandomReal[{-50, 50}, {2}];GeoPosition[{y, x}], {y, -x}}, {200}];
data2 = Table[{{x, y} = RandomReal[{-50, 50}, {2}];GeoPosition[{y, x}], {y, x}}, {200}];GeoStreamPlot[{data1, data2}]Plot a vector field with streamlines placed with specified densities:
Table[GeoStreamPlot[IconizedObject[«wind direction»], PlotLabel -> p, StreamPoints -> p], {p, {Coarse, Fine}}]Plot wind data over the United States:
data = IconizedObject[«USA wind directions»];GeoStreamPlot[data, RegionFunction -> Entity["Country", "UnitedStates"], GeoRange -> Entity["Country", "UnitedStates"]]Presentation (9)
Plot streamlines for multiple vector fields:
data1 = Table[{{x, y} = RandomReal[{-50, 50}, {2}];GeoPosition[{y, x}], {y, -x}}, {200}];
data2 = Table[{{x, y} = RandomReal[{-50, 50}, {2}];GeoPosition[{y, x}], {y, x}}, {200}];GeoStreamPlot[{data1, data2}, StreamColorFunction -> None]Place legends for each dataset:
GeoStreamPlot[{data1, data2}, StreamColorFunction -> None, PlotLegends -> {"one", "two"}]Plot streamlines on a map with small or large arrows:
Table[GeoStreamPlot[IconizedObject[«wind direction»], StreamColorFunction -> "BrightBands", PlotLabel -> s, StreamScale -> s], {s, {Small, Large}}]Plot streamlines on a map with arrows colored according to the magnitude of the field:
GeoStreamPlot[IconizedObject[«wind direction»], StreamColorFunction -> "TemperatureMap"]GeoStreamPlot[IconizedObject[«wind direction»], StreamMarkers -> "Drop", StreamPoints -> 100, StreamScale -> Tiny]Specify a maximum number of streamlines:
GeoStreamPlot[IconizedObject[«wind direction»], StreamPoints -> 10]Plot the streamlines that go through a set of seed coordinates:
GeoStreamPlot[IconizedObject[«wind direction»], StreamPoints -> Table[GeoPosition[{RandomReal[{-90, 90}], RandomReal[{-180, 180}]}], 10]]Show streamlines over a satellite map:
GeoStreamPlot[IconizedObject[«wind direction»], GeoBackground -> "ContourMap", StreamStyle -> White, StreamColorFunction -> None]Use the Albers projection centered on Champaign, IL:
data = IconizedObject[«wind direction»];GeoStreamPlot[data, GeoProjection -> "Albers", GeoCenter -> Entity["City", {"Champaign", "Illinois", "UnitedStates"}]]Add grid lines and a scale bar:
GeoStreamPlot[data, GeoProjection -> "Albers", GeoCenter -> Entity["City", {"Champaign", "Illinois", "UnitedStates"}], GeoGridLines -> Quantity[15, "AngularDegrees"], GeoScaleBar -> "Miles"]Use a theme with bright colors:
data = IconizedObject[«wind direction»];GeoStreamPlot[data, PlotTheme -> "Web"]GeoStreamPlot[data, PlotTheme -> "Web", StreamStyle -> White]Options (52)
AspectRatio (4)
By default, the ratio of the height to width for the plot is determined automatically:
GeoStreamPlot[IconizedObject[«wind direction»]]Make the height the same as the width with AspectRatio1:
GeoStreamPlot[IconizedObject[«wind direction»], AspectRatio -> 1]Use numerical value to specify the height-to-width ratio:
GeoStreamPlot[IconizedObject[«wind direction»], AspectRatio -> 1 / 3]AspectRatioFull adjusts the height and width to tightly fit inside other constructs:
plot = GeoStreamPlot[IconizedObject[«wind direction»], AspectRatio -> Full];{Framed[Pane[plot, {75, 150}]], Framed[Pane[plot, {150, 150}]], Framed[Pane[plot, {200, 100}]]}Axes (3)
By default, Axes are not drawn:
GeoStreamPlot[IconizedObject[«wind direction»]]Use AxesTrue to turn on axes:
GeoStreamPlot[IconizedObject[«wind direction»], Axes -> True]Turn each axis on individually:
{GeoStreamPlot[IconizedObject[«wind direction»], Axes -> {True, False}], GeoStreamPlot[IconizedObject[«wind direction»], Axes -> {False, True}]}AxesLabel (3)
No axes labels are drawn by default:
GeoStreamPlot[IconizedObject[«wind direction»], Axes -> True]GeoStreamPlot[IconizedObject[«wind direction»], Axes -> True, AxesLabel -> y]GeoStreamPlot[IconizedObject[«wind direction»], Axes -> True, AxesLabel -> {x, y}]AxesOrigin (2)
AxesStyle (4)
Change the style for the axes:
GeoStreamPlot[IconizedObject[«wind direction»], Axes -> True, AxesStyle -> Red]Specify the style of each axis:
GeoStreamPlot[IconizedObject[«wind direction»], Axes -> True, AxesStyle -> {{Thick, Brown}, {Thick, Blue}}]Use different styles for the ticks and the axes:
GeoStreamPlot[IconizedObject[«wind direction»], Axes -> True, AxesStyle -> Green, TicksStyle -> Red]Use different styles for the labels and the axes:
GeoStreamPlot[IconizedObject[«wind direction»], Axes -> True, AxesStyle -> Green, LabelStyle -> Red]Frame (4)
GeoStreamPlot does not use a frame by default:
GeoStreamPlot[IconizedObject[«wind direction»]]Use FrameTrue to draw a frame around the plot:
GeoStreamPlot[IconizedObject[«wind direction»], Frame -> True]Draw a frame on the left and right edges:
GeoStreamPlot[IconizedObject[«wind direction»], Frame -> {{True, True}, {False, False}}]Draw a frame on the left and bottom edges:
GeoStreamPlot[IconizedObject[«wind direction»], Frame -> {{True, False}, {True, False}}]FrameLabel (4)
Place a label along the bottom frame of a plot:
GeoStreamPlot[IconizedObject[«wind direction»], Frame -> True, FrameLabel -> {"label"}]Frame labels are placed on the bottom and left frame edges by default:
GeoStreamPlot[IconizedObject[«wind direction»], Frame -> True, FrameLabel -> {"latitude", "longitude"}]Place labels on each of the edges in the frame:
GeoStreamPlot[IconizedObject[«wind direction»], Frame -> True, FrameLabel -> {{"left", "right"}, {"bottom", "top"}}]Use a customized style for both labels and frame tick labels:
GeoStreamPlot[IconizedObject[«wind direction»], Frame -> True, FrameLabel -> {{"left", "right"}, {"bottom", "top"}}, LabelStyle -> Directive[Bold, StandardBrown]]FrameStyle (2)
Specify the style of the frame:
GeoStreamPlot[IconizedObject[«wind direction»], Frame -> True, FrameStyle -> Directive[StandardBrown, Thick]]Specify the style for each frame edge:
GeoStreamPlot[IconizedObject[«wind direction»], Frame -> True, FrameStyle -> {{Directive[Orange, Thick], Red}, {Directive[Gray, Thick], Blue}}]GeoBackground (1)
GeoCenter (1)
By default, the world map is located at {0,0} coordinates:
data = IconizedObject[«wind direction»];GeoStreamPlot[data]Center the streamlined map on Champaign, IL:
GeoStreamPlot[data, GeoCenter -> ["champaign,il"]]Use a different GeoProjection:
GeoStreamPlot[data, GeoProjection -> "Albers", GeoCenter -> ["champaign,il"]]GeoGridLines (1)
Use GeoGridLines to overlay the map with lines of latitude and longitude:
data = IconizedObject[«wind direction»];GeoStreamPlot[data, GeoGridLines -> Automatic]Draw GeoGridLines at specific lines of latitude and longitude:
GeoStreamPlot[data, GeoGridLines -> {Range[0, 50, 10], Range[-150, -40, 10]}]GeoGridLinesStyle (1)
Use GeoGridLinesStyle to change the styling for lines of latitude and longitude:
GeoStreamPlot[IconizedObject[«wind direction»], GeoGridLines -> Automatic, GeoGridLinesStyle -> Yellow]GeoModel (1)
Plot streamlines of a random vector field over a map of the Moon:
data = Table[GeoVector[RandomGeoPosition[] -> {1, RandomReal[{0, 360}]}], {50}];GeoStreamPlot[data, GeoModel -> Entity["PlanetaryMoon",
"Moon"], StreamStyle -> White, StreamColorFunction -> None]GeoProjection (1)
A world map is shown by default in the equirectangular projection:
data = IconizedObject[«wind direction»];GeoStreamPlot[data]Show the streamlines over a map in the Albers projection:
GeoStreamPlot[data, GeoProjection -> "Albers"]Use different map projections:
Table[GeoStreamPlot[data, GeoProjection -> p, PlotLabel -> p], {p, {"Mercator", "Bonne", "LambertAzimuthal", "Mollweide"}}]GeoRange (1)
Use GeoRange to define the latitude and longitude coordinate ranges:
data = IconizedObject[«wind direction»];GeoStreamPlot[data, GeoRange -> {{-40, 40}, All}]GeoStreamPlot[data, GeoRange -> {{-60, 80}, {-170, -30}}]GeoRangePadding (1)
By default, no padding is added to the vector map:
data = Flatten[Table[{GeoPosition[{lat, long}], WindVectorData[GeoPosition[{lat, long}]]}, {long, -170, -30, 10}, {lat, -60, 80, 10}], 1];GeoStreamPlot[data]Use GeoRangePadding to pad the coordinate range for the map:
GeoStreamPlot[data, GeoRangePadding -> Scaled[0.18]]Use GeoRangePadding to pad the coordinate range for the map:
GeoStreamPlot[data, GeoRangePadding -> Scaled[0.2]]GeoScaleBar (1)
Show a vector map with no geo scale:
data = IconizedObject[«wind direction»];GeoStreamPlot[data, GeoScaleBar -> None]Display the geo scale in kilometers:
GeoStreamPlot[data, GeoScaleBar -> "Kilometers"]Show a geo scale in metric and imperial:
GeoStreamPlot[data, GeoScaleBar -> {"Metric", "Imperial"}]GeoServer (1)
By default, GeoVectorPlot downloads geo background tiles from the Wolfram GeoServer:
data = IconizedObject[«wind direction»];GeoStreamPlot[data, GeoServer -> Automatic]Use an alternative tile server:
GeoStreamPlot[data, GeoServer -> "http://a.tile.openstreetmap.org/`1`/`2`/`3`.png"]GeoZoomLevel (1)
Display wind directions over a map of New York City at the default GeoZoomLevel:
data = Flatten[Table[{GeoPosition[{lat, long}], WindVectorData[GeoPosition[{lat, long}]]}, {long, -74.2591, -73.7003, 0.05}, {lat, 40.4774, 40.9175, 0.05}], 1];GeoStreamPlot[data]Display the vector map at different levels of magnification:
Table[GeoStreamPlot[data, GeoZoomLevel -> z, PlotLabel -> z], {z, {2, 6, 10}}]PerformanceGoal (1)
PlotLabel (1)
PlotLegends (1)
Add legends with placeholder text:
data1 = Table[{{x, y} = RandomReal[{-50, 50}, {2}];GeoPosition[{y, x}], {y, -x}}, {200}];
data2 = Table[{{x, y} = RandomReal[{-50, 50}, {2}];GeoPosition[{y, x}], {y, x}}, {200}];GeoStreamPlot[{data1, data2}, PlotLegends -> Automatic, StreamColorFunction -> None]Specify labels for the legend:
GeoStreamPlot[{data1, data2}, PlotLegends -> {"one", "two"}, StreamColorFunction -> None]Place the legend below the plot:
GeoStreamPlot[{data1, data2}, PlotLegends -> Placed[{"one", "two"}, Below], StreamColorFunction -> None]Control the appearance of the legend:
GeoStreamPlot[{data1, data2}, PlotLegends -> SwatchLegend[{"one", "two"}, LegendMarkerSize -> {20, 10}], StreamColorFunction -> None]PlotTheme (1)
RegionFunction (2)
Plot wind data over the United States:
data = IconizedObject[«USA wind directions»];GeoStreamPlot[IconizedObject[«USA wind directions»], RegionFunction -> ["united states"], GeoRange -> ["united states"]]Plot streamlines from wind data over a specific area set by RegionFunction:
data = Table[{{x, y} = RandomReal[{-50, 50}, {2}];GeoPosition[{y, x}], {y, -x}}, {200}];GeoStreamPlot[data, RegionFunction -> Function[{lat, lon, vlat, vlon, n}, And[Abs[lat] < 30, Abs[lon] < 20]]]StreamColorFunction (1)
Color streamlines according to the norm of the vector field:
data = IconizedObject[«wind direction»];GeoStreamPlot[data, StreamPoints -> Fine, StreamColorFunction -> Hue]Use any named color gradient from ColorData:
GeoStreamPlot[data, StreamPoints -> Fine, StreamColorFunction -> "SolarColors"]Specify a color function that blends two colors by the
coordinate:
GeoStreamPlot[data, StreamPoints -> Fine, StreamColorFunction -> Function[{x, y, vx, vy, n}, Blend[{Green, Red}, x]]]Use StreamColorFunctionScalingFalse to get unscaled values:
GeoStreamPlot[data, StreamColorFunctionScaling -> False, StreamPoints -> Fine, StreamColorFunction -> Function[{x, y, vx, vy, n}, ColorData[22][Round[n]]]]StreamColorFunctionScaling (1)
By default, scaled values are used:
data = IconizedObject[«wind direction»];GeoStreamPlot[data, StreamPoints -> Fine, StreamColorFunction -> Function[{x, y, vx, vy, n}, Blend[{Green, Red}, x]]]Use StreamColorFunctionScalingFalse to get unscaled values:
GeoStreamPlot[data, StreamPoints -> Fine, StreamColorFunctionScaling -> False, StreamColorFunction -> Function[{x, y, vx, vy, n}, ColorData[22][Round[n]]]]Use unscaled coordinates in the
direction and scaled coordinates in the
direction:
GeoStreamPlot[data, StreamPoints -> Fine, StreamColorFunction -> Function[{x, y, vx, vy, n}, Hue[x, y, 1]], StreamColorFunctionScaling -> {False, True}]Explicitly specify the scaling for each color function argument:
GeoStreamPlot[data, StreamPoints -> Fine, StreamColorFunction -> Function[{x, y, vx, vy, n}, Hue[n, y, 1]], StreamColorFunctionScaling -> {True, True, True, True, False}]StreamMarkers (3)
Streamlines are drawn as arrows by default:
data = IconizedObject[«wind direction»];GeoStreamPlot[data]Use a named appearance to draw the streamlines:
GeoStreamPlot[data, StreamMarkers -> "Drop"]Use different markers for different vector fields:
data1 = Table[{{x, y} = RandomReal[{-50, 50}, {2}];GeoPosition[{y, x}], {y, -x}}, {200}];
data2 = Table[{{x, y} = RandomReal[{-50, 50}, {2}];GeoPosition[{y, x}], {y, x}}, {200}];GeoStreamPlot[{data1, data2}, StreamScale -> Large, StreamPoints -> Coarse, StreamMarkers -> {"Drop", "Dart"}, StreamColorFunction -> None]data = IconizedObject[«wind direction»];Table[GeoStreamPlot[data, PlotLabel -> s, StreamPoints -> Coarse, StreamScale -> {Full, All, 0.05}, StreamMarkers -> s], {s, {"Arrow", "ArrowArrow", "CircleArrow"}}]Table[GeoStreamPlot[data, PlotLabel -> s, StreamScale -> {Full, All, 0.03}, StreamPoints -> Coarse, StreamMarkers -> s], {s, {"BarDot", "Dot", "DotArrow", "DotDot"}}]Table[GeoStreamPlot[data, PlotLabel -> s, StreamScale -> {Full, All, 0.03}, StreamPoints -> Coarse, StreamMarkers -> s], {s, {"Drop", "BackwardPointer", "Pointer", "Toothpick"}}]Table[GeoStreamPlot[data, PlotLabel -> s, StreamScale -> {Full, All, 0.03}, StreamPoints -> Coarse, StreamMarkers -> s], {s, {"Dart", "PinDart", "DoubleDart"}}]StreamPoints (1)
Specify a maximum number of streamlines:
data = IconizedObject[«wind direction»];GeoStreamPlot[data, StreamPoints -> 10]Use symbolic names to specify the number of streamlines:
Table[GeoStreamPlot[data, StreamPoints -> s], {s, {Fine, Coarse, 10}}]Specify the minimum distance between streamlines:
Table[GeoStreamPlot[data, PlotLabel -> d, VectorStyle -> Orange, StreamPoints -> {Automatic, d}], {d, {Automatic, 1, Scaled[0.05]}}]Specify the minimum distance between streamlines at the start and end of a streamline:
Table[GeoStreamPlot[data, PlotLabel -> d, VectorStyle -> Orange, StreamPoints -> {Automatic, d}], {d, {Automatic, {Scaled[0.1], Scaled[0.5]}}}]Specify streamlines that go through a set of seed coordinates:
GeoStreamPlot[data, StreamPoints -> Table[GeoPosition[{RandomReal[{-90, 90}], RandomReal[{-180, 180}]}], 10]]Specify streamlines that go through North and South America:
GeoStreamPlot[data, StreamPoints -> ["The americas countries"]]Use both automatic and explicit seeding with styles for explicitly seeded streamlines:
GeoStreamPlot[data, StreamPoints -> {{["canada"], Red}, {["United States"], Blue}, {["Mexico"], Darker[Green]}, {["Brasil"], Orange}, Automatic}, StreamStyle -> Thick, GeoRange -> ["The americas countries"], StreamColorFunction -> None]Specify the minimum distance between streamlines at the start and end of a streamline:
Table[GeoStreamPlot[data, PlotLabel -> d, StreamPoints -> {Automatic, d}], {d, {Automatic, {Scaled[0.1], Scaled[0.5]}}}]Control the maximum length that each streamline can have:
coords = GeoPosition[Tuples[{-10, 0, 10}, 2]];Table[GeoStreamPlot[data, GeoRange -> {{-15, 15}, {-15, 15}}, StreamPoints -> {coords, Automatic, maxlen}], {maxlen, {2.5, Scaled[0.2]}}]StreamScale (1)
Create full streamlines without segmentation:
data = IconizedObject[«wind direction»];GeoStreamPlot[data, StreamPoints -> 10, StreamScale -> Full]GeoStreamPlot[data, StreamPoints -> 10, StreamScale -> None]Use symbolic names to control the lengths of streamlines:
Table[GeoStreamPlot[data, PlotLabel -> s, StreamPoints -> 8, StreamPoints -> Coarse, StreamScale -> s], {s, {Tiny, Large}}]Table[GeoStreamPlot[data, PlotLabel -> s, StreamPoints -> 8, StreamPoints -> Coarse, StreamScale -> s], {s, {0.1, 0.4}}]Specify an explicit dashing pattern for streamlines:
GeoStreamPlot[data, StreamPoints -> 8, StreamPoints -> Coarse, StreamScale -> {{0.1, 0.1}, Automatic}]Specify the number of points rendered on each streamline segment:
Table[GeoStreamPlot[data, PlotLabel -> n, StreamPoints -> Coarse, StreamScale -> {Full, n}], {n, {10, All}}]Specify absolute aspect ratios relative to the longest line segment:
Table[GeoStreamPlot[data, StreamPoints -> 8, StreamPoints -> Coarse, PlotLabel -> a, StreamScale -> {Automatic, Automatic, a}], {a, {.02, .04}}]Specify relative aspect ratios relative to each line segment:
Table[GeoStreamPlot[data, StreamPoints -> 8, StreamPoints -> Coarse, PlotLabel -> a, StreamScale -> {Automatic, Automatic, a}], {a, {Scaled[0.5], Scaled[1]}}]Scale the length of the arrows by the longitudinal coordinate:
GeoStreamPlot[data, StreamPoints -> Coarse, StreamScale -> {Automatic, 4, Automatic, Function[{lat, lon, vx, vy, n}, Scaled[lon]]}]StreamStyle (2)
Apply a variety of styles to the streamlines:
data = IconizedObject[«wind direction»];Table[GeoStreamPlot[data, StreamPoints -> Coarse, StreamScale -> Full, StreamStyle -> s, StreamColorFunction -> None], {s, {Orange, Thick, Directive[Orange, Thick]}}]GeoStreamPlot[data, StreamPoints -> Coarse, StreamScale -> Full, StreamStyle -> Arrowheads[{{0.03, Automatic, Graphics[Circle[]]}}]]Set the style for multiple vector fields:
data1 = Table[{{x, y} = RandomReal[{-50, 50}, {2}];GeoPosition[{y, x}], {y, -x}}, {200}];
data2 = Table[{{x, y} = RandomReal[{-50, 50}, {2}];GeoPosition[{y, x}], {y, x}}, {200}];GeoStreamPlot[{data1, data2}, StreamPoints -> 20, StreamStyle -> {Red, Blue}, StreamColorFunction -> None]Applications (2)
Generate streamlines from the magnetic direction field on the North Pole:
coords = GeoPosition[Flatten[Table[{lat, lon}, {lat, 80, 90, 10}, {lon, -180, 180, 10}], 1]];gm = GeomagneticModelData[coords];norms = QuantityMagnitude[gm[[All, "Magnitude"]]];declinations = gm[[All, "Declination"]];vectors = Transpose[{norms, declinations}];GeoStreamPlot[GeoVector[coords -> vectors], GeoBackground -> "ReliefMap", StreamStyle -> White, StreamColorFunction -> None]Plot streamlines of the wind vector field during Hurricane Florence in September 2018:
data = IconizedObject[«Hurricane Florence data»];GeoStreamPlot[data, StreamStyle -> Thick, StreamColorFunction -> Blue, StreamPoints -> {Automatic, 0.2}, GeoBackground -> "Coastlines", GeoScaleBar -> "Miles"]Properties & Relations (12)
GeoVectorPlot shows the vector field with discrete arrows:
GeoVectorPlot[GeoVector[GeoPosition[{{-54.79801473961214, -111.85053058521567},
{-65.56940402358214, 162.89657500795147}, {-81.67990688759895, -93.36222177594851},
{7.785750774919734, 95.44840765141487}, {-6.86571958448036, -40.946398330539864},
{ ... 904, "AngularDegrees"]},
{0.9366099079317551, Quantity[357.70482317743733, "AngularDegrees"]},
{0.8256817194791912, Quantity[242.07227508889662, "AngularDegrees"]},
{0.2661401145642981, Quantity[152.90003252279325, "AngularDegrees"]}}]]Use GeoBubbleChart to show values with scaled bubbles:
states = EntityValue[EntityClass["AdministrativeDivision", "USStatesAllStates"], EntityFunction[e, {e, e["Population"]}]];GeoBubbleChart[states]Use GeoRegionValuePlot to show values with colored regions:
states = EntityValue[EntityClass["AdministrativeDivision", "USStatesAllStates"], EntityFunction[e, {e, e["Population"]}]];GeoRegionValuePlot[states]Use GeoHistogram to aggregate locations into bins:
pts = RandomGeoPosition[["US"], 500];GeoHistogram[pts, "AdministrativeDivision1"]Use GeoSmoothHistogram to generate smooth densities from locations:
pts = RandomGeoPosition[["US"], 500];GeoSmoothHistogram[pts]Use GeoListPlot for individual locations:
GeoListPlot[RandomGeoPosition[["Italy"], 500]]Draw contours on a map with GeoContourPlot:
GeoContourPlot[IconizedObject[«locs»] -> IconizedObject[«vals»]]Smoothly shade a map using color with GeoDensityPlot:
GeoDensityPlot[IconizedObject[«locs»] -> IconizedObject[«vals»]]Use ListVectorPlot or ListStreamPlotfor general data:
data = Table[{y, -x}, {x, -5, 5}, {y, -5, 5}];{ListVectorPlot[data], ListStreamPlot[data]}Use ListVectorDensityPlot or ListStreamDensityPlot to include a density plot of a scalar field:
data = Table[{{y, -x}, x y}, {x, -5, 5}, {y, -5, 5}];{ListVectorDensityPlot[data], ListStreamDensityPlot[data]}Use VectorDisplacementPlot to visualize the effect of a displacement field:
Kenya = Polygon@@CountryData[CountryData["Kenya"], "Polygon"][[1, 1]];VectorDisplacementPlot[{x, y}, {x, y}∈Kenya]Use ListVectorPlot3D and ListStreamPlot3D to visualize 3D vector field data:
data = Table[{z, -x, y}, {x, -1, 1, .1}, {y, -1, 1, .1}, {z, -1, 1, .1}];{ListVectorPlot3D[data], ListStreamPlot3D[data]}Related Guides
Text
Wolfram Research (2019), GeoStreamPlot, Wolfram Language function, https://reference.wolfram.com/language/ref/GeoStreamPlot.html (updated 2020).
CMS
Wolfram Language. 2019. "GeoStreamPlot." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2020. https://reference.wolfram.com/language/ref/GeoStreamPlot.html.
APA
Wolfram Language. (2019). GeoStreamPlot. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/GeoStreamPlot.html
BibTeX
@misc{reference.wolfram_2026_geostreamplot, author="Wolfram Research", title="{GeoStreamPlot}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/GeoStreamPlot.html}", note=[Accessed: 12-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_geostreamplot, organization={Wolfram Research}, title={GeoStreamPlot}, year={2020}, url={https://reference.wolfram.com/language/ref/GeoStreamPlot.html}, note=[Accessed: 12-June-2026]}