Using PROJ, this command will convert / reproject / transform a WGS84 latlon point to NAD27 CONUS, UTM zone 11:
cs2cs.exe +proj=latlong +init=EPSG:4326 +to +init=EPSG:26711
-120 39
240281.39 4320858.54 0.00
We'd like to use a pure-python solution instead. pygeodesy utm.toUtm8 returns the UTM coordinates of a given latlon point:
>>> utm.toUtm8(39,-120)
[Z:11S, H:N, E:240200, N:4321059]
You can specify datum as an argument to toUtm8, but that datum applies to both the input latlon and the output UTM values, i.e. it does not do a datum conversion - it would have to assume the datum of the latlon point in order to do a conversion anyway:
>>> utm.toUtm8(39,-120,datum=Datums.NAD27)
[Z:11S, H:N, E:240193, N:4320851]
>>> utm.toUtm8(39,-120,datum=Datums.WGS84)
[Z:11S, H:N, E:240200, N:4321059]
>>> utm.toUtm8(39.00011,-119.99900,datum=Datums.NAD27)
[Z:11S, H:N, E:240280, N:4320861]
How does one do the datum conversion / reprojection / transformation from WGS84 to NAD27 in pygeodesy? A two-step process would be fine:
- convert WGS84 latlon to NAD27 latlon, then
- convert NAD27 latlon to NAD27 UTM with .toUtm8 as above