GeoVisibleRegionBoundary[{lat,lon,h}]
準拠楕円体上の,座標 lat,lon,高さ h の点から見える,地表の領域の境界を表す一次元GeoGraphicsプリミティブである.
位置 pos から見える領域の境界を表す.
GeoVisibleRegionBoundary[{pos1,pos2,…}]
位置 posiから見える領域の境界の集合を表す.
GeoVisibleRegionBoundary
GeoVisibleRegionBoundary[{lat,lon,h}]
準拠楕円体上の,座標 lat,lon,高さ h の点から見える,地表の領域の境界を表す一次元GeoGraphicsプリミティブである.
位置 pos から見える領域の境界を表す.
GeoVisibleRegionBoundary[{pos1,pos2,…}]
位置 posiから見える領域の境界の集合を表す.
詳細
- GeoVisibleRegionBoundaryは,地球が楕円体であると仮定し,地表の高度は考慮しない.大気屈折についての補正は含まれていない.
- GeoVisibleRegionBoundary[{lat,lon,h}]の角 lat,lon は,度を単位とした数値オブジェクトとして,DMS文字列として,あるいはQuantity角として与えることができる.
- GeoVisibleRegionBoundary[{lat,lon,h}]における高さ h は,メートルを単位とした数値として,あるいはQuantity長として与えることができる.
例題
すべて開く すべて閉じる例 (3)
GeoGraphics[GeoVisibleRegionBoundary[{40, -90, 10000}]]GeoGraphics[GeoVisibleRegionBoundary[{0, 0, Quantity[35786, "Kilometers"]}]]SatelliteData[Entity["Satellite", "25544"], "Position"]GeoGraphics[GeoVisibleRegionBoundary[%], GeoRange -> All]スコープ (4)
GeoGraphics[GeoVisibleRegionBoundary[{40, 20, 10000}]]GeoGraphics[GeoVisibleRegionBoundary[{40, 20, 10}], GeoScaleBar -> "Kilometers"]高さがなくなると見える領域は点になり,デフォルトの充填が使われる:
GeoGraphics[GeoVisibleRegionBoundary[{40, 20, 0}], GeoScaleBar -> "Kilometers"]座標をQuantityオブジェクトとして指定する:
GeoGraphics[GeoVisibleRegionBoundary[{Quantity[1, "Radians"], Quantity[10, "AngularDegrees"], Quantity[3, "Kilometers"]}], GeoRangePadding -> Quantity[100, "Kilometers"]]GeoGraphics[GeoVisibleRegionBoundary[{"41d10m23s N", "112d21m58s W", Quantity[1, "Kilometers"]}]]GeoGraphics[GeoVisibleRegionBoundary[GeoPosition[{40, 20, 10000}]]]ニューヨーク市が準拠楕円体上にあると仮定して,そこから垂直に1キロ移動する:
p = GeoPositionENU[{0, 0, 1000}, Entity["City", {"NewYork", "NewYork", "UnitedStates"}]]GeoGraphics[GeoVisibleRegionBoundary[p]]GeoGraphics[GeoVisibleRegionBoundary[{{0, 0, 100000}, {40, 50, 50000}, {-20, -50, 200000}}]]アプリケーション (1)
国際宇宙ステーションから現在見える領域の境界を,軌道跡とともに示す:
With[{data = 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@@data[[2]], Red, PointSize[Large], Point[data[[1]]], Black, GeoVisibleRegionBoundary[data[[1]]]}, GeoCenter -> data[[1]], GeoRange -> "World"]]特性と関係 (3)
GeoVisibleRegionBoundaryはGeoVisibleRegionプリミティブの境界に相当する:
GeoGraphics[{GeoVisibleRegion[{30, -90, 1000}], Red, GeoVisibleRegionBoundary[{30, -90, 1000}]}]building = Entity["Building", "WillisTower::8tzqg"];p = BuildingData[building, {"Latitude", "Longitude", "Height"}]image = BuildingData[building, "Image"]地域が平らであると仮定して,ビルの屋上から見える領域を示す:
GeoGraphics[{
GeoVisibleRegionBoundary[p],
GeoMarker[building, image, "Scale" -> 1 / 4]
}]FormulaData[{"HorizonDistance", "Earth"}]building = Entity["Building", "WillisTower::8tzqg"];pos = BuildingData[building, "Position"]height = BuildingData[building, "Height"]FormulaData[{"HorizonDistance", "Earth"}, {"h" -> height}]dist = UnitConvert[d /. Solve[%, {d, s}][[1]], "Kilometers"]その半径のGeoDiskをGeoVisibleRegionBoundaryの結果と比較する:
GeoGraphics[{GeoDisk[pos, dist], Red, GeoVisibleRegionBoundary[Append[pos[[1]], height]]}]GeoGraphics[{White, GeoDisk[pos, dist], Red, GeoVisibleRegionBoundary[Append[pos[[1]], height]]}, GeoRange -> 100, GeoCenter -> GeoDestination[pos, GeoDisplacement[{dist, "E"}]], GeoScaleBar -> "Meters"]インタラクティブな例題 (1)
半軸が{a,b}の楕円体,その中心と地心経度 α から距離rにある点を取る.そうすると,可視領域の境界は以下のようにパラメータ化される:
f[{a_, b_}, α_] := (a b Sqrt[2]/Sqrt[a^2 + b^2 - (a^2 - b^2) Cos[2 α]])
horizon[λ_, {a_, b_}, {r_, α_}] := With[{k = f[{a, b}, α]}, (k^2 {Cos[α], 0, Sin[α]}/r) + Sqrt[1 - (k^2/r^2)] {-(a Sin[α] k Sin[λ]/b), a Cos[λ], (b Cos[α] k Sin[λ]/a)}]視点は赤で,可視領域境界は青で示す.これは,青で彩色されたベクトルに直交する平面曲線になる:
Manipulate[Block[{a = ab[[1]], b = ab[[2]]}, Show[{Graphics3D[{Opacity[0.5], Ellipsoid[{0, 0, 0}, {a, a, b}], Red, Arrow[Tube[r {{0, 0, 0}, {Cos[α], 0, Sin[α]}}]], Blue, Arrow[Tube[0.75 {{0, 0, 0}, {b^2 Cos[α], 0, a^2 Sin[α]}}]], Opacity[1], PointSize[Large], Darker[Red], Point[r {Cos[α], 0, Sin[α]}]}], ParametricPlot3D[horizon[λ, {a, b}, {r, α}], {λ, 0, 2 π}, PlotStyle -> {Blue, Tube[0.03 Mean[{a, b}]]}], If[sc, ParametricPlot3D[r {Cos[α], 0, Sin[α]} + s (horizon[λ, {a, b}, {r, α}] - r {Cos[α], 0, Sin[α]}), {λ, 0, 2 π}, {s, 0, 1.5}, Mesh -> 10, MeshStyle -> Gray, PlotStyle -> Directive[{Opacity[0.3], Yellow}], MeshFunctions -> {#4&}], {}]}, Axes -> True, AxesLabel -> {x, y, z}, PlotLabel -> If[f[{a, b}, α] > r, "point inside", ""]]], {{r, 5.4}, 0, 20}, {{α, (π/8)}, -(π/2), (π/2)}, {{sc, False, "show tangent cone"}, {True, False}}, Delimiter, {{ab, {3, 1}, "a/b"}, {1, 1}, {4, 4}}]おもしろい例題 (1)
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"]};buildingdata = BuildingData[#, {"Latitude", "Longitude", "Height", "Name", "Image"}]& /@ buildings;GeoGraphics[{
GeoStyling["StreetMapNoLabels"], Tooltip[GeoVisibleRegionBoundary[Take[#, 3]], Column[Take[#, -3] /. q_Quantity :> Round[q]]]& /@ buildingdata
},
GeoBackground -> GeoStyling["StreetMapNoLabels"], GeoProjection -> "Mercator"]テクニカルノート
関連するガイド
-
▪
- 地図と地図製作
テキスト
Wolfram Research (2014), GeoVisibleRegionBoundary, Wolfram言語関数, https://reference.wolfram.com/language/ref/GeoVisibleRegionBoundary.html (2021年に更新).
CMS
Wolfram Language. 2014. "GeoVisibleRegionBoundary." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2021. https://reference.wolfram.com/language/ref/GeoVisibleRegionBoundary.html.
APA
Wolfram Language. (2014). GeoVisibleRegionBoundary. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/GeoVisibleRegionBoundary.html
BibTeX
@misc{reference.wolfram_2026_geovisibleregionboundary, author="Wolfram Research", title="{GeoVisibleRegionBoundary}", year="2021", howpublished="\url{https://reference.wolfram.com/language/ref/GeoVisibleRegionBoundary.html}", note=[Accessed: 03-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_geovisibleregionboundary, organization={Wolfram Research}, title={GeoVisibleRegionBoundary}, year={2021}, url={https://reference.wolfram.com/language/ref/GeoVisibleRegionBoundary.html}, note=[Accessed: 03-November-2026]}