I am trying to align with some data points that have been projected in Esri from NAD27 State Plane feet (
SRID=32026) to Lon/Lat using the "NAD_1927_To_WGS_1984_6" datum transformation using
ST_Transform in POSTGIS.
When using something like
ST_Transform( ST_GEOMFROMEWKT( 'SRID=32026;wkt_geom_string' ), 4326 ) )
I believe the default behavior is a NADCON grid-shift transformation, resulting in an approximate 5m shift to resulting features compared to their position from Esri resulting from above datum transformation being applied.
Therefore I thought I might need to use a custom string, and possibly even incorporate a pipeline, but so far, I have been unable to create a string that is syntactically correct.
The NAD_1927_To_WGS_1984_6 transformation is defined by Esri as Geocentric Translation with parameters
dz=175. It seemed that might equate to a Helmert 3 position transformation using Proj, but that presumption may be incorrect on my part.
Here's my benchmark point from Esri displaying it's resultant long/lat, using the mentioned datum transformation, that I wish to align with:
Source Esri PCS Point= 'SRID=32026; POINT(1443665.55622 684595.615785)' in units ft Esri-projected GCS Point= 'SRID=4326; POINT(-122.672081324 45.523768294)' in dd using esri 'NAD_1927_To_WGS_1984_6' datum transformation
One approach I tried with POSTGIS was as follows:
WITH data AS ( SELECT '+proj=longlat +ellps=WGS84 +datum=WGS84 +towgs84=-8,159,175 +nodefs'::text AS dtrans ) SELECT ST_AsEWKT( ST_Transform( ST_GEOMFROMEWKT( 'SRID=32026;POINT ( 1443665.55622 684595.615785 )' ), dtrans ) ) FROM data
Plugging the above two resultant long/lats into:
SELECT ST_Distance(gg1, gg2) As spheroid_dist FROM (SELECT 'SRID=4326;POINT(-122.672081324 45.523768294)'::geography as gg1, 'SRID=4326;POINT(-122.670918714227 45.5218796715454)'::geography as gg2 ) As foo;
228.71471422, which is way off.
I also tried command line
cs2cs, attempting to build a pipeline that incorporated a helmert transformation, but was never able to get the syntax correct.
When I try:
echo 1443665.55622 684595.615785 | cs2cs -f "%.8f" +proj=pipeline +step +proj=lcc +lat_1=44.33333333333334 +lat_2=46 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=609601.2192024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs +step +proj=helmert +convention=coordinate_frame +x=0.67678 +y=0.65495 +z=-0.52827 +rx=-0.022742 +ry=0.012667 +rz=0.022704 +s=-0.01070 +to +proj=longlat +datum=WGS84 +no_defs
"+proj=lcc +lat_1=44.33333333333334 +lat_2=46 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=609601.2192024384 +y_0=0 +datum=NAD27 +units=us-ft"
is the proj4text for
The resultant error is malformed pipeline, cannot instantiate the source coordinate system. I have tried several variations of this syntax with the same error. I have also scoured the Proj documentation and this board for similar issues with documented resolutions, but have come up empty.
Based on this background, my main questions would be: Am I attempting to apply the correct transformation (helmert 3 pos) in Proj corresponding to a geocentric translation defined by Esri? If so, does someone have an example of a Proj pipeline string so that I can see the correct syntax, or could help me correct the syntax in the examples I have provided?