Skip to main content
Skip table of contents

What is WKT?

Well-Known Text

Well-known text (WKT) offers a compact machine- and human-readable representation of geometric objects. WKT may also be used for succinctly describing the critical elements of coordinate reference system (CRS) definitions. 

WKT was described in the Open Geospatial Consortium (OGC) implementation specifications 99-036 through 06-103r4 and the International Organization for Standardization (ISO) standard ISO 19125-1:2004. The WKT representation of coordinate reference systems was subsequently extended in OGC implementation specification 01-009 "Coordinate Transformation Services" and this extension was later adopted in the OGC GeoAPI 3.0 implementation standard 09-083r3 and GeoPackage 1.0 implementation standard 12-128r10. The WKT representation of coordinate reference systems as defined in ISO 19125-1:2004 and OGC specification 01-009 is inconsistent with the terminology and technical provisions of ISO 19111:2007 and OGC Abstract Specification topic 2 (08-015r2), "Geographic information — Spatial referencing by coordinates".

The 2015 version of the OGC specification 12-063 "Geographic information — Well-known text representation of coordinate reference systems" provided an updated version of WKT representation of coordinate reference systems that follows the provisions of ISO 19111:2007 and ISO 19111-2:2009. It extended earlier WKT to allow for the description of coordinate operations.

This 2019 version of OGC specification 18-010 "Geographic information — Well-known text representation of coordinate reference systems" updates WKT for the extensions to ISO 19111 made through its 2019 revision:

  • the description of dynamic geodetic and vertical coordinate reference systems;

  • the change of coordinate values within a coordinate reference system due to point motion caused by tectonic deformation;

  • the description of geoid-based vertical coordinate reference systems;

  • the description of datum ensembles, groups of realizations of one terrestrial or vertical reference system that for low accuracy purposes may be merged ignoring coordinate transformation;

  • a rigorous description of temporal coordinate reference systems;

  • the removal (deprecation) of image coordinate reference systems; and

  • the remodelling of scope and extent information.

The ISO Technical Committee ISO/TC 211 Geographic information/Geomatics adopted the OGC specification 18-010 as ISO standard ISO 19162:2019.

The OGC documents define the structure and content of well-known text strings. They do not prescribe how implementations should read or write these strings.

WKT Versions

Version

OGC Standard

WKT1

OGC 01-009
Coordinate Transformation Service

WKT2

OGC 18-010r7 ( revised draft version of ISO 19162:2019 )
Well-known text representation of coordinate reference systems

QPS software products currently support WKT Version 1 with QPS own extensions such as transformation.

WKT Export / Import

When a Geodetic Configuration is created in the Qinsy Geodetic Configuration User Interface, it is possible to export this configuration to a WKT string and send it to another user.
The next user can simply import this WKT string through the Load function of the Geodetic User Interface and will have the same configuration as defined by the first user.

WKT Example

The following WKT example shows the information of the ETRS89 to Dutch Datum transformation:

CODE
COMPD_CS["Amersfoort / RD New + NAP height (2018)",
    PROJCS["Amersfoort / RD New",
        GEOGCS["Amersfoort",
            DATUM["Amersfoort",
                SPHEROID["Bessel 1841",6377397.155,299.1528128,UNIT["meter",1,AUTHORITY["EPSG","9001"]],AUTHORITY["EPSG","7004"]],
                AUTHORITY["EPSG","6289"]],
            PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],
            UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9102"]],
            AUTHORITY["EPSG","4289"]],
        PROJECTION_NAME["RD New",AUTHORITY["EPSG","19914"]],
        PROJECTION["Oblique Stereographic",AUTHORITY["EPSG","9809"]],
        PARAMETER["latitude_of_origin",52.156160556,UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9102"]]],
        PARAMETER["central_meridian",5.387638889,UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9102"]]],
        PARAMETER["false_easting",155000,UNIT["meter",1,AUTHORITY["EPSG","9001"]]],
        PARAMETER["false_northing",463000,UNIT["meter",1,AUTHORITY["EPSG","9001"]]],
        PARAMETER["scale_factor",0.9999079,UNIT["unity",1,AUTHORITY["EPSG","9201"]]],
        UNIT["meter",1,AUTHORITY["EPSG","9001"]],
        AUTHORITY["EPSG","28992"]],
    VERT_CS["NAP height",
        VERT_DATUM["Normaal Amsterdams Peil",2005,AUTHORITY["EPSG","5109"]],
        AXIS["height",UP],
        UNIT["meter",1,AUTHORITY["EPSG","9001"]],
        AUTHORITY["EPSG","5709"]],
    AUTHORITY["QPS","4"]],
GEOGCS["ETRS89",
    DATUM["European Terrestrial Reference System 1989 ensemble",
        SPHEROID["GRS 1980",6378137,298.257222101,UNIT["meter",1,AUTHORITY["EPSG","9001"]],AUTHORITY["EPSG","7019"]],
        AUTHORITY["EPSG","6258"]],
    PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],
    UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9102"]],
    AUTHORITY["EPSG","4258"]],
