重量是多少?
一个物体在重力场中的重量是其质量和在该物体所处重力场的乘积. 地球表面的重力场不是恒定的,因此相同物体的重量在不同位置有所变化. 本例对重力场的大小随海拔和纬度的变化进行了考察.
GeogravityModelData 计算地球重力场在给定位置上的几个属性.
In[1]:=

GeogravityModelData[GeoPosition[{0, 0}]]
Out[1]=

其使用了 GeoElevationData 提供的地形海拔.
In[2]:=

GeoElevationData[GeoPosition[{0, 0}]]
Out[2]=

忽略其他影响,在纬度相近而海拔更高的位置上,重力场一般较小.
In[3]:=

GeoPosition[Entity["City", {"Quito", "Pichincha", "Ecuador"}]]
Out[3]=

In[4]:=

GeoPosition[Entity["City", {"Quito", "Pichincha", "Ecuador"}]];
{GeoElevationData[%, UnitSystem -> "Metric"],
GeogravityModelData[%, "Magnitude"]}
Out[4]=

计算在赤道等分点重力场的大小.
In[5]:=

equatorialgravity =
GeogravityModelData[{GeoPosition[{0, -180}], GeoPosition[{5, 180}]},
"Magnitude"][[1]]
Out[5]=

In[6]:=

ListPlot[equatorialgravity, Joined -> True]
Out[6]=

下面的直方图有两个峰值,分别对应陆地区域和海洋底部.
In[7]:=

Histogram[equatorialgravity, 20]
Out[7]=

将重力场大小覆盖在地球的地势图上.
In[8]:=

equatorialgravityplot =
ListPlot[equatorialgravity, Axes -> False, Joined -> True,
AspectRatio -> 1/8, PlotRangePadding -> None, ImagePadding -> None,
ImageSize -> 400, PlotStyle -> Red];
In[9]:=

worldmap =
GeoGraphics[GeoPath["Equator"], GeoRange -> "World",
ImageSize -> 400, GeoBackground -> "ReliefMap"];
In[10]:=

Overlay[{worldmap, equatorialgravityplot}, Alignment -> Center]
Out[10]=

为显示随纬度的变化,我们在经度上对重力场大小进行平均,并相对纬度显示其结果.
In[11]:=

gravity =
Mean /@ GeogravityModelData[{GeoPosition[{-90, -180}],
GeoPosition[{90, 180}]}, "Magnitude"];
由于添加了海拔,南极洲有一个明显的低纬度效应.
In[12]:=

ListPlot[gravity, DataRange -> {-90, 90}]
Out[12]=

In[13]:=

MinMax[gravity]
Out[13]=

因此,根据测量地点的不同,一个给定物体的重量可能会有 0.5% 的变化.
In[14]:=

MinMax[gravity];
1 - First[%]/Last[%]