GeoGridUnitArea[proj,loc]
给出与通过投影 proj 获得的地理网格上的单位面积相对应的实际地理面积,在位置 loc 周围的小地理区域范围内进行计算.
GeoGridUnitArea
GeoGridUnitArea[proj,loc]
给出与通过投影 proj 获得的地理网格上的单位面积相对应的实际地理面积,在位置 loc 周围的小地理区域范围内进行计算.
更多信息和选项
- GeoGridUnitArea 描述了由给定位置周围的地理投影引起的区域局部变形.
- GeoGridUnitArea 将全球名义比例尺(地理模型相对于地图参考模型的缩小因子,传统上用 1:125000 及类似值表示)和地理投影引起的区域局部变形相结合.
- GeoGridUnitArea[…] 的结果对应于(地球或其他天体的)地理模型上 Quantity 地理面积与投影地理网格的无单位面积的比.
- 可用具有默认参数的已命名投影 "proj" 或 {"proj",params} 给出地理投影,其中 "proj" 为 GeoProjectionData 的任一实体,params 为参数规则,如 "StandardParallels"->{33,60}. GeoProjectionData["proj"] 给出投影 "proj" 的默认参数值.
- 可用单位为度的坐标对 {lat,lon}、如 GeoPosition[…] 的地理位置对象、 GeoGridPosition[…] 或地理实体Entity[…] 给出位置 loc.
- GeoGridUnitArea 逐项作用于位置和方向参数.
- GeoGridUnitArea 的可能的选项包括:
-
GeoModel Automatic 地球模型或天体 UnitSystem $UnitSystem 结果中使用的单位系统
范例
打开所有单元 关闭所有单元基本范例 (1)
scale = GeoGridUnitArea["Mercator", Entity["Building", "EiffelTower::5h9w8"]]0.01 ^ 2scalexy = GeoGridPosition[Entity["Building", "EiffelTower::5h9w8"], "Mercator"]["GridXY"]GeoGraphics[{Opacity[0.2], Rectangle[xy - {0.005, 0.005}, xy + {0.005, 0.005}]}, GeoProjection -> "Mercator", Frame -> True, PlotRangePadding -> 0.003]范围 (5)
计算你所在位置处 "VanDerGrinten" 投影的地理网格单位面积:
GeoGridUnitArea["VanDerGrinten", Here]GeoProjectionData["VanDerGrinten"]GeoGridUnitArea[{"VanDerGrinten", "ReferenceModel" -> 1000}, Here]GeoGridUnitArea[{"VanDerGrinten", "Centering" -> {-40, 150}}, Here]GeoGridUnitArea["Orthographic", {-80.5, 30.32}]GeoGridUnitArea["Orthographic", GeoPosition[{-80.5, 30.32}]]GeoGridUnitArea["Orthographic", GeoPositionXYZ[{911681, 533170, -6268998}]]GeoGridUnitArea["Orthographic", GeoGridPosition[{0.714285, -0.753047}, "Albers"]]用地理 Entity 对象指定位置:
GeoGridUnitArea["Albers", Entity["City", {"Toronto", "Ontario", "Canada"}]]GeoGridUnitArea["Mollweide", {GeoPosition[{10, 40}], GeoGridPosition[{-30.3, 20}, "Mercator"], {85, 178}}]将 QuantityArray 输出转换为普通形式:
%//NormalGeoGridUnitArea 可有效处理大量位置:
locs = RandomGeoPosition["World", 10 ^ 6];GeoGridUnitArea["Mollweide", locs]//AbsoluteTiming选项 (2)
GeoModel (1)
默认情况下,GeoGridUnitArea 返回地球的值:
GeoGridUnitArea["Bonne", {50, -100}]GeoGridUnitArea["Bonne", {50, -100}, GeoModel -> "Moon"]GeoGridUnitArea["Bonne", {50, -100}, GeoModel -> Quantity[2000, "Kilometers"]]应用 (3)
Plot3D[GeoGridUnitArea["Mercator", {lat, lon}], {lat, -89, 89}, {lon, -180, 180}]通过 GeoGridUnitArea 用地图中的投影面积来求小区域的近似地理面积:
geopol = EntityValue[Entity["City", {"SanFrancisco", "California", "UnitedStates"}], "Polygon"]pol = GeoGridPosition[geopol, "Albers"]Area[pol /. GeoGridPosition[expr_, proj_] :> expr]% GeoGridUnitArea["Albers", Entity["City", {"SanFrancisco", "California", "UnitedStates"}]]geopol//GeoAreaGeoGraphics[{Opacity[0.5], Disk[{0, 0}, 1]}, GeoRange -> "World", GeoProjection -> "ConicEquidistant", Frame -> True, Axes -> True]area[x_Real, y_Real] := QuantityMagnitude[GeoGridUnitArea["ConicEquidistant", GeoGridPosition[{x, y}, "ConicEquidistant"], GeoModel -> "ITRF00"], "Kilometers" ^ 2];Quantity[NIntegrate[area[x, y], {x, y}∈Disk[{0, 0}, 1]], "Kilometers" ^ 2]GeoGridPosition[N@CirclePoints[10000], "ConicEquidistant"]GeoArea[Polygon[GeoPosition[%]], UnitSystem -> "Metric"]属性和关系 (3)
loc = Entity["Lake", "LakeVictoria::b8795"];proj = "WagnerI";{x, y} = GeoGridPosition[loc, proj]["GridXY"]square[s_] := Polygon[{{x - s, y + s}, {x + s, y + s}, {x + s, y - s}, {x - s, y - s}}]squares = square /@ PowerRange[1, 1 / 2000, 1 / 2];GeoGraphics[{EdgeForm[Black], FaceForm[], squares}, GeoRange -> "World", GeoProjection -> proj, Frame -> True]ratio[pol_] := GeoArea[GeoPosition[GeoGridPosition[#, proj]& /@ pol]] / Area[pol]ratio /@ squares结果收敛到 GeoGridUnitArea 为在该位置处的投影给出的值:
GeoGridUnitArea[proj, loc, GeoModel -> "ITRF00"]proj = GeoProjectionData["Mollweide"]GeoGridUnitArea["Mollweide", GeoPosition[{10, 20}], GeoModel -> #]& /@ Quantity[{10, 100, 1000}, "Kilometers"]GeoGridUnitArea[{"Mollweide", "ReferenceModel" -> #}, GeoPosition[{10, 20}]]& /@ {10, 100, 1000}GeoGridUnitArea[{"Mollweide", "CentralScaleFactor" -> #}, GeoPosition[{10, 20}]]& /@ {10, 100, 1000}equalarea = GeoProjectionData["EqualArea"]对于世界各地的随机位置集合,请检查投影单位面积的范围是否为零宽度:
points = RandomGeoPosition["World", 1000];MinMax /@ QuantityMagnitude[GeoGridUnitArea[{#, "ReferenceModel" -> 1}, points, GeoModel -> Quantity[1, "Meters"]]& /@ equalarea, "Meters" ^ 2]可能存在的问题 (1)
如果无法对地理位置进行投影,则无法计算该位置的投影单位面积:
GeoGridPosition[GeoPosition[{20, 120}], "Orthographic"]GeoGridUnitArea["Orthographic", GeoPosition[{20, 120}]]此位置不在具有默认中心的 "Orthographic" 投影覆盖的半个地球上:
GeoGraphics[GeoRange -> "World", GeoProjection -> "Orthographic", GeoGridLines -> Automatic]技术笔记
文本
Wolfram Research (2019),GeoGridUnitArea,Wolfram 语言函数,https://reference.wolfram.com/language/ref/GeoGridUnitArea.html.
CMS
Wolfram 语言. 2019. "GeoGridUnitArea." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/GeoGridUnitArea.html.
APA
Wolfram 语言. (2019). GeoGridUnitArea. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/GeoGridUnitArea.html 年
BibTeX
@misc{reference.wolfram_2026_geogridunitarea, author="Wolfram Research", title="{GeoGridUnitArea}", year="2019", howpublished="\url{https://reference.wolfram.com/language/ref/GeoGridUnitArea.html}", note=[Accessed: 04-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_geogridunitarea, organization={Wolfram Research}, title={GeoGridUnitArea}, year={2019}, url={https://reference.wolfram.com/language/ref/GeoGridUnitArea.html}, note=[Accessed: 04-November-2026]}