EPSG:10815

ITRF2014 to NKG_ETRF14 (1)

Attributes

Geodetic CRS: ITRF2014

Datum: International Terrestrial Reference Frame 2014

Ellipsoid: GRS 1980

Prime meridian: Greenwich

Data source: EPSG

Information source: Häkli et al., "NKG2020 transformation: An updated transformation between dynamic and static reference frames in the Nordic and Baltic countries"; Journal of Geodetic Science 2023; 13: 20220155, https://doi.org/10.1515/jogs-2022-0155.

Revision date: 2025-08-24

Steps of transformation: 8880 10809

Scope: Geodesy.

Remarks: The coordinate epoch (in years) of the coordinates referenced to the source CRS (ITRF2014) is user-defined input and is used as the source epoch in step 2.

Area of use: Denmark, Estonia, Finland, Latvia, Lithuania, and Sweden - onshore and offshore; Norway - onshore, nearshore, and offshore southeast of a line joining Haugesund and the western limit of the Norway-Denmark maritime boundary.

Description: (0,)

MapTiler banner

Definition: OGC Well Known Text 2 (2019)

CONCATENATEDOPERATION["ITRF2014 to NKG_ETRF14 (1)",
    VERSION["NKG2020"],
    SOURCECRS[
        GEODCRS["ITRF2014",
            DYNAMIC[
                FRAMEEPOCH[2010]],
            DATUM["International Terrestrial Reference Frame 2014",
                ELLIPSOID["GRS 1980",6378137,298.257222101,
                    LENGTHUNIT["metre",1]]],
            PRIMEM["Greenwich",0,
                ANGLEUNIT["degree",0.0174532925199433]],
            CS[Cartesian,3],
                AXIS["(X)",geocentricX,
                    ORDER[1],
                    LENGTHUNIT["metre",1]],
                AXIS["(Y)",geocentricY,
                    ORDER[2],
                    LENGTHUNIT["metre",1]],
                AXIS["(Z)",geocentricZ,
                    ORDER[3],
                    LENGTHUNIT["metre",1]],
            ID["EPSG",7789]]],
    TARGETCRS[
        GEODCRS["NKG_ETRF14",
            DATUM["Nordic Geodetic Commission ETRF14",
                ELLIPSOID["GRS 1980",6378137,298.257222101,
                    LENGTHUNIT["metre",1]],
                ANCHOREPOCH[2000]],
            PRIMEM["Greenwich",0,
                ANGLEUNIT["degree",0.0174532925199433]],
            CS[Cartesian,3],
                AXIS["(X)",geocentricX,
                    ORDER[1],
                    LENGTHUNIT["metre",1]],
                AXIS["(Y)",geocentricY,
                    ORDER[2],
                    LENGTHUNIT["metre",1]],
                AXIS["(Z)",geocentricZ,
                    ORDER[3],
                    LENGTHUNIT["metre",1]],
            ID["EPSG",10805]]],
    STEP[
        COORDINATEOPERATION["ITRF2014 to ETRF2014 (2)",
            VERSION["EUREF-Eur 2014"],
            SOURCECRS[
                GEODCRS["ITRF2014",
                    DYNAMIC[
                        FRAMEEPOCH[2010]],
                    DATUM["International Terrestrial Reference Frame 2014",
                        ELLIPSOID["GRS 1980",6378137,298.257222101,
                            LENGTHUNIT["metre",1]]],
                    PRIMEM["Greenwich",0,
                        ANGLEUNIT["degree",0.0174532925199433]],
                    CS[Cartesian,3],
                        AXIS["(X)",geocentricX,
                            ORDER[1],
                            LENGTHUNIT["metre",1]],
                        AXIS["(Y)",geocentricY,
                            ORDER[2],
                            LENGTHUNIT["metre",1]],
                        AXIS["(Z)",geocentricZ,
                            ORDER[3],
                            LENGTHUNIT["metre",1]],
                    ID["EPSG",7789]]],
            TARGETCRS[
                GEODCRS["ETRF2014",
                    DYNAMIC[
                        FRAMEEPOCH[1989]],
                    DATUM["European Terrestrial Reference Frame 2014",
                        ELLIPSOID["GRS 1980",6378137,298.257222101,
                            LENGTHUNIT["metre",1]]],
                    PRIMEM["Greenwich",0,
                        ANGLEUNIT["degree",0.0174532925199433]],
                    CS[Cartesian,3],
                        AXIS["(X)",geocentricX,
                            ORDER[1],
                            LENGTHUNIT["metre",1]],
                        AXIS["(Y)",geocentricY,
                            ORDER[2],
                            LENGTHUNIT["metre",1]],
                        AXIS["(Z)",geocentricZ,
                            ORDER[3],
                            LENGTHUNIT["metre",1]],
                    ID["EPSG",8401]]],
            METHOD["Time-dependent Position Vector tfm (geocentric)",
                ID["EPSG",1053]],
            PARAMETER["X-axis translation",0,
                LENGTHUNIT["millimetre",0.001],
                ID["EPSG",8605]],
            PARAMETER["Y-axis translation",0,
                LENGTHUNIT["millimetre",0.001],
                ID["EPSG",8606]],
            PARAMETER["Z-axis translation",0,
                LENGTHUNIT["millimetre",0.001],
                ID["EPSG",8607]],
            PARAMETER["X-axis rotation",1.785,
                ANGLEUNIT["milliarc-second",4.84813681109536E-09],
                ID["EPSG",8608]],
            PARAMETER["Y-axis rotation",11.151,
                ANGLEUNIT["milliarc-second",4.84813681109536E-09],
                ID["EPSG",8609]],
            PARAMETER["Z-axis rotation",-16.17,
                ANGLEUNIT["milliarc-second",4.84813681109536E-09],
                ID["EPSG",8610]],
            PARAMETER["Scale difference",0,
                SCALEUNIT["parts per billion",1E-09],
                ID["EPSG",8611]],
            PARAMETER["Rate of change of X-axis translation",0,
                LENGTHUNIT["millimetres per year",3.16887651727315E-11],
                ID["EPSG",1040]],
            PARAMETER["Rate of change of Y-axis translation",0,
                LENGTHUNIT["millimetres per year",3.16887651727315E-11],
                ID["EPSG",1041]],
            PARAMETER["Rate of change of Z-axis translation",0,
                LENGTHUNIT["millimetres per year",3.16887651727315E-11],
                ID["EPSG",1042]],
            PARAMETER["Rate of change of X-axis rotation",0.085,
                ANGLEUNIT["milliarc-seconds per year",1.53631468932076E-16],
                ID["EPSG",1043]],
            PARAMETER["Rate of change of Y-axis rotation",0.531,
                ANGLEUNIT["milliarc-seconds per year",1.53631468932076E-16],
                ID["EPSG",1044]],
            PARAMETER["Rate of change of Z-axis rotation",-0.77,
                ANGLEUNIT["milliarc-seconds per year",1.53631468932076E-16],
                ID["EPSG",1045]],
            PARAMETER["Rate of change of Scale difference",0,
                SCALEUNIT["parts per billion per year",3.16887651727315E-17],
                ID["EPSG",1046]],
            PARAMETER["Parameter reference epoch",2010,
                TIMEUNIT["year",31556925.445],
                ID["EPSG",1047]],
            OPERATIONACCURACY[0.0],
            ID["EPSG",8880]]],
    STEP[
        COORDINATEOPERATION["ETRF2014 to NKG_ETRF14 (1)",
            VERSION["NKG2020"],
            SOURCECRS[
                GEODCRS["ETRF2014",
                    DYNAMIC[
                        FRAMEEPOCH[1989]],
                    DATUM["European Terrestrial Reference Frame 2014",
                        ELLIPSOID["GRS 1980",6378137,298.257222101,
                            LENGTHUNIT["metre",1]]],
                    PRIMEM["Greenwich",0,
                        ANGLEUNIT["degree",0.0174532925199433]],
                    CS[Cartesian,3],
                        AXIS["(X)",geocentricX,
                            ORDER[1],
                            LENGTHUNIT["metre",1]],
                        AXIS["(Y)",geocentricY,
                            ORDER[2],
                            LENGTHUNIT["metre",1]],
                        AXIS["(Z)",geocentricZ,
                            ORDER[3],
                            LENGTHUNIT["metre",1]],
                    ID["EPSG",8401]]],
            TARGETCRS[
                GEODCRS["NKG_ETRF14",
                    DATUM["Nordic Geodetic Commission ETRF14",
                        ELLIPSOID["GRS 1980",6378137,298.257222101,
                            LENGTHUNIT["metre",1]],
                        ANCHOREPOCH[2000]],
                    PRIMEM["Greenwich",0,
                        ANGLEUNIT["degree",0.0174532925199433]],
                    CS[Cartesian,3],
                        AXIS["(X)",geocentricX,
                            ORDER[1],
                            LENGTHUNIT["metre",1]],
                        AXIS["(Y)",geocentricY,
                            ORDER[2],
                            LENGTHUNIT["metre",1]],
                        AXIS["(Z)",geocentricZ,
                            ORDER[3],
                            LENGTHUNIT["metre",1]],
                    ID["EPSG",10805]]],
            METHOD["Geocentric translations using NEU velocity grid (gtg)",
                ID["EPSG",1144]],
            PARAMETERFILE["Point motion velocity grid file","NKG_RF17vel.tif"],
            PARAMETER["Target epoch",2000,
                TIMEUNIT["year",31556925.445],
                ID["EPSG",1069]],
            INTERPOLATIONCRS[
                GEOGCRS["ETRF2014",
                    DYNAMIC[
                        FRAMEEPOCH[1989]],
                    DATUM["European Terrestrial Reference Frame 2014",
                        ELLIPSOID["GRS 1980",6378137,298.257222101,
                            LENGTHUNIT["metre",1]]],
                    PRIMEM["Greenwich",0,
                        ANGLEUNIT["degree",0.0174532925199433]],
                    CS[ellipsoidal,2],
                        AXIS["geodetic latitude (Lat)",north,
                            ORDER[1],
                            ANGLEUNIT["degree",0.0174532925199433]],
                        AXIS["geodetic longitude (Lon)",east,
                            ORDER[2],
                            ANGLEUNIT["degree",0.0174532925199433]]]],
            OPERATIONACCURACY[0.003],
            ID["EPSG",10809]]],
    OPERATIONACCURACY[0.001],
    USAGE[
        SCOPE["Geodesy."],
        AREA["Denmark, Estonia, Finland, Latvia, Lithuania, and Sweden - onshore and offshore; Norway - onshore, nearshore, and offshore southeast of a line joining Haugesund and the western limit of the Norway-Denmark maritime boundary."],
        BBOX[53.89,3.24,71.39,31.77]],
    ID["EPSG",10815],
    REMARK["The coordinate epoch (in years) of the coordinates referenced to the source CRS (ITRF2014) is user-defined input and is used as the source epoch in step 2."]]

