库执行坐标系转换?

时间:2015-01-14 12:35:06

标签: python numpy coordinate-systems

是否有处理坐标系转换的python库? 我正在使用numpy meshgrids,但有时切换坐标系很有用。 由于我不想重新发明轮子,是否有任何库可以处理:

  • 转换(笛卡儿,球形,极地,......)
  • 翻译
  • 转?

2 个答案:

答案 0 :(得分:4)

您可以使用匀称的库: http://toblerity.org/shapely/manual.html

仿射变换:http://toblerity.org/shapely/manual.html#affine-transformations

协调转换:http://toblerity.org/shapely/manual.html#other-transformations 示例代码:

from shapely.geometry import Point
from functools import partial
import pyproj
from shapely.ops import transform

point1 = Point(9.0, 50.0)

print (point1)

project = partial(
    pyproj.transform,
    pyproj.Proj(init='epsg:4326'),
    pyproj.Proj(init='epsg:32632'))

point2 = transform(project, point1)
print (point2)

您也可以使用ogr库。即。

from osgeo import ogr
from osgeo import osr

source = osr.SpatialReference()
source.ImportFromEPSG(2927)

target = osr.SpatialReference()
target.ImportFromEPSG(4326)

transform = osr.CoordinateTransformation(source, target)

point = ogr.CreateGeometryFromWkt("POINT (1120351.57 741921.42)")
point.Transform(transform)

print (point.ExportToWkt())

(来自http://pcjericks.github.io/py-gdalogr-cookbook/projection.html

答案 1 :(得分:3)

关于转型和轮换,我发现transformations.py 来自Christoph Gohlke非常有用。