1

我正在使用 pyproj 将一些坐标从 WGS84 转换为 OSGB36。映射出转换和未转换的映射时,不要映射到地图上的相同位置。OSGB36 坐标被映射到它们应该在的西北约 100 米处。

有谁知道这里可能出了什么问题?

这是我在代码中所做的示例

import pyproy
wgs84=pyproj.Proj("+init=EPSG:4326")
osgb36=pyproj.Proj("+init=EPSG:27700")
row = pyproj.transform(wgs84, osgb36, lng, lat)
4

1 回答 1

0

我想知道它是否与 pyproj 1.x 中的旧版本 PROJ 有关。

我建议升级到 pyproj 2.2.0,看看它的比较:

>>> import pyproj
>>> pyproj.__version__
'2.2.0'
>>> pyproj.proj_version_str
'6.1.0'
>>> from pyproj import Transformer, CRS
>>> transformer = Transformer.from_crs("EPSG:4326", "EPSG:27700")
>>> transformer
<Unknown Transformer: unknown>
unavailable until proj_trans is called
>>> CRS("EPSG:27700")
<Projected CRS: EPSG:27700>
Name: OSGB 1936 / British National Grid
Axis Info [cartesian]:
- E[east]: Easting (metre)
- N[north]: Northing (metre)
Area of Use:
- name: UK - Britain and UKCS 49°46'N to 61°01'N, 7°33'W to 3°33'E
- bounds: (-9.2, 49.75, 2.88, 61.14)
Coordinate Operation:
- name: British National Grid
- method: Transverse Mercator
Datum: OSGB 1936
- Ellipsoid: Airy 1830
- Prime Meridian: Greenwich

>>> transformer.transform(-1, 55)
(8171674.7989976285, -5732606.974077599)
于 2019-06-10T01:04:51.767 回答