Definition: PROJ.4

+proj=pipeline +step +proj=helmert +x=0 +y=0 +z=0 +rx=0.001785 +ry=0.011151 +rz=-0.01617 +s=0 +dx=0 +dy=0 +dz=0 +drx=8.5e-05 +dry=0.000531 +drz=-0.00077 +ds=0 +t_epoch=2010 +convention=position_vector +step +inv +proj=deformation +t_epoch=2000 +grids=eur_nkg_nkgrf17vel.tif +ellps=GRS80

Definition: JavaScript (Proj4js)

proj4.defs("EPSG:10815","+proj=pipeline +step +proj=helmert +x=0 +y=0 +z=0 +rx=0.001785 +ry=0.011151 +rz=-0.01617 +s=0 +dx=0 +dy=0 +dz=0 +drx=8.5e-05 +dry=0.000531 +drz=-0.00077 +ds=0 +t_epoch=2010 +convention=position_vector +step +inv +proj=deformation +t_epoch=2000 +grids=eur_nkg_nkgrf17vel.tif +ellps=GRS80");

Definition: JSON

{
    "$schema": "https://proj.org/schemas/v0.7/projjson.schema.json",
    "type": "ConcatenatedOperation",
    "name": "ITRF2014 to NKG_ETRF14 (1)",
    "source_crs": {
        "type": "GeodeticCRS",
        "name": "ITRF2014",
        "datum": {
            "type": "DynamicGeodeticReferenceFrame",
            "name": "International Terrestrial Reference Frame 2014",
            "frame_reference_epoch": 2010,
            "ellipsoid": {
                "name": "GRS 1980",
                "semi_major_axis": 6378137,
                "inverse_flattening": 298.257222101
            }
        },
        "coordinate_system": {
            "subtype": "Cartesian",
            "axis": [
                {
                    "name": "Geocentric X",
                    "abbreviation": "X",
                    "direction": "geocentricX",
                    "unit": "metre"
                },
                {
                    "name": "Geocentric Y",
                    "abbreviation": "Y",
                    "direction": "geocentricY",
                    "unit": "metre"
                },
                {
                    "name": "Geocentric Z",
                    "abbreviation": "Z",
                    "direction": "geocentricZ",
                    "unit": "metre"
                }
            ]
        },
        "id": {
            "authority": "EPSG",
            "code": 7789
        },
        "remarks": "Replaces ITRF2008 (CRS code 5332). Replaced by ITRF2020 (CRS code 9988)."
    },
    "target_crs": {
        "type": "GeodeticCRS",
        "name": "NKG_ETRF14",
        "datum": {
            "type": "GeodeticReferenceFrame",
            "name": "Nordic Geodetic Commission ETRF14",
            "anchor_epoch": 2000,
            "ellipsoid": {
                "name": "GRS 1980",
                "semi_major_axis": 6378137,
                "inverse_flattening": 298.257222101
            }
        },
        "coordinate_system": {
            "subtype": "Cartesian",
            "axis": [
                {
                    "name": "Geocentric X",
                    "abbreviation": "X",
                    "direction": "geocentricX",
                    "unit": "metre"
                },
                {
                    "name": "Geocentric Y",
                    "abbreviation": "Y",
                    "direction": "geocentricY",
                    "unit": "metre"
                },
                {
                    "name": "Geocentric Z",
                    "abbreviation": "Z",
                    "direction": "geocentricZ",
                    "unit": "metre"
                }
            ]
        },
        "id": {
            "authority": "EPSG",
            "code": 10805
        },
        "remarks": "Used as hub for NKG2020 transformations. Replaces NKG_ETRF00 (ETRF2000 at epoch 2000.0)."
    },
    "steps": [
        {
            "type": "Transformation",
            "name": "ITRF2014 to ETRF2014 (2)",
            "source_crs": {
                "type": "GeodeticCRS",
                "name": "ITRF2014",
                "datum": {
                    "type": "DynamicGeodeticReferenceFrame",
                    "name": "International Terrestrial Reference Frame 2014",
                    "frame_reference_epoch": 2010,
                    "ellipsoid": {
                        "name": "GRS 1980",
                        "semi_major_axis": 6378137,
                        "inverse_flattening": 298.257222101
                    }
                },
                "coordinate_system": {
                    "subtype": "Cartesian",
                    "axis": [
                        {
                            "name": "Geocentric X",
                            "abbreviation": "X",
                            "direction": "geocentricX",
                            "unit": "metre"
                        },
                        {
                            "name": "Geocentric Y",
                            "abbreviation": "Y",
                            "direction": "geocentricY",
                            "unit": "metre"
                        },
                        {
                            "name": "Geocentric Z",
                            "abbreviation": "Z",
                            "direction": "geocentricZ",
                            "unit": "metre"
                        }
                    ]
                },
                "id": {
                    "authority": "EPSG",
                    "code": 7789
                },
                "remarks": "Replaces ITRF2008 (CRS code 5332). Replaced by ITRF2020 (CRS code 9988)."
            },
            "target_crs": {
                "type": "GeodeticCRS",
                "name": "ETRF2014",
                "datum": {
                    "type": "DynamicGeodeticReferenceFrame",
                    "name": "European Terrestrial Reference Frame 2014",
                    "frame_reference_epoch": 1989,
                    "ellipsoid": {
                        "name": "GRS 1980",
                        "semi_major_axis": 6378137,
                        "inverse_flattening": 298.257222101
                    }
                },
                "coordinate_system": {
                    "subtype": "Cartesian",
                    "axis": [
                        {
                            "name": "Geocentric X",
                            "abbreviation": "X",
                            "direction": "geocentricX",
                            "unit": "metre"
                        },
                        {
                            "name": "Geocentric Y",
                            "abbreviation": "Y",
                            "direction": "geocentricY",
                            "unit": "metre"
                        },
                        {
                            "name": "Geocentric Z",
                            "abbreviation": "Z",
                            "direction": "geocentricZ",
                            "unit": "metre"
                        }
                    ]
                },
                "id": {
                    "authority": "EPSG",
                    "code": 8401
                },
                "remarks": "Replaces ETRF2005 (code 8397). ETRF2014 is technically superior to ETRF2000 but ETRF2000 and other previous realizations may be preferred for backward compatibility reasons. Differences between ETRF2014 and ETRF2000 can reach 7cm."
            },
            "method": {
                "name": "Time-dependent Position Vector tfm (geocentric)",
                "id": {
                    "authority": "EPSG",
                    "code": 1053
                }
            },
            "parameters": [
                {
                    "name": "X-axis translation",
                    "value": 0,
                    "unit": {
                        "type": "LinearUnit",
                        "name": "millimetre",
                        "conversion_factor": 0.001
                    },
                    "id": {
                        "authority": "EPSG",
                        "code": 8605
                    }
                },
                {
                    "name": "Y-axis translation",
                    "value": 0,
                    "unit": {
                        "type": "LinearUnit",
                        "name": "millimetre",
                        "conversion_factor": 0.001
                    },
                    "id": {
                        "authority": "EPSG",
                        "code": 8606
                    }
                },
                {
                    "name": "Z-axis translation",
                    "value": 0,
                    "unit": {
                        "type": "LinearUnit",
                        "name": "millimetre",
                        "conversion_factor": 0.001
                    },
                    "id": {
                        "authority": "EPSG",
                        "code": 8607
                    }
                },
                {
                    "name": "X-axis rotation",
                    "value": 1.785,
                    "unit": {
                        "type": "AngularUnit",
                        "name": "milliarc-second",
                        "conversion_factor": 4.84813681109536e-09
                    },
                    "id": {
                        "authority": "EPSG",
                        "code": 8608
                    }
                },
                {
                    "name": "Y-axis rotation",
                    "value": 11.151,
                    "unit": {
                        "type": "AngularUnit",
                        "name": "milliarc-second",
                        "conversion_factor": 4.84813681109536e-09
                    },
                    "id": {
                        "authority": "EPSG",
                        "code": 8609
                    }
                },
                {
                    "name": "Z-axis rotation",
                    "value": -16.17,
                    "unit": {
                        "type": "AngularUnit",
                        "name": "milliarc-second",
                        "conversion_factor": 4.84813681109536e-09
                    },
                    "id": {
                        "authority": "EPSG",
                        "code": 8610
                    }
                },
                {
                    "name": "Scale difference",
                    "value": 0,
                    "unit": {
                        "type": "ScaleUnit",
                        "name": "parts per billion",
                        "conversion_factor": 1e-09
                    },
                    "id": {
                        "authority": "EPSG",
                        "code": 8611
                    }
                },
                {
                    "name": "Rate of change of X-axis translation",
                    "value": 0,
                    "unit": {
                        "type": "LinearUnit",
                        "name": "millimetres per year",
                        "conversion_factor": 3.16887651727315e-11
                    },
                    "id": {
                        "authority": "EPSG",
                        "code": 1040
                    }
                },
                {
                    "name": "Rate of change of Y-axis translation",
                    "value": 0,
                    "unit": {
                        "type": "LinearUnit",
                        "name": "millimetres per year",
                        "conversion_factor": 3.16887651727315e-11
                    },
                    "id": {
                        "authority": "EPSG",
                        "code": 1041
                    }
                },
                {
                    "name": "Rate of change of Z-axis translation",
                    "value": 0,
                    "unit": {
                        "type": "LinearUnit",
                        "name": "millimetres per year",
                        "conversion_factor": 3.16887651727315e-11
                    },
                    "id": {
                        "authority": "EPSG",
                        "code": 1042
                    }
                },
                {
                    "name": "Rate of change of X-axis rotation",
                    "value": 0.085,
                    "unit": {
                        "type": "AngularUnit",
                        "name": "milliarc-seconds per year",
                        "conversion_factor": 1.53631468932076e-16
                    },
                    "id": {
                        "authority": "EPSG",
                        "code": 1043
                    }
                },
                {
                    "name": "Rate of change of Y-axis rotation",
                    "value": 0.531,
                    "unit": {
                        "type": "AngularUnit",
                        "name": "milliarc-seconds per year",
                        "conversion_factor": 1.53631468932076e-16
                    },
                    "id": {
                        "authority": "EPSG",
                        "code": 1044
                    }
                },
                {
                    "name": "Rate of change of Z-axis rotation",
                    "value": -0.77,
                    "unit": {
                        "type": "AngularUnit",
                        "name": "milliarc-seconds per year",
                        "conversion_factor": 1.53631468932076e-16
                    },
                    "id": {
                        "authority": "EPSG",
                        "code": 1045
                    }
                },
                {
                    "name": "Rate of change of Scale difference",
                    "value": 0,
                    "unit": {
                        "type": "ScaleUnit",
                        "name": "parts per billion per year",
                        "conversion_factor": 3.16887651727315e-17
                    },
                    "id": {
                        "authority": "EPSG",
                        "code": 1046
                    }
                },
                {
                    "name": "Parameter reference epoch",
                    "value": 2010,
                    "unit": {
                        "type": "TimeUnit",
                        "name": "year",
                        "conversion_factor": 31556925.445
                    },
                    "id": {
                        "authority": "EPSG",
                        "code": 1047
                    }
                }
            ],
            "accuracy": "0.0",
            "id": {
                "authority": "EPSG",
                "code": 8880
            },
            "remarks": "Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9. See ITRF2014 to ETRF2014 (1) (code 8366) for transformation which defines ETRF2014. Transformation 8880 is equivalent to 8366 but with parameter values at epoch 2010.00."
        },
        {
            "type": "Transformation",
            "name": "ETRF2014 to NKG_ETRF14 (1)",
            "source_crs": {
                "type": "GeodeticCRS",
                "name": "ETRF2014",
                "datum": {
                    "type": "DynamicGeodeticReferenceFrame",
                    "name": "European Terrestrial Reference Frame 2014",
                    "frame_reference_epoch": 1989,
                    "ellipsoid": {
                        "name": "GRS 1980",
                        "semi_major_axis": 6378137,
                        "inverse_flattening": 298.257222101
                    }
                },
                "coordinate_system": {
                    "subtype": "Cartesian",
                    "axis": [
                        {
                            "name": "Geocentric X",
                            "abbreviation": "X",
                            "direction": "geocentricX",
                            "unit": "metre"
                        },
                        {
                            "name": "Geocentric Y",
                            "abbreviation": "Y",
                            "direction": "geocentricY",
                            "unit": "metre"
                        },
                        {
                            "name": "Geocentric Z",
                            "abbreviation": "Z",
                            "direction": "geocentricZ",
                            "unit": "metre"
                        }
                    ]
                },
                "id": {
                    "authority": "EPSG",
                    "code": 8401
                },
                "remarks": "Replaces ETRF2005 (code 8397). ETRF2014 is technically superior to ETRF2000 but ETRF2000 and other previous realizations may be preferred for backward compatibility reasons. Differences between ETRF2014 and ETRF2000 can reach 7cm."
            },
            "target_crs": {
                "type": "GeodeticCRS",
                "name": "NKG_ETRF14",
                "datum": {
                    "type": "GeodeticReferenceFrame",
                    "name": "Nordic Geodetic Commission ETRF14",
                    "anchor_epoch": 2000,
                    "ellipsoid": {
                        "name": "GRS 1980",
                        "semi_major_axis": 6378137,
                        "inverse_flattening": 298.257222101
                    }
                },
                "coordinate_system": {
                    "subtype": "Cartesian",
                    "axis": [
                        {
                            "name": "Geocentric X",
                            "abbreviation": "X",
                            "direction": "geocentricX",
                            "unit": "metre"
                        },
                        {
                            "name": "Geocentric Y",
                            "abbreviation": "Y",
                            "direction": "geocentricY",
                            "unit": "metre"
                        },
                        {
                            "name": "Geocentric Z",
                            "abbreviation": "Z",
                            "direction": "geocentricZ",
                            "unit": "metre"
                        }
                    ]
                },
                "id": {
                    "authority": "EPSG",
                    "code": 10805
                },
                "remarks": "Used as hub for NKG2020 transformations. Replaces NKG_ETRF00 (ETRF2000 at epoch 2000.0)."
            },
            "interpolation_crs": {
                "type": "GeographicCRS",
                "name": "ETRF2014",
                "datum": {
                    "type": "DynamicGeodeticReferenceFrame",
                    "name": "European Terrestrial Reference Frame 2014",
                    "frame_reference_epoch": 1989,
                    "ellipsoid": {
                        "name": "GRS 1980",
                        "semi_major_axis": 6378137,
                        "inverse_flattening": 298.257222101
                    }
                },
                "coordinate_system": {
                    "subtype": "ellipsoidal",
                    "axis": [
                        {
                            "name": "Geodetic latitude",
                            "abbreviation": "Lat",
                            "direction": "north",
                            "unit": "degree"
                        },
                        {
                            "name": "Geodetic longitude",
                            "abbreviation": "Lon",
                            "direction": "east",
                            "unit": "degree"
                        }
                    ]
                },
                "id": {
                    "authority": "EPSG",
                    "code": 9069
                },
                "remarks": "Replaces ETRF2005 (code 9068). ETRF2014 is technically superior to ETRF2000 but ETRF2000 and other previous realizations may be preferred for backward compatibility reasons. Differences between ETRF2014 and ETRF2000 can reach 7cm."
            },
            "method": {
                "name": "Geocentric translations using NEU velocity grid (gtg)",
                "id": {
                    "authority": "EPSG",
                    "code": 1144
                }
            },
            "parameters": [
                {
                    "name": "Point motion velocity grid file",
                    "value": "NKG_RF17vel.tif",
                    "id": {
                        "authority": "EPSG",
                        "code": 1050
                    }
                },
                {
                    "name": "Target epoch",
                    "value": 2000,
                    "unit": {
                        "type": "TimeUnit",
                        "name": "year",
                        "conversion_factor": 31556925.445
                    },
                    "id": {
                        "authority": "EPSG",
                        "code": 1069
                    }
                }
            ],
            "accuracy": "0.003",
            "id": {
                "authority": "EPSG",
                "code": 10809
            },
            "remarks": "Nordic Geodetic Commission (NKG) 2020 transformation. Accuracy estimated as 0.1, 0.1, and 0.4 mm/year for the North, East, and Up components, respectively. Because the difference in coordinates between ETRF2014 and NKG_ETRF14 is small (under a decimetre), although the interpolation CRS is given as ETRF2014, any realization of ETRS89 (including NKG_ETRF14) may be used as the interpolation CRS. The source CRS ETRF2014 is a dynamic CRS and the coordinate epoch for the coordinates referenced to it is a user-defined input."
        }
    ],
    "accuracy": "0.001",
    "scope": "Geodesy.",
    "area": "Denmark, Estonia, Finland, Latvia, Lithuania, and Sweden - onshore and offshore; Norway - onshore, nearshore, and offshore southeast of a line joining Haugesund and the western limit of the Norway-Denmark maritime boundary.",
    "bbox": {
        "south_latitude": 53.89,
        "west_longitude": 3.24,
        "north_latitude": 71.39,
        "east_longitude": 31.77
    },
    "id": {
        "authority": "EPSG",
        "code": 10815
    },
    "remarks": "The coordinate epoch (in years) of the coordinates referenced to the source CRS (ITRF2014) is user-defined input and is used as the source epoch in step 2."
}

