EarthLocation#
- class astropy.coordinates.EarthLocation(*args, **kwargs)[源代码]#
基类:
Quantity
地球上的位置。
假设给定了地心坐标(x,y,z),则首先尝试初始化;如果失败,则假设大地坐标(参考椭球体上方的经度、纬度、高度)进行另一次尝试。当使用大地测量形式时,经度向东增加,因此西经度为负。在内部,坐标存储为地心坐标。
要确保使用特定类型的坐标,请使用相应的类方法 (
from_geocentric
和from_geodetic
)或者用名称初始化参数 (x
,y
,z
以地心为中心;lon
,lat
,height
用于大地测量)。有关详细信息,请参见类方法。笔记
这个类适合于坐标转换框架,因为它对
ITRS
框架。为了得到一个合适的ITRS
对象,使用itrs
财产。属性摘要
用于转换为大地坐标的默认椭球体。
转换为以X、Y和Z为量的元组。
转换为默认椭球体的大地坐标。
默认椭球体的位置高度。
用于存储诸如名称、描述、格式等元信息的容器。
一个
ITRS
对象获取此对象的默认位置。obstime
。默认椭球体的位置纬度。
默认椭球体的位置经度。
地心坐标的X分量。
地心坐标的Y分量。
地心坐标的Z分量。
方法总结
from_geocentric
(x, y, z[, unit])地球上的位置,从地心坐标初始化。
from_geodetic
(lon, lat[, height, ellipsoid])地球上的位置,从大地坐标初始化。
get_gcrs
\(BUBTIME)GCRS位置,速度为
obstime
作为GCRS坐标。get_gcrs_posvel
\(BUBTIME)计算GCRS在请求位置的位置和速度
obstime
.get_itrs
([obstime, location])生成一个
ITRS
使用此对象在请求的obstime
,地心的或相对于给定的地心的location
。get_site_names
(*[, refresh_cache])获取用于的观测站名称列表
of_site
.gravitational_redshift
(obstime[, bodies, masses])返回地球位置的引力红移。
of_address
(address[, get_height, google_api_key])通过查询OpenStreetMap提名工具为给定地址返回此类的对象 [1] (默认)或Google地理编码API [2], 它需要指定的API密钥。
of_site
(site_name, *[, refresh_cache])按名称返回已知天文台/站点的此类对象。
to_geocentric
\()转换为以X、Y和Z为量的元组。
to_geodetic
([ellipsoid])转换为大地坐标。
属性文档
- ellipsoid#
用于转换为大地坐标的默认椭球体。
- geocentric#
转换为以X、Y和Z为量的元组。
- geodetic#
转换为默认椭球体的大地坐标。
- height#
默认椭球体的位置高度。
- info#
用于存储诸如名称、描述、格式等元信息的容器。当对象用作表中的mixin列时,这是必需的,但也可以作为存储元信息的通用方法。
- lat#
默认椭球体的位置纬度。
- lon#
默认椭球体的位置经度。
- x#
地心坐标的X分量。
- y#
地心坐标的Y分量。
- z#
地心坐标的Z分量。
方法文件
- classmethod from_geocentric(x, y, z, unit=None)[源代码]#
地球上的位置,从地心坐标初始化。
- 参数:
- x, y, z :
Quantity
or array_like数量或数量:类似数组 笛卡尔坐标。如果不是数量,
unit
应该给。- unit : astropy:unit-like 或
None
AstPy:类单位或 Python :无 坐标值的物理单位。如果
x
,y
和/或z
是数量,它们将转换成这个单位。
- x, y, z :
- 加薪:
astropy.units.UnitsError
如果装置打开
x
,y
和z
不匹配或给定的单位无效。ValueError
如果
x
,y
和z
不匹配。TypeError
如果
x
不是一个Quantity
没有单位。
- classmethod from_geodetic(lon, lat, height=0.0, ellipsoid=None)[源代码]#
地球上的位置,从大地坐标初始化。
- 参数:
- lon :
Longitude
orfloat
经度或 Python :浮点 地球东经。可以是任何初始化
Angle
对象(如果是浮动的,以度为单位)。- lat :
Latitude
orfloat
纬度或 Python :浮点 地球纬度。可以是任何初始化
Latitude
对象(如果是浮动的,以度为单位)。- height :
Quantity
[:ref: 'length' ]或float
,可选数量 [:ref: 'length'] 或python:Float,可选 默认情况下,在椭圆体上浮动(如果高度在0米以上,则为浮动)。
- ellipsoid :
str
,可选Python:字符串,可选 要使用的参考椭球体的名称(默认值:“WGS84”)。可用的椭球体有:“WGS84”、“GRS80”、“WGS72”。
- lon :
- 加薪:
astropy.units.UnitsError
如果装置打开
lon
和lat
与有角的不一致,或者说height
有长度。ValueError
如果
lon
,lat
和height
不具有相同的形状,或者如果ellipsoid
不被认为是实施的措施之一。
笔记
对于地心坐标的转换,ERFA例程
gd2gc
被使用。看到了吗https://github.com/liberfa/erfa
- get_gcrs_posvel(obstime)[源代码]#
计算GCRS在请求位置的位置和速度
obstime
.- 参数:
- 观察时间 :
Time
时间 这个
obstime
计算GCRS的位置/速度。
- 观察时间 :
- 返回:
- 阻塞 :
CartesianRepresentation
CartesianRepresentation
对象的GCRS位置
- 观察层 :
CartesianRepresentation
CartesianRepresentation
物体的GCRS速度
- 阻塞 :
- classmethod get_site_names(*, refresh_cache=False)[源代码]#
获取用于的观测站名称列表
of_site
.备注
此函数用于从AstPy数据服务器访问站点注册表,该数据服务器保存在用户的本地缓存中。如果您希望在其中添加站点,请向 astropy-data repository 。如果缓存已经存在,该函数将使用它,即使Astery数据存储库中的版本已经更新,除非
refresh_cache=True
选项被使用。如果没有缓存并且无法访问在线版本,则此函数依赖于内置列表,该列表目前仅包含格林威治皇家天文台作为示例。- 参数:
- 返回:
参见
of_site
获取此返回的其中一个站点名称的实际位置对象。
- gravitational_redshift(obstime, bodies=['sun', 'jupiter', 'moon'], masses={})[源代码]#
返回地球位置的引力红移。
计算由于所请求的太阳系天体引起的3米/秒的重力红移。
- 参数:
- 返回:
- 红移 :
Quantity
数量 在给定的观测时间内速度单位的重力红移。
- 红移 :
- classmethod of_address(address, get_height=False, google_api_key=None)[源代码]#
通过查询OpenStreetMap提名工具为给定地址返回此类的对象 [1] (默认)或Google地理编码API [2], 它需要指定的API密钥。
这是一个快速方便的功能,可以方便地访问各个位置。如果需要指定精确的位置,则应直接使用初始值设定项并传入经度、纬度和高程。
在后台,它只向上面提到的任何一个api发出一个web查询。这不是故意的!OpenStreetMap和Google都使用基于IP的查询限制,如果你每小时发送超过几千个查询,就会禁止你的IP [2].
警告
如果查询返回多个位置(例如,搜索
address='springfield'
),此函数将使用 第一 返回的位置。- 参数:
- address :
str
Python :字符串 要获取其位置的地址。根据googlemapsapi,它可以是完全指定的街道地址(例如,123 Main St.,New York,NY)或城市名称(例如,Danbury,CT)或其他。
- get_height : bool ,可选可选的布尔
这只在使用googleapi时有效!见
google_api_key
在下面拦住。使用检索到的位置对googlemaps高程API执行第二次查询,以检索输入地址的高度 [3].- google_api_key :
str
,可选Python:字符串,可选 启用了地理编码API和(可选)elevation API的Google API密钥。看到了吗 [4] 更多信息。
- address :
- 返回:
- 位置 :
EarthLocation
(或子类)实例EarthLocation(或子类)实例 输入地址的位置。将为type(此类)
- 位置 :
工具书类
- classmethod of_site(site_name, *, refresh_cache=False)[源代码]#
按名称返回已知天文台/站点的此类对象。
这是一个快速方便的功能,以获取基本的站点信息,而不是一个功能齐全的详尽的天文台及其所有属性的登记册。
有关站点的其他信息存储在
.info.meta
使用此方法获得的站点字典(参见下面的示例)。备注
此函数用于从AstPy数据服务器访问站点注册表,该数据服务器保存在用户的本地缓存中。如果您希望在其中添加站点,请向 astropy-data repository 。如果缓存已经存在,该函数将使用它,即使Astery数据存储库中的版本已经更新,除非
refresh_cache=True
选项被使用。如果没有缓存并且无法访问在线版本,则此函数依赖于内置列表,该列表目前仅包含格林威治皇家天文台作为示例。- 参数:
- 返回:
- site :
EarthLocation
(或子类)实例EarthLocation(或子类)实例 天文台的位置。返回的类将与此类相同。
- site :
参见
get_site_names
此函数可以访问的站点列表
实例
>>> from astropy.coordinates import EarthLocation >>> keck = EarthLocation.of_site('Keck Observatory') >>> keck.geodetic GeodeticLocation(lon=<Longitude -155.47833333 deg>, lat=<Latitude 19.82833333 deg>, height=<Quantity 4160. m>) >>> keck.info name = W. M. Keck Observatory dtype = (float64, float64, float64) unit = m class = EarthLocation n_bad = 0 >>> keck.info.meta {'source': 'IRAF Observatory Database', 'timezone': 'US/Hawaii'}
- to_geodetic(ellipsoid=None)[源代码]#
转换为大地坐标。
- 参数:
- ellipsoid :
str
,可选Python:字符串,可选 要使用的参考椭球体。默认值是初始化坐标时使用的坐标。可提供:“WGS84”、“GRS80”、“WGS72”
- ellipsoid :
- 返回:
- 加薪:
ValueError
如果
ellipsoid
不被认为是实施的措施之一。
笔记
对于大地坐标的转换,ERFA例程
gc2gd
被使用。看到了吗https://github.com/liberfa/erfa