1

This is a follow-up question to a previous one (Projection between EPSG:4326 and EPSG:4269 using pyproj does nothing).

When using pyproj (python 3.8.8 and pyproj 3.0.1 on windows) to project a point from EPSG:4326 (WGS84 Datum) to EPSG:4269 (NAD83 Datum), I obtain the exact same lat/lon. Howver, when projecting from EPSG:4326 to EPSG:4289 (Amersfoort Datum), there is a slight shift in the lat/lon values :

from pyproj import CRS, Transformer
from shapely.geometry import Point
from shapely.ops import transform

crs_4326 = CRS("EPSG:4326") crs_4269 = CRS("EPSG:4269") crs_4289 = CRS("EPSG:4289")

transformer_4326_to_4269 = Transformer.from_crs(crs_from=crs_4326, crs_to=crs_4269).transform transformer_4326_to_4289 = Transformer.from_crs(crs_from=crs_4326, crs_to=crs_4289).transform p = Point(-118,33) # some position in California p1 = transform(transformer_4326_to_4269, p) p2 = transform(transformer_4326_to_4289, p)

print(p) # returns POINT (-118 33) print(p1) # also returns POINT (-118 33) print(p2) # returns POINT (-118.0045882781141 32.99426819423652)

Inspecting the EPSG codes on epsg.org, I see that these three datum have three different ellipsoids. Therefore, I expect to get different results for p and p1 since I do observe a difference between p and p2. What is the cause of this behaviour ?

user2856
  • 65,736
  • 6
  • 115
  • 196
Anon_Chem
  • 29
  • 2

0 Answers0