Definition: MapServer - MAPfile

PROJECTION
	"proj=pipeline"
	"step"
	"proj=helmert"
	"x=0"
	"y=0"
	"z=0"
	"rx=0.001785"
	"ry=0.011151"
	"rz=-0.01617"
	"s=0"
	"dx=0"
	"dy=0"
	"dz=0"
	"drx=8.5e-05"
	"dry=0.000531"
	"drz=-0.00077"
	"ds=0"
	"t_epoch=2010"
	"convention=position_vector"
	"step"
	"inv"
	"proj=deformation"
	"t_epoch=2000"
	"grids=eur_nkg_nkgrf17vel.tif"
	"ellps=GRS80"
END

Definition: Mapnik

<?xml version="1.0" encoding="utf-8"?>
<Map srs="+proj=pipeline +step +proj=helmert +x=0 +y=0 +z=0 +rx=0.001785 +ry=0.011151 +rz=-0.01617 +s=0 +dx=0 +dy=0 +dz=0 +drx=8.5e-05 +dry=0.000531 +drz=-0.00077 +ds=0 +t_epoch=2010 +convention=position_vector +step +inv +proj=deformation +t_epoch=2000 +grids=eur_nkg_nkgrf17vel.tif +ellps=GRS80">
	<Layer srs="+proj=pipeline +step +proj=helmert +x=0 +y=0 +z=0 +rx=0.001785 +ry=0.011151 +rz=-0.01617 +s=0 +dx=0 +dy=0 +dz=0 +drx=8.5e-05 +dry=0.000531 +drz=-0.00077 +ds=0 +t_epoch=2010 +convention=position_vector +step +inv +proj=deformation +t_epoch=2000 +grids=eur_nkg_nkgrf17vel.tif +ellps=GRS80">
	</Layer>
</Map>

Definition: SQL (PostGIS)

INSERT into spatial_ref_sys (srid, auth_name, auth_srid, proj4text, srtext) values ( 10815, 'EPSG', 10815, '+proj=pipeline +step +proj=helmert +x=0 +y=0 +z=0 +rx=0.001785 +ry=0.011151 +rz=-0.01617 +s=0 +dx=0 +dy=0 +dz=0 +drx=8.5e-05 +dry=0.000531 +drz=-0.00077 +ds=0 +t_epoch=2010 +convention=position_vector +step +inv +proj=deformation +t_epoch=2000 +grids=eur_nkg_nkgrf17vel.tif +ellps=GRS80', 'None');