TRANSFORM["RD to ETRS89 (RDNAPTRANS 2018)",
    GEOGCS["Amersfoort",
        DATUM["Amersfoort",
            SPHEROID["Bessel 1841",6377397.155,299.1528128,UNIT["meter",1,AUTHORITY["EPSG","9001"]],AUTHORITY["EPSG","7004"]],
            AUTHORITY["EPSG","6289"]],
        PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],
        UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9102"]],
        AUTHORITY["EPSG","4289"]],
    GEOGCS["ETRS89",
        DATUM["European Terrestrial Reference System 1989 ensemble",
            SPHEROID["GRS 1980",6378137,298.257222101,UNIT["meter",1,AUTHORITY["EPSG","9001"]],AUTHORITY["EPSG","7019"]],
            AUTHORITY["EPSG","6258"]],
        PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],
        UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9102"]],
        AUTHORITY["EPSG","4258"]],
    PARAM_MT["NTV2",
        PARAMETER["dx",565.7381,UNIT["meter",1,AUTHORITY["EPSG","9001"]]],
        PARAMETER["dy",50.4018,UNIT["meter",1,AUTHORITY["EPSG","9001"]]],
        PARAMETER["dz",465.2904,UNIT["meter",1,AUTHORITY["EPSG","9001"]]],
        PARAMETER["ex",-0.395025981,UNIT["arcsecond",4.8481368110953598e-06,AUTHORITY["EPSG","9104"]]],
        PARAMETER["ey",0.330772431,UNIT["arcsecond",4.8481368110953598e-06,AUTHORITY["EPSG","9104"]]],
        PARAMETER["ez",-1.876073295,UNIT["arcsecond",4.8481368110953598e-06,AUTHORITY["EPSG","9104"]]],
        PARAMETER["ppm",4.07244,UNIT["part per million",9.9999999999999995e-07,AUTHORITY["EPSG","9202"]]],
        PARAMETER["src_height",0,UNIT["meter",1,AUTHORITY["EPSG","9001"]]],
        PARAMETER["tgt_height",43,UNIT["meter",1,AUTHORITY["EPSG","9001"]]],
        PARAMETER["latitude_and_longitude_difference_file","rdtrans2018.gsb"],
        PARAMETER["transformation_accuracy",0.001],
        AUTHORITY["EPSG","9615"]],
    AUTHORITY["EPSG","9282"]],
TRANSFORM["ETRS89 to NAP height (RDNAPTRANS 2018)",
    PARAM_MT["Geoid_Height_Model",
        PARAMETER["geoid_model_name","NAP - NLGEO2018 (Nederland)"],
        PARAMETER["geoid_model_file","nlgeo2018.gtx"],
        PARAMETER["model_datum_name","ETRS89"],
        PARAMETER["file_format","GTX"],
        PARAMETER["file_type","binary"],
        PARAMETER["file_unit",UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9102"]]],
        PARAMETER["interpolation_method","bilinear"],
        PARAMETER["transformation_accuracy",0.0035,UNIT["meter",1,AUTHORITY["EPSG","9001"]]],
        PARAMETER["qps_id","51"],
        UNIT["meter",1,AUTHORITY["EPSG","9001"]],
        AUTHORITY["EPSG","9665"]],
    GEOGCS["ETRS89",
        DATUM["European Terrestrial Reference System 1989 ensemble",
            SPHEROID["GRS 1980",6378137,298.257222101,UNIT["meter",1,AUTHORITY["EPSG","9001"]],AUTHORITY["EPSG","7019"]],
            AUTHORITY["EPSG","6258"]],
        PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],
        UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9102"]],
        AUTHORITY["EPSG","4258"]],
    VERT_CS["NAP height",
        VERT_DATUM["Normaal Amsterdams Peil",2005,AUTHORITY["EPSG","5109"]],
        AXIS["height",UP],
        UNIT["meter",1,AUTHORITY["EPSG","9001"]],
        AUTHORITY["EPSG","5709"]],
    AUTHORITY["EPSG","9283"]],
METADATA["Amersfoort / RD New + NAP height (2018)",
    PARAMETER["version",2],
    PARAMETER["timestamp","20240827T152706"],
    PARAMETER["type","Project"]]
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.