Geodetic CRS: ITRF2020
Datum: International Terrestrial Reference Frame 2020
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-10-28
Scope: Geodesy.
Remarks: The coordinate epoch (in years) of the coordinates referenced to the source CRS (ITRF2020) is user-defined and is used as the source epoch in step 2.
Area of use: Finland - onshore and offshore.
Description: (0,)
Definition: OGC Well Known Text 2 (2019)
CONCATENATEDOPERATION["ITRF2020 to ETRS89-FIN [EUREF-FIN] (1)", VERSION["NKG2020"], SOURCECRS[ GEODCRS["ITRF2020", DYNAMIC[ FRAMEEPOCH[2015]], DATUM["International Terrestrial Reference Frame 2020", 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",9988]]], TARGETCRS[ GEODCRS["ETRS89-FIN [EUREF-FIN]", DATUM["EUREF-FIN", ELLIPSOID["GRS 1980",6378137,298.257222101, LENGTHUNIT["metre",1]], ANCHOREPOCH[1997]], 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",10688]]], STEP[ COORDINATEOPERATION["ITRF2020 to ETRF2014 (1)", VERSION["EUREF-Eur 2024"], SOURCECRS[ GEODCRS["ITRF2020", DYNAMIC[ FRAMEEPOCH[2015]], DATUM["International Terrestrial Reference Frame 2020", 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",9988]]], 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",-1.4, LENGTHUNIT["millimetre",0.001], ID["EPSG",8605]], PARAMETER["Y-axis translation",-0.9, LENGTHUNIT["millimetre",0.001], ID["EPSG",8606]], PARAMETER["Z-axis translation",1.4, LENGTHUNIT["millimetre",0.001], ID["EPSG",8607]], PARAMETER["X-axis rotation",2.21, ANGLEUNIT["milliarc-second",4.84813681109536E-09], ID["EPSG",8608]], PARAMETER["Y-axis rotation",13.806, ANGLEUNIT["milliarc-second",4.84813681109536E-09], ID["EPSG",8609]], PARAMETER["Z-axis rotation",-20.02, ANGLEUNIT["milliarc-second",4.84813681109536E-09], ID["EPSG",8610]], PARAMETER["Scale difference",-0.42, 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.1, LENGTHUNIT["millimetres per year",3.16887651727315E-11], ID["EPSG",1041]], PARAMETER["Rate of change of Z-axis translation",0.2, 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",2015, TIMEUNIT["year",31556925.445], ID["EPSG",1047]], OPERATIONACCURACY[0.001], ID["EPSG",10587]]], 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]]], STEP[ COORDINATEOPERATION["NKG_ETRF14 to ETRS89-FIN [EUREF-FIN] (1)", VERSION["NKG2020"], SOURCECRS[ 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]]], TARGETCRS[ GEODCRS["ETRS89-FIN [EUREF-FIN]", DATUM["EUREF-FIN", ELLIPSOID["GRS 1980",6378137,298.257222101, LENGTHUNIT["metre",1]], ANCHOREPOCH[1997]], 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",10688]]], METHOD["Position Vector (geocen) & Geocen translations NEU velocities (gtg)", ID["EPSG",1143]], PARAMETER["X-axis translation",0.15651, LENGTHUNIT["metre",1], ID["EPSG",8605]], PARAMETER["Y-axis translation",-0.10993, LENGTHUNIT["metre",1], ID["EPSG",8606]], PARAMETER["Z-axis translation",-0.10935, LENGTHUNIT["metre",1], ID["EPSG",8607]], PARAMETER["X-axis rotation",-3.12861, ANGLEUNIT["milliarc-second",4.84813681109536E-09], ID["EPSG",8608]], PARAMETER["Y-axis rotation",-3.78935, ANGLEUNIT["milliarc-second",4.84813681109536E-09], ID["EPSG",8609]], PARAMETER["Z-axis rotation",4.03512, ANGLEUNIT["milliarc-second",4.84813681109536E-09], ID["EPSG",8610]], PARAMETER["Scale difference",5.29, SCALEUNIT["parts per billion",1E-09], ID["EPSG",8611]], PARAMETER["Source epoch",2000, TIMEUNIT["year",31556925.445], ID["EPSG",1068]], PARAMETER["Target epoch",1997, TIMEUNIT["year",31556925.445], ID["EPSG",1069]], PARAMETERFILE["Point motion velocity grid file","NKG_RF17vel.tif"], INTERPOLATIONCRS[ GEOGCRS["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[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.002], ID["EPSG",10810]]], OPERATIONACCURACY[0.004], USAGE[ SCOPE["Geodesy."], AREA["Finland - onshore and offshore."], BBOX[58.84,19.08,70.09,31.59]], ID["EPSG",10869], REMARK["The coordinate epoch (in years) of the coordinates referenced to the source CRS (ITRF2020) is user-defined and is used as the source epoch in step 2."]]
Definition: PROJ.4
+proj=pipeline +step +proj=helmert +x=-0.0014 +y=-0.0009 +z=0.0014 +rx=0.00221 +ry=0.013806 +rz=-0.02002 +s=-0.00042 +dx=0 +dy=-0.0001 +dz=0.0002 +drx=8.5e-05 +dry=0.000531 +drz=-0.00077 +ds=0 +t_epoch=2015 +convention=position_vector +step +inv +proj=deformation +t_epoch=2000 +grids=eur_nkg_nkgrf17vel.tif +ellps=GRS80 +step +proj=helmert +x=0.15651 +y=-0.10993 +z=-0.10935 +rx=-0.00312861 +ry=-0.00378935 +rz=0.00403512 +s=0.00529 +convention=position_vector +step +proj=deformation +dt=-3 +grids=eur_nkg_nkgrf17vel.tif +ellps=GRS80
Definition: JavaScript (Proj4js)
proj4.defs("EPSG:10869","+proj=pipeline +step +proj=helmert +x=-0.0014 +y=-0.0009 +z=0.0014 +rx=0.00221 +ry=0.013806 +rz=-0.02002 +s=-0.00042 +dx=0 +dy=-0.0001 +dz=0.0002 +drx=8.5e-05 +dry=0.000531 +drz=-0.00077 +ds=0 +t_epoch=2015 +convention=position_vector +step +inv +proj=deformation +t_epoch=2000 +grids=eur_nkg_nkgrf17vel.tif +ellps=GRS80 +step +proj=helmert +x=0.15651 +y=-0.10993 +z=-0.10935 +rx=-0.00312861 +ry=-0.00378935 +rz=0.00403512 +s=0.00529 +convention=position_vector +step +proj=deformation +dt=-3 +grids=eur_nkg_nkgrf17vel.tif +ellps=GRS80");
Definition: JSON
{ "$schema": "https://proj.org/schemas/v0.7/projjson.schema.json", "type": "ConcatenatedOperation", "name": "ITRF2020 to ETRS89-FIN [EUREF-FIN] (1)", "source_crs": { "type": "GeodeticCRS", "name": "ITRF2020", "datum": { "type": "DynamicGeodeticReferenceFrame", "name": "International Terrestrial Reference Frame 2020", "frame_reference_epoch": 2015, "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": 9988 }, "remarks": "Replaces ITRF2014 (CRS code 7789). Replaced by ITRF2020-u2023 (CRS code 10779)." }, "target_crs": { "type": "GeodeticCRS", "name": "ETRS89-FIN [EUREF-FIN]", "datum": { "type": "GeodeticReferenceFrame", "name": "EUREF-FIN", "anchor_epoch": 1997, "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": 10688 }, "remarks": "EUREF-FIN is the national realization of ETRS89 in Finland." }, "steps": [ { "type": "Transformation", "name": "ITRF2020 to ETRF2014 (1)", "source_crs": { "type": "GeodeticCRS", "name": "ITRF2020", "datum": { "type": "DynamicGeodeticReferenceFrame", "name": "International Terrestrial Reference Frame 2020", "frame_reference_epoch": 2015, "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": 9988 }, "remarks": "Replaces ITRF2014 (CRS code 7789). Replaced by ITRF2020-u2023 (CRS code 10779)." }, "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": -1.4, "unit": { "type": "LinearUnit", "name": "millimetre", "conversion_factor": 0.001 }, "id": { "authority": "EPSG", "code": 8605 } }, { "name": "Y-axis translation", "value": -0.9, "unit": { "type": "LinearUnit", "name": "millimetre", "conversion_factor": 0.001 }, "id": { "authority": "EPSG", "code": 8606 } }, { "name": "Z-axis translation", "value": 1.4, "unit": { "type": "LinearUnit", "name": "millimetre", "conversion_factor": 0.001 }, "id": { "authority": "EPSG", "code": 8607 } }, { "name": "X-axis rotation", "value": 2.21, "unit": { "type": "AngularUnit", "name": "milliarc-second", "conversion_factor": 4.84813681109536e-09 }, "id": { "authority": "EPSG", "code": 8608 } }, { "name": "Y-axis rotation", "value": 13.806, "unit": { "type": "AngularUnit", "name": "milliarc-second", "conversion_factor": 4.84813681109536e-09 }, "id": { "authority": "EPSG", "code": 8609 } }, { "name": "Z-axis rotation", "value": -20.02, "unit": { "type": "AngularUnit", "name": "milliarc-second", "conversion_factor": 4.84813681109536e-09 }, "id": { "authority": "EPSG", "code": 8610 } }, { "name": "Scale difference", "value": -0.42, "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.1, "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.2, "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": 2015, "unit": { "type": "TimeUnit", "name": "year", "conversion_factor": 31556925.445 }, "id": { "authority": "EPSG", "code": 1047 } } ], "accuracy": "0.001", "id": { "authority": "EPSG", "code": 10587 }, "remarks": "Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9. Equivalent to ITRF2014 to ITRF2020 (1) (CT code 9991) reversed concatenated with ITRF2014 to ETRF2014 (2) (CT code 8880) converted to epoch 2015.0." }, { "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." }, { "type": "Transformation", "name": "NKG_ETRF14 to ETRS89-FIN [EUREF-FIN] (1)", "source_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)." }, "target_crs": { "type": "GeodeticCRS", "name": "ETRS89-FIN [EUREF-FIN]", "datum": { "type": "GeodeticReferenceFrame", "name": "EUREF-FIN", "anchor_epoch": 1997, "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": 10688 }, "remarks": "EUREF-FIN is the national realization of ETRS89 in Finland." }, "interpolation_crs": { "type": "GeographicCRS", "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": "ellipsoidal", "axis": [ { "name": "Geodetic latitude", "abbreviation": "Lat", "direction": "north", "unit": "degree" }, { "name": "Geodetic longitude", "abbreviation": "Lon", "direction": "east", "unit": "degree" } ] }, "id": { "authority": "EPSG", "code": 10807 }, "remarks": "Replaces NKG_ETRF00 (ETRF2000 at epoch 2000.0)." }, "method": { "name": "Position Vector (geocen) & Geocen translations NEU velocities (gtg)", "id": { "authority": "EPSG", "code": 1143 } }, "parameters": [ { "name": "X-axis translation", "value": 0.15651, "unit": "metre", "id": { "authority": "EPSG", "code": 8605 } }, { "name": "Y-axis translation", "value": -0.10993, "unit": "metre", "id": { "authority": "EPSG", "code": 8606 } }, { "name": "Z-axis translation", "value": -0.10935, "unit": "metre", "id": { "authority": "EPSG", "code": 8607 } }, { "name": "X-axis rotation", "value": -3.12861, "unit": { "type": "AngularUnit", "name": "milliarc-second", "conversion_factor": 4.84813681109536e-09 }, "id": { "authority": "EPSG", "code": 8608 } }, { "name": "Y-axis rotation", "value": -3.78935, "unit": { "type": "AngularUnit", "name": "milliarc-second", "conversion_factor": 4.84813681109536e-09 }, "id": { "authority": "EPSG", "code": 8609 } }, { "name": "Z-axis rotation", "value": 4.03512, "unit": { "type": "AngularUnit", "name": "milliarc-second", "conversion_factor": 4.84813681109536e-09 }, "id": { "authority": "EPSG", "code": 8610 } }, { "name": "Scale difference", "value": 5.29, "unit": { "type": "ScaleUnit", "name": "parts per billion", "conversion_factor": 1e-09 }, "id": { "authority": "EPSG", "code": 8611 } }, { "name": "Source epoch", "value": 2000, "unit": { "type": "TimeUnit", "name": "year", "conversion_factor": 31556925.445 }, "id": { "authority": "EPSG", "code": 1068 } }, { "name": "Target epoch", "value": 1997, "unit": { "type": "TimeUnit", "name": "year", "conversion_factor": 31556925.445 }, "id": { "authority": "EPSG", "code": 1069 } }, { "name": "Point motion velocity grid file", "value": "NKG_RF17vel.tif", "id": { "authority": "EPSG", "code": 1050 } } ], "accuracy": "0.002", "id": { "authority": "EPSG", "code": 10810 }, "remarks": "Nordic Geodetic Commission (NKG) 2020 transformation. Replaces NKG2008 transformation. Because the difference in coordinates between NKG_ETRF14 and EUREF-FIN is small (under a decimetre), although the interpolation CRS is given as NKG_ETRF14, any realization of ETRS89 (including ETRF2014 and EUREF-FIN) may be used as the interpolation CRS. Scale difference in ppb where 1/billion = 1E-9." } ], "accuracy": "0.004", "scope": "Geodesy.", "area": "Finland - onshore and offshore.", "bbox": { "south_latitude": 58.84, "west_longitude": 19.08, "north_latitude": 70.09, "east_longitude": 31.59 }, "id": { "authority": "EPSG", "code": 10869 }, "remarks": "The coordinate epoch (in years) of the coordinates referenced to the source CRS (ITRF2020) is user-defined and is used as the source epoch in step 2." }
Definition: MapServer - MAPfile
PROJECTION "proj=pipeline" "step" "proj=helmert" "x=-0.0014" "y=-0.0009" "z=0.0014" "rx=0.00221" "ry=0.013806" "rz=-0.02002" "s=-0.00042" "dx=0" "dy=-0.0001" "dz=0.0002" "drx=8.5e-05" "dry=0.000531" "drz=-0.00077" "ds=0" "t_epoch=2015" "convention=position_vector" "step" "inv" "proj=deformation" "t_epoch=2000" "grids=eur_nkg_nkgrf17vel.tif" "ellps=GRS80" "step" "proj=helmert" "x=0.15651" "y=-0.10993" "z=-0.10935" "rx=-0.00312861" "ry=-0.00378935" "rz=0.00403512" "s=0.00529" "convention=position_vector" "step" "proj=deformation" "dt=-3" "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.0014 +y=-0.0009 +z=0.0014 +rx=0.00221 +ry=0.013806 +rz=-0.02002 +s=-0.00042 +dx=0 +dy=-0.0001 +dz=0.0002 +drx=8.5e-05 +dry=0.000531 +drz=-0.00077 +ds=0 +t_epoch=2015 +convention=position_vector +step +inv +proj=deformation +t_epoch=2000 +grids=eur_nkg_nkgrf17vel.tif +ellps=GRS80 +step +proj=helmert +x=0.15651 +y=-0.10993 +z=-0.10935 +rx=-0.00312861 +ry=-0.00378935 +rz=0.00403512 +s=0.00529 +convention=position_vector +step +proj=deformation +dt=-3 +grids=eur_nkg_nkgrf17vel.tif +ellps=GRS80"> <Layer srs="+proj=pipeline +step +proj=helmert +x=-0.0014 +y=-0.0009 +z=0.0014 +rx=0.00221 +ry=0.013806 +rz=-0.02002 +s=-0.00042 +dx=0 +dy=-0.0001 +dz=0.0002 +drx=8.5e-05 +dry=0.000531 +drz=-0.00077 +ds=0 +t_epoch=2015 +convention=position_vector +step +inv +proj=deformation +t_epoch=2000 +grids=eur_nkg_nkgrf17vel.tif +ellps=GRS80 +step +proj=helmert +x=0.15651 +y=-0.10993 +z=-0.10935 +rx=-0.00312861 +ry=-0.00378935 +rz=0.00403512 +s=0.00529 +convention=position_vector +step +proj=deformation +dt=-3 +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 ( 10869, 'EPSG', 10869, '+proj=pipeline +step +proj=helmert +x=-0.0014 +y=-0.0009 +z=0.0014 +rx=0.00221 +ry=0.013806 +rz=-0.02002 +s=-0.00042 +dx=0 +dy=-0.0001 +dz=0.0002 +drx=8.5e-05 +dry=0.000531 +drz=-0.00077 +ds=0 +t_epoch=2015 +convention=position_vector +step +inv +proj=deformation +t_epoch=2000 +grids=eur_nkg_nkgrf17vel.tif +ellps=GRS80 +step +proj=helmert +x=0.15651 +y=-0.10993 +z=-0.10935 +rx=-0.00312861 +ry=-0.00378935 +rz=0.00403512 +s=0.00529 +convention=position_vector +step +proj=deformation +dt=-3 +grids=eur_nkg_nkgrf17vel.tif +ellps=GRS80', 'None');