GeoPosition

GeoPosition[{lat,lon}]

表示纬度为 lat、经度为 lon 的地理位置.

GeoPosition[{lat,lon,h}]

表示相对于参考椭球的高度为 h 的测地位置.

GeoPosition[{lat,lon,h},datum]

表示按照指定基准的测地位置.

GeoPosition[{{lat1,lon1},{lat2,lon2},},datum]

表示由测地位置组成的数组.

GeoPosition[entity]

返回指定地理实体的测地位置.

更多信息

  • GeoPosition[{lat,lon}] 中的纬度和经度值可以以十进制度数、DMS 字符串或者 Quantity 角度给出.
  • GeoPosition[{lat,lon,h}] 中的高度 h 可以用以米为单位的数值对象或者 Quantity 长度给出.
  • GeoPosition[{lat,lon,h}] 中的高度 h 是测地高度,关于参考椭球测量.
  • GeoPosition[{lat,lon,h,t}] 包含可以以数值对象或者 DateObject 规范给出的时间 t. 数值 t 表示从 1900 年1 月 1 日开始测量的以秒为单位的格林尼治时间.
  • 有效的纬度是 到 90 度. 经度传统上一般介于 到 180 度间,没有约束且被诠释为模 360 度.
  • 没有显式高度的 GeoPosition 对象假定关于参考椭球高度为零. 没有显式时间的 GeoPosition 假定使用当前日期.
  • GeoPosition[{lat,lon}] 假设使用默认基准 "ITRF00".
  • 标准基准可以用名称指定. 典型的已命名基准包括:
  • "ITRF00"国际地球参考框架 2000
    "NAD27"1927 年的北美基准
    "NAD83CORS96"1983 年的北美基准(CORS96)
  • 已命名基准和参考椭球的完整列表由 GeodesyData[] 给出.
  • GeoPosition[GeoPosition[{lat,lon},datum1],datum2] 在基准之间转化.
  • GeoPosition[pos,datum] 从任意地理位置类型转化. 可以给出下列坐标类型:GeoPositionGeoPositionXYZGeoPositionENUGeoGridPosition.
  • GeoPosition[pos] 从任何地理位置转化,保持和 pos 同样的的基准.
  • GeoPosition 可以使用 GeoPosition[coords,body] 表示地球外的天体上的测地位置,其中 body 是域为 "Planet""MinorPlanet" 或者 "PlanetaryMoon"Entity 对象.
  • 对于具有 Exif 地点信息的 imageGeoPosition[image]GeoPosition 对象返回该信息.
  • 对于扩展实体,GeoPosition[entity] 尽可能使用实体的地理中心的位置.
  • GeoPosition[][prop] 给出地理位置的指定属性:
  • 可能的属性包括:
  • "AbsoluteTime"从 1900 年 1 月 1 日 GMT 00:00 开始计算的日期,以秒数计
    "Count"GeoPosition 对象中的位置的数量
    "Data"GeoPosition 对象的第一个参数
    "DateList"GMT 时间的日期列表 {y,m,d,h,m,s}
    "DateObject"完整的日期对象
    "Datum"GeoPosition 对象的基准
    "Depth"点的深度:0 是单个位置,1 是它们的列表,
    "Dimension"每个位置的坐标数
    "Elevation"相对于椭圆体,以米为单位的数字高程
    "Latitude"以度为单位的数字纬度
    "LatitudeLongitude"以度为单位的数字 {lat,lon}
    "Longitude"以度为单位的数字经度
    "LongitudeLatitude"以度为单位的数字 {lon,lat}
    "PackingType"如果数据打包,则是 IntegerReal,否则为 None

范例

打开所有单元关闭所有单元

基本范例  (4)

默认参考框架中的测地位置:

城市的地理位置:

国际空间站的当前位置,包括高度和时间信息:

显式指定 ITRF00 参考框架的位置:

把这个位置转化为 NAD 83(CORS96)坐标:

转换为笛卡尔地心坐标:

转化回测地坐标:

转化回 ITRF00:

范围  (17)

位置规范  (9)

分别由纬度和经度值标明的地理位置,都是以度数为单位:

指定高度,以米为单位:

再指定时间,以秒为单位,从 1900 年开始:

给出地理实体的平均地点:

Quantity 对象给出的角度转化为数值角度,以度为单位:

高度和日期也分别规范化为以米和秒为单位:

作为 DMS 字符串的输入角度:

以 DMS 字符串形式写出 GeoPosition 对象:

没有高度信息的 GeoPosition 对象假定测地高度为零:

没有时间信息的 GeoPosition 对象假定具有当前日期:

从图像中提取 Exif 位置信息:

指定基准的地理位置:

转化为一个不同的基准:

转化为原始基准:

高度按照基准修改,而不是时间:

已命名位置:

下面是根据 GeomagneticModelData 确定的磁极的当前位置:

测地位置数组  (4)

若要加速运算,使用点组成的数组作为第一个参数:

所有点一次性转化:

这里每个点分别转化:

结果在数值误差上一致:

基准的更改在使用点数组作为第一个参数时也更快:

GeoPosition 可包含嵌套的点的列表,只要所有点的长度和深度一致即可:

运算过程中保持嵌套结构:

但是,不允许出现以下结构,因为第一个点有高度规范,第二个却没有:

不允许出现以下结构,因为第二个点比第一个点深:

将一个测地位置列表转换为单一的测地位置数组:

重新转换回测地位置列表:

坐标提取  (4)

使用 DateValue 提取日期信息:

GeoPosition 中的数值时间被解释为格林威治标准时间. 转换为当地时间:

提取作为整数的年份:

GeoPosition 对象提取坐标:

提取纬度、经度或两者,作为 Quantity 角度:

使用属性从 GeoPosition 对象中提取信息:

使用属性从 GeoPosition 数组中提取信息:

有 200 点:

是点矩阵,因此有点深度 2:

每个点有维度 2,即经纬度:

RandomGeoPosition 返回包含类型 Real 的打包数组的 GeoPosition 对象:

任何其他属性会返回对应数组点的值数组:

推广和延伸  (3)

使用半径为100公里的球面上的位置:

转化为三维向量:

向量分量以米为单位给出:

转化回球面上的 GeoPosition 对象:

使用给定半轴的椭球上的位置:

转化为三维向量:

转化回椭球上的 GeoPosition 对象:

地理参考模型(而不是地球)上的位置:

从第谷布拉赫陨石坑到火星南极的距离:

使用这些半轴长度的椭球执行计算:

应用  (3)

GeoPosition 是 Wolfram 语言中的主要对象,表示地球上的类点位置:

计算两个点之间的距离:

计算从 pq 的初始测地方向:

绘制它们之间的测地线和各自的地理圆环:

检查从 p 开始的测地线的终端确实是点 q

EntityValue 返回的地理位置以 GeoPosition 对象给出:

它们也可以包括高度和时间信息:

地理多边形在 GeoPosition 头部内有坐标:

绘制多边形或者它的边界:

属性和关系  (7)

假定测地高度为0,关于基准的参考框架,将测地地点转化为三维笛卡尔向量:

转化回 GeoPosition 规范,目前具有一些小的高度残差:

对于具有这些半轴长度的椭球,把测地坐标转化为笛卡尔坐标:

采用测地纬度60°、经度为零、测地高度为0.15的点 p

转化为笛卡尔坐标:

转化回测地坐标:

采用具有相同纬度和经度,但高度为零的点 q

表示椭球的垂直割线的坐标之间的关系:

蓝线与 q 处的切线垂直,并且与 轴形成60°角:

沿着测地垂直线的测地高度 ppq 之间的距离:

使用各种地理投影的测地位置的投影,使用默认参数:

转化回 GeoPosition 规范:

GeoPosition 对象的对跖点是另一个 GeoPosition 对象:

GeoPosition[{}] 表示地理位置的空数组:

包含零位置:

GeoPosition[] 是无效语法:

GeoPositionGraphics 基元内将坐标标记为 {lat,lon}

包含 GeoPosition 坐标的 Graphics 基于在投影地图上通过直线段构成:

可能存在的问题  (2)

Degree 被当作任意其他数值表达式:

使用 Quantity 表示以弧度为单位给出的角度:

从 Wolfram 语言第10版开始,数值时间解释为1900开始以秒为单位给出的时间,而不是年份:

巧妙范例  (1)

取一个具有 Exif 地点信息的图像列表:

提取它们各自的位置:

在地图上绘制这些点,使用工具提示条显示各自的图像:

Wolfram Research (2008),GeoPosition,Wolfram 语言函数,https://reference.wolfram.com/language/ref/GeoPosition.html (更新于 2019 年).

文本

Wolfram Research (2008),GeoPosition,Wolfram 语言函数,https://reference.wolfram.com/language/ref/GeoPosition.html (更新于 2019 年).

CMS

Wolfram 语言. 2008. "GeoPosition." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2019. https://reference.wolfram.com/language/ref/GeoPosition.html.

APA

Wolfram 语言. (2008). GeoPosition. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/GeoPosition.html 年

BibTeX

@misc{reference.wolfram_2024_geoposition, author="Wolfram Research", title="{GeoPosition}", year="2019", howpublished="\url{https://reference.wolfram.com/language/ref/GeoPosition.html}", note=[Accessed: 17-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_geoposition, organization={Wolfram Research}, title={GeoPosition}, year={2019}, url={https://reference.wolfram.com/language/ref/GeoPosition.html}, note=[Accessed: 17-November-2024 ]}