Solved

Re-project data to a coordinate system using 7 parameter


Badge

I have a dataset with a local origo. It is based on UTM 32N.  I have been supplied with the seven parameters used for transformation into regurlar UTM 32N.

Reading the FME documentation, I have tried to add a custom transformation using 7PARAMETER method, but I cannot access it from FME.  The closest I get is the Csmapprojector, but it is not cooperating: I cannot use my defined transformation as the local coordinate system is not defined.  (Having the parameters for the transformation already, this should be irrelevant - as it is in other software I used before). 

Trying to create a custom coordsys also isn't bringing me very far.  For some reason, if I have my custom Coord I cannot see my custom transformation.  And vice versa. 

From my MyCoordSysDefs.fme:

COORDINATE_SYSTEM_DEF CustomerLocal.UTM-32N        \
   DESC_NM    "Local for customer based on UTM32N" \
   SOURCE     "Customer"                           \
   GROUP      Project                              \
   PROJ       UTM                                  \
   UNIT       METER                                \
   PARM1      32                                   \
   PARM2      1                                    \
   QUAD       1                                    \
   MAP_SCL    1                                    \
   DT_NAME    WGS84

XFORM_DEF CustomerLocal_to_UTM32N                  \
   DESC_NM    "CustomerLocal to UTM32N, 7-par"     \
   SOURCE     "Customer"                           \
   GROUP      Project                              \
   SRC_DTM    WGS84                                \
   TRG_DTM    WGS84                                \
   INVERSE    No                                   \
   MAX_ITR    8                                    \
   CNVRG_VAL  1e-06                                \
   ERROR_VAL  1e-09                                \
   METHOD     7PARAMETER                           \
   DELTA_X    2736801.55679998                     \
   DELTA_Y    -5981791.49069743                    \
   DELTA_Z    -0.0000                              \
   BWSCALE    -1.0                                 \
   ROT_X      0.0000                               \
   ROT_Y      -0.0000                              \
   ROT_Z      -0.48875535

icon

Best answer by daveatsafe 5 July 2018, 19:53

View original

2 replies

Userlevel 2
Badge +17

Hi @travellingmax,

To use a custom transformation, you must also create a custom datum, then use this datum in the custom coordinate system, and make it the source or target for the transformation.

However, from looking at your transformation, it appears to be an surface affine transformation, instead of a datum transformation. In this case, you can define the transformation in the coordinate system, using the TMAF projection. This is a Transverse Mercator projection with a built-in affine transformation.

Using an offset of (2736801.55679998,-5981791.49069743) and a rotation of -0.48875535 would give you the following definition:

COORDINATE_SYSTEM_DEF CustomerLocal.UTM-32N \
    DESC_NM "Local for customer based on UTM32N" \
    DT_NAME WGS84 \
    GROUP Project \
    ORG_LAT 0 \
    PARM1 9 \
    PARM2 2736801.55679998 \
    PARM3 -5981791.49069743 \
    PARM4 0.9999636164430494 \
    PARM5 0.008530286638675057 \
    PARM6 -0.008530286638675057 \
    PARM7 0.9999636164430494 \
    PROJ TMAF \
    QUAD 1 \
    SCL_RED 0.9996 \
    SOURCE "Customer" \
    UNIT METER \
    X_OFF 500000 \
    Y_OFF 0
 
Badge

This looks like the beginning of something good. Thank you @DaveAtSafe!

Seems I have to dig some more though. I have a point at 1872.612621, 419.54019 that gets transformed into -2751805.382694636, 5906049.310291338, when I expected to see 536128.706146, 6553190.773785.

I'll ask the customer to verify the calculations, and start defining the coordinate system again.

Reply