Add support for compound transformations
We want to add support for compound transformations to perform conversion requests like the following:
POST /v2/convert
Body
{
"fromCRS": "{\"lateBoundCRS\":{\"authCode\":{\"auth\":\"EPSG\",\"code\":\"4267\"},\"name\":\"NAD27\",\"type\":\"LBC\",\"ver\":\"PE_10_3_1\",\"wkt\":\"GEOGCS[\\\"GCS_North_American_1927\\\",DATUM[\\\"D_North_American_1927\\\",SPHEROID[\\\"Clarke_1866\\\",6378206.4,294.978698214]],PRIMEM[\\\"Greenwich\\\",0],UNIT[\\\"Degree\\\",0.017453292519943295]]\"},\"name\":\"USA NAD27 (NADCON CONUS)\",\"type\":\"EBC\",\"authCode\":{\"auth\":\"Chevron\",\"code\":\"720218\"},\"compoundCT\":{\"cts\":[{\"name\":\"USA NAD27 (NADCON CONUS) - TRFM\",\"type\":\"ST\",\"wkt\":\"GEOGTRAN[\\\"USA NAD27 (NADCON CONUS) - TRFM\\\",GEOGCS[\\\"GCS_North_American_1927\\\",DATUM[\\\"D_North_American_1927\\\",SPHEROID[\\\"Clarke_1866\\\",6378206.4,294.978698214]],PRIMEM[\\\"Greenwich\\\",0],UNIT[\\\"Degree\\\",0.0174532925199432]],GEOGCS[\\\"GCS_North_American_1983\\\",DATUM[\\\"D_North_American_1983\\\",SPHEROID[\\\"GRS_1980\\\",6378137.0,298.257222101]],PRIMEM[\\\"Greenwich\\\",0.0],UNIT[\\\"Degree\\\",0.0174532925199433]],METHOD[\\\"NADCON\\\"],PARAMETER[\\\"Dataset_conus\\\",0.0],AUTHORITY[\\\"Chevron\\\",760217]]\",\"authCode\":{\"auth\":\"Chevron\",\"code\":\"760217\"},\"ver\":\"PE_10_3_1\"},{\"name\":\"USA NAD83 - TRFM\",\"type\":\"ST\",\"wkt\":\"GEOGTRAN[\\\"USA NAD83 - TRFM\\\",GEOGCS[\\\"GCS_North_American_1983\\\",DATUM[\\\"D_North_American_1983\\\",SPHEROID[\\\"GRS_1980\\\",6378137.0,298.257222101]],PRIMEM[\\\"Greenwich\\\",0.0],UNIT[\\\"Degree\\\",0.0174532925199433]],GEOGCS[\\\"GCS_WGS_1984\\\",DATUM[\\\"D_WGS_1984\\\",SPHEROID[\\\"WGS_1984\\\",6378137.0,298.257223563]],PRIMEM[\\\"Greenwich\\\",0.0],UNIT[\\\"Degree\\\",0.0174532925199433]],METHOD[\\\"Geocentric_Translation\\\"],PARAMETER[\\\"X_Axis_Translation\\\",0.0],PARAMETER[\\\"Y_Axis_Translation\\\",0.0],PARAMETER[\\\"Z_Axis_Translation\\\",0.0],AUTHORITY[\\\"Chevron\\\",760219]]\",\"authCode\":{\"auth\":\"Chevron\",\"code\":\"760219\"},\"ver\":\"PE_10_3_1\"}],\"name\":\"USA NAD27 (NADCON CONUS to WGS84) - TRFM\",\"policy\":\"Concatenated\",\"type\":\"CT\",\"authCode\":{\"auth\":\"Chevron\",\"code\":\"770003\"},\"ver\":\"PE_10_3_1\"},\"ver\":\"PE_10_3_1\"}",
"toCRS": "{\"authCode\":{\"auth\":\"EPSG\",\"code\":\"4326\"},\"name\":\"WGS 84\",\"type\":\"LBC\",\"ver\":\"PE_10_3_1\",\"wkt\":\"GEOGCS[\\\"GCS_WGS_1984\\\",DATUM[\\\"D_WGS_1984\\\",SPHEROID[\\\"WGS_1984\\\",6378137,298.257223563]],PRIMEM[\\\"Greenwich\\\",0],UNIT[\\\"Degree\\\",0.017453292519943295]]\"}",
"points": [
{
"x": 90,
"y": 30,
"z": 0
}
]
}
Note this change would affect v3 APIs as well, since those APIs are calling the v2 APIs underneath.