Pyproj преобразовал координаты смещения

Я использую 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)

0 ответов

Интересно, связано ли это со старой версией PROJ внутри pyproj 1.x.

Я бы рекомендовал перейти на 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)
Другие вопросы по тегам