坐标参考系#

cartopy.crs.CRS 类是制图的核心,制图中的所有坐标参考系都有 CRS 作为父类,这意味着所有投影都具有如下所述的接口。

class cartopy.crs.CRS(proj4_params, globe=None)[源代码]

使用proj定义坐标参考系。的 cartopy.crs.CRS 类是制图的核心,制图中的所有坐标参考系都有 CRS 作为家长班。

参数:
  • proj4_params (iterable of key-value pairs) -- 定义所需CRS所需的proj4参数。 参数不应描述所需的椭圆模型,而应创建适当的Globe实例。的 proj4_params 参数将覆盖Globe定义的任何参数。

  • globe (Globe instance, optional) -- 如果省略,将创建默认Globe实例。看到 Globe 有关详细信息

globe#

Globe 此CRS的实例。

as_geocentric()[源代码]

返回与此CRS具有相同椭圆/基准的新地心CRS。

as_geodetic()[源代码]

返回与此CRS具有相同椭圆/基准的新Geodetic CRS。

transform_point(x, y, src_crs)[源代码]

在给定的源坐标系中变换给定的float 64坐标对 (src_crs ),到这个坐标系。

参数:
  • x -- x坐标,在 src_crs 坐标,要转换

  • y -- y坐标,在 src_crs 坐标,要转换

  • src_crs -- 实例 CRS 它代表的坐标系 xy .

  • trap -- 是否应捕获“纬度或经度超标”和“容差条件误差”的项目错误。

返回:

(x, y) in this coordinate system

transform_points(src_crs, x, y[, z])[源代码]

在给定源坐标系中变换给定坐标 (src_crs ),到这个坐标系。

参数:
  • src_crs -- 实例 CRS 它代表的坐标系 x , yz .

  • x -- x坐标(数组),在 src_crs 坐标,要转换。 可能是一维或二维的。

  • y -- y坐标(数组),在 src_crs 坐标,要转换。 它的形状必须与x的形状相匹配。

  • z (optional) -- z坐标(数组),在 src_crs 坐标,要转换。 切换到无。如果提供,则其形状必须与x的形状匹配。

  • trap -- 是否应捕获“纬度或经度超标”和“容差条件误差”的项目错误。

返回:

形状数组 x.shape + (3, ) 在这个坐标系中。

transform_vectors(src_proj, x, y, u, v)[源代码]

用给定源坐标系中的坐标变换给定的载体分量 (src_proj ),到这个坐标系。必须给出相对于源投影的坐标参考系(网格向东,网格向北)的方向。

参数:
  • src_proj -- 的 CRS.Projection 它表示定义了这些载体的坐标系。

  • x -- 源投影中载体的x坐标。

  • y -- 源投影中载体的y坐标。

  • u -- 载体的网格向东分量。

  • v -- 载体的网格北向分量。

备注

x、y、u和v可以是1维或2维的,但必须都具有匹配的形状。

返回:

ut, vt ( The transformed vector components. )

备注

用于变换载体的算法是一种逼近而不是精确变换,但准确性应该足够好以实现可视化目的。

Globe 类用于封装任何Cartopy CRS的基础球体或椭圆体。所有CRS都有相关的 Globe ,尽管通常这只是默认的 Globe 其代表参考椭圆体(即“wgs 84”)。

class cartopy.crs.Globe(datum=None, ellipse='WGS84', semimajor_axis=None, semiminor_axis=None, flattening=None, inverse_flattening=None, towgs84=None, nadgrids=None)[源代码]

定义椭圆体,并(可选)定义如何将其与现实世界关联起来。

参数:
  • datum -- 投影“基准”定义。切换到无。

  • ellipse -- 项目“埃尔普斯”的定义。我是WGS 84

  • semimajor_axis -- 球体/椭圆体的半长轴。 切换到无。

  • semiminor_axis -- 椭圆体的半小轴。 切换到无。

  • flattening -- 椭圆体的压平。 切换到无。

  • inverse_flattening -- 椭圆体的反向压平。 切换到无。

  • towgs84 -- 传递到Proj定义。 切换到无。

  • nadgrids -- 传递到Proj定义。 切换到无。

最常见的 CRS 子类本身就是另一个抽象类; cartopy.crs.Projection 类代表一个2维坐标系,可以直接绘制为地图(即在一张扁平的纸上)。 Projection 是中所有投影的父类 Cartopy投影列表 .

class cartopy.crs.Projection(*args, **kwargs)[源代码]

定义具有平坦布局和欧几里得距离的投影坐标系。

参数:
  • proj4_params (iterable of key-value pairs) -- 定义所需CRS所需的proj4参数。 参数不应描述所需的椭圆模型,而应创建适当的Globe实例。的 proj4_params 参数将覆盖Globe定义的任何参数。

  • globe (Globe instance, optional) -- 如果省略,将创建默认Globe实例。看到 Globe 有关详细信息

project_geometry(geometry, src_crs=None)[源代码]

将给定的几何体投影到此投影中。

参数:
  • geometry -- 要(重新)投影的几何图形。

  • src_crs (optional) -- 来源CRS。 切换到无。 如果SRC_crs为“无”,则假设源CRS是目标CRS的大地测量版本。

返回:

geometry --投影结果(匀称的几何形状)。

quick_vertices_transform(vertices, src_crs)[源代码]

在可能的情况下,返回从给定的形状顶点数组转换到此CRS的顶点数组 (n, 2) 以及源CRS。

备注

此方法可能返回None,以指示无法快速变换顶点,需要进行更复杂的几何变换(请参见 cartopy.crs.Projection.project_geometry() ).

有几个非 -Projection 亚类。这些代表3维的坐标参考系,无法直接在一张纸上绘制。

class cartopy.crs.Geodetic(globe=None)[源代码]

定义具有球形布局的纬度/经度坐标系,地理距离和坐标以度为单位测量。

参数:

globe (A cartopy.crs.Globe, optional) -- 指定为“WGS 84”基准。

class cartopy.crs.Geocentric(globe=None)[源代码]

定义地心坐标系,其中x、y、z是距地球中心的直角坐标。

参数:

globe (A cartopy.crs.Globe, optional) -- 指定为“WGS 84”基准。

class cartopy.crs.RotatedGeodetic(pole_longitude, pole_latitude, central_rotated_longitude=0.0, globe=None)[源代码]

定义具有球形布局和地理距离的旋转纬度/经度坐标系。

坐标以度为单位测量。

该类使用proj执行ob_tran操作,使用pole_longitude设置lon_0,然后基于pole_latitude和central_rotated_longitude执行两次旋转。这相当于将新极点设置为由globe定义的GeogCRS中的pole_latitude和pole_longitude值定义的位置,然后使用central_rotated_longitude值围绕其极点旋转此新CRS。

参数:
  • pole_longitude -- 极点经度位置,以未旋转度数为单位。

  • pole_latitude -- 极点纬度位置,以未旋转度数为单位。

  • central_rotated_longitude (optional) -- 绕新极点的纵向旋转,单位为度。 0到0。

  • globe (optional) -- A cartopy.crs.Globe . 指定为“WGS 84”基准。

还有一个函数,用于使用指定的代码调用epsg.io,返回相应的制图投影,见下文。

cartopy.crs.epsg(code)[源代码]

返回与给定EPSG代码对应的投影。

EPSG代码必须对应于“投影坐标系”,因此定义“大地坐标系”的EPSG代码(例如4326(WGS-84))将不起作用。

备注

转换由pyroj.CRS执行。