GeoVisibleRegion[{lat,lon,h}]
is a two-dimensional GeoGraphics primitive that represents the region on the surface of the Earth visible from the point of coordinates lat,lon and height h above the reference ellipsoid.
GeoVisibleRegion[pos]
represents the region visible from the position pos.
GeoVisibleRegion[{pos1,pos2,…}]
represents the collection of regions visible from the positions posi.
GeoVisibleRegion
GeoVisibleRegion[{lat,lon,h}]
is a two-dimensional GeoGraphics primitive that represents the region on the surface of the Earth visible from the point of coordinates lat,lon and height h above the reference ellipsoid.
GeoVisibleRegion[pos]
represents the region visible from the position pos.
GeoVisibleRegion[{pos1,pos2,…}]
represents the collection of regions visible from the positions posi.
Details
- GeoVisibleRegion assumes an ellipsoidal shape for the Earth and does not take into account the terrain elevation. Corrections for atmospheric refraction are not included.
- The angles lat,lon in GeoVisibleRegion[{lat,lon,h}] can be given as numeric objects in degrees, DMS strings, or Quantity angles.
- The height h in GeoVisibleRegion[{lat,lon,h}] can be given as a numeric amount of meters or as a Quantity length.
Examples
open all close allBasic Examples (3)
The visible region from an altitude of 10 km over the reference ellipsoid:
GeoGraphics[GeoVisibleRegion[{40, -90, 10000}]]The visible region from geostationary orbit:
GeoGraphics[GeoVisibleRegion[{0, 0, Quantity[35786, "Kilometers"]}], GeoRange -> "World"]The region currently viewable from the International Space Station:
SatelliteData[Entity["Satellite", "25544"], "Position"]GeoGraphics[GeoVisibleRegion[%], GeoRange -> "World"]It only covers 3% of the total area of the Earth:
GeoArea[GeoVisibleRegion[Entity["Satellite", "25544"]]] / GeoArea["World"]Scope (4)
Visible region from a {lat,lon,h} position:
GeoGraphics[GeoVisibleRegion[{40, 20, 10000}]]Smaller heights correspond to smaller visible regions:
GeoGraphics[GeoVisibleRegion[{40, 20, 10}], GeoScaleBar -> "Kilometers"]For vanishing height, the visible region collapses to a point and default padding is used:
GeoGraphics[GeoVisibleRegion[{40, 20, 0}], GeoScaleBar -> "Kilometers"]Specify the coordinates as Quantity objects:
GeoGraphics[GeoVisibleRegion[{Quantity[1, "Radians"], Quantity[10, "AngularDegrees"], Quantity[3, "Kilometers"]}], GeoRangePadding -> Quantity[100, "Kilometers"]]Specify latitude and longitude as DMS strings:
GeoGraphics[GeoVisibleRegion[{"41d10m23s N", "112d21m58s W", Quantity[1, "Kilometers"]}]]Specify the viewing position as any type of geodetic position:
GeoGraphics[GeoVisibleRegion[GeoPosition[{40, 20, 10000}]]]Move vertically 1 kilometer from New York, assuming the city is on the reference ellipsoid:
p = GeoPositionENU[{0, 0, 1000}, Entity["City", {"NewYork", "NewYork", "UnitedStates"}]]GeoGraphics[GeoVisibleRegion[p]]Visible regions from a collection of different locations at different elevations:
GeoGraphics[GeoVisibleRegion[{{0, 0, 100000}, {40, 50, 50000}, {-20, -50, 200000}}]]Applications (1)
Show the region currently viewable from the International Space Station, together with its orbital track:
{loc, line} = SatelliteData[Entity["Satellite", "25544"], {EntityProperty["Satellite", "Position"], EntityProperty["Satellite", "SatelliteLocationLine"]}]GeoGraphics[{Gray, Thickness[0.005], Arrowheads[{{0.05, 0.4}, {0.05, 0.13}}], Arrow[GeoPath@@line], Red, PointSize[Large], Point[loc], Opacity[0.1], EdgeForm[Black], GeoVisibleRegion[loc]}, GeoCenter -> loc, GeoRange -> "World"]Properties & Relations (3)
The boundary of a GeoVisibleRegion primitive is given by GeoVisibleRegionBoundary:
GeoGraphics[{GeoVisibleRegion[{30, -90, 1000}], Red, GeoVisibleRegionBoundary[{30, -90, 1000}]}]Position and height of the Willis Tower:
building = Entity["Building", "WillisTower::8tzqg"];p = BuildingData[building, {"Latitude", "Longitude", "Height"}]image = BuildingData[building, "Image"]Show the region visible from the top of the building, assuming flat local terrain:
GeoGraphics[{
GeoStyling["StreetMapNoLabels"], EdgeForm[Black],
GeoVisibleRegion[p],
GeoMarker[building, image, "Scale" -> 1 / 4]
},
GeoBackground -> GeoStyling["StreetMapNoLabels", GeoStylingImageFunction -> (Darker[Blur[#, 15]]&)], GeoProjection -> "Mercator"]Horizon distance from elevation d, assuming a spherical Earth of radius
:
FormulaData[{"HorizonDistance", "Earth"}]Evaluate the formula for the height of the Willis Tower:
building = Entity["Building", "WillisTower::8tzqg"];pos = EntityValue[building, "Position"]height = EntityValue[building, "Height"]FormulaData[{"HorizonDistance", "Earth"}, {"h" -> height}]dist = UnitConvert[d /. Solve[%, {d, s}][[1]], "Kilometers"]Compare a GeoCircle of that radius with the result of GeoVisibleRegion:
GeoGraphics[{GeoVisibleRegion[Append[pos[[1]], height]], Red, GeoCircle[pos, dist]}, GeoBackground -> "Plain"]Zoom around the east border of the geo circle:
GeoGraphics[{{White, GeoVisibleRegion[Append[pos[[1]], height]]}, Red, GeoCircle[pos, dist]}, GeoRange -> 100, GeoCenter -> GeoDestination[pos, GeoDisplacement[{dist, "E"}]], GeoScaleBar -> "Meters"]Neat Examples (1)
Define a list of various notable (tall) North American structures:
buildings = {Entity["Building", "OneWorldTradeCenter::v6pj6"], Entity["Building", "LeVequeTower::s67m6"], Entity["Building", "WillisTower::8tzqg"], Entity["Building", "USBankTower::s8zkh"], Entity["Building", "SpaceNeedle::79xq6"], Entity["Building", "BankOfAmericaPlaza::rfk49"], Entity["Building", "GatewayArch::b5qvn"], Entity["Building", "BankOfAmericaCorporateCenter::vw739"], Entity["Building", "CNTower::b5s3m"], Entity["Building", "JPMorganChaseTower::388n8"], Entity["Building", "FourSeasonsHotel&Tower::x2768"], Entity["Building", "WellsFargoCenter::4p69b"]};Form a list of properties for each building:
buildingdata = BuildingData[#, {"Latitude", "Longitude", "Height", "Name", "Image"}]& /@ buildings;Show the visible region, assuming flat local terrain:
GeoGraphics[{
GeoStyling["StreetMapNoLabels"], EdgeForm[Black], Tooltip[GeoVisibleRegion[Take[#, 3]], Column[Take[#, -3] /. q_Quantity :> Round[q]]]& /@ buildingdata
},
GeoBackground -> GeoStyling["StreetMapNoLabels", GeoStylingImageFunction -> Darker], GeoProjection -> "Mercator"]Tech Notes
Related Guides
Text
Wolfram Research (2014), GeoVisibleRegion, Wolfram Language function, https://reference.wolfram.com/language/ref/GeoVisibleRegion.html (updated 2021).
CMS
Wolfram Language. 2014. "GeoVisibleRegion." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2021. https://reference.wolfram.com/language/ref/GeoVisibleRegion.html.
APA
Wolfram Language. (2014). GeoVisibleRegion. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/GeoVisibleRegion.html
BibTeX
@misc{reference.wolfram_2026_geovisibleregion, author="Wolfram Research", title="{GeoVisibleRegion}", year="2021", howpublished="\url{https://reference.wolfram.com/language/ref/GeoVisibleRegion.html}", note=[Accessed: 12-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_geovisibleregion, organization={Wolfram Research}, title={GeoVisibleRegion}, year={2021}, url={https://reference.wolfram.com/language/ref/GeoVisibleRegion.html}, note=[Accessed: 12-June-2026]}