fbpx
Wikipedia

Well-known text representation of geometry

Well-known text (WKT) is a text markup language for representing vector geometry objects. A binary equivalent, known as well-known binary (WKB), is used to transfer and store the same information in a more compact form convenient for computer processing but that is not human-readable. The formats were originally defined by the Open Geospatial Consortium (OGC) and described in their Simple Feature Access.[1] The current standard definition is in the ISO/IEC 13249-3:2016 standard.[2]

Geometric objects edit

WKT can represent the following distinct geometric objects:

Coordinates for geometries may be 2D (x, y), 3D (x, y, z), 4D (x, y, z, m) with an m value that is part of a linear referencing system or 2D with an m value (x, y, m). Three-dimensional geometries are designated by a "Z" after the geometry type and geometries with a linear referencing system have an "M" after the geometry type. Empty geometries that contain no coordinates can be specified by using the symbol EMPTY after the type name.

WKT geometries are used throughout OGC specifications and are present in applications that implement these specifications. For example, PostGIS contains functions that can convert geometries to and from a WKT representation, making them human readable.

The OGC standard definition requires a polygon to be topologically closed. It also states that if the exterior linear ring of a polygon is defined in a counterclockwise direction, then it will be seen from the "top". Any interior linear rings should be defined in opposite fashion compared to the exterior ring, in this case, clockwise.[3]

Geometry primitives (2D)
Type Examples
Point   POINT (30 10)
LineString   LINESTRING (30 10, 10 30, 40 40)
Polygon   POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))
  POLYGON ((35 10, 45 45, 15 40, 10 20, 35 10),
(20 30, 35 35, 30 20, 20 30))
Multipart geometries (2D)
Type Examples
MultiPoint   MULTIPOINT ((10 40), (40 30), (20 20), (30 10))
MULTIPOINT (10 40, 40 30, 20 20, 30 10)
MultiLineString   MULTILINESTRING ((10 10, 20 20, 10 40),
(40 40, 30 30, 40 20, 30 10))
MultiPolygon   MULTIPOLYGON (((30 20, 45 40, 10 40, 30 20)),
((15 5, 40 10, 10 20, 5 10, 15 5)))
  MULTIPOLYGON (((40 40, 20 45, 45 30, 40 40)),
((20 35, 10 30, 10 10, 30 5, 45 20, 20 35),
(30 20, 20 15, 20 25, 30 20)))
GeometryCollection   GEOMETRYCOLLECTION (POINT (40 10),
LINESTRING (10 10, 20 20, 10 40),
POLYGON ((40 40, 20 45, 45 30, 40 40)))

The following are some other examples of geometric WKT strings: (Note: Each item below is an individual geometry.)

GEOMETRYCOLLECTION(POINT(4 6),LINESTRING(4 6,7 10)) POINT ZM (1 1 5 60) POINT M (1 1 80) POINT EMPTY MULTIPOLYGON EMPTY TRIANGLE((0 0 0,0 1 0,1 1 0,0 0 0)) TIN (((0 0 0, 0 0 1, 0 1 0, 0 0 0)), ((0 0 0, 0 1 0, 1 1 0, 0 0 0))) POLYHEDRALSURFACE Z ( PATCHES ((0 0 0, 0 1 0, 1 1 0, 1 0 0, 0 0 0)), ((0 0 0, 0 1 0, 0 1 1, 0 0 1, 0 0 0)), ((0 0 0, 1 0 0, 1 0 1, 0 0 1, 0 0 0)), ((1 1 1, 1 0 1, 0 0 1, 0 1 1, 1 1 1)), ((1 1 1, 1 0 1, 1 0 0, 1 1 0, 1 1 1)), ((1 1 1, 1 1 0, 0 1 0, 0 1 1, 1 1 1)) ) 

Well-known binary edit

Well-known binary (WKB) representations are typically shown in hexadecimal strings.

The first byte indicates the byte order for the data:

  • 00 : big endian
  • 01 : little endian

The next 4 bytes are a 32-bit unsigned integer for the geometry type, as described below:

Geometry types, and WKB integer codes
Type 2D Z M ZM
Geometry 0000 1000 2000 3000
Point 0001 1001 2001 3001
LineString 0002 1002 2002 3002
Polygon 0003 1003 2003 3003
MultiPoint 0004 1004 2004 3004
MultiLineString 0005 1005 2005 3005
MultiPolygon 0006 1006 2006 3006
GeometryCollection 0007 1007 2007 3007
CircularString 0008 1008 2008 3008
CompoundCurve 0009 1009 2009 3009
CurvePolygon 0010 1010 2010 3010
MultiCurve 0011 1011 2011 3011
MultiSurface 0012 1012 2012 3012
Curve 0013 1013 2013 3013
Surface 0014 1014 2014 3014
PolyhedralSurface 0015 1015 2015 3015
TIN 0016 1016 2016 3016
Triangle 0017 1017 2017 3017
Circle 0018 1018 2018 3018
GeodesicString 0019 1019 2019 3019
EllipticalCurve 0020 1020 2020 3020
NurbsCurve 0021 1021 2021 3021
Clothoid 0022 1022 2022 3022
SpiralCurve 0023 1023 2023 3023
CompoundSurface 0024 1024 2024 3024
BrepSolid 1025
AffinePlacement 102 1102

Each data type has a unique data structure, such as the number of points or linear rings, followed by coordinates in 64-bit double numbers.

For example, the geometry POINT(2.0 4.0) is represented as: 000000000140000000000000004010000000000000, where:

  • 1-byte integer 00 or 0: big endian
  • 4-byte integer 00000001 or 1: POINT (2D)
  • 8-byte float 4000000000000000 or 2.0: x-coordinate
  • 8-byte float 4010000000000000 or 4.0: y-coordinate

Format variations edit

EWKT and EWKBExtended Well-Known Text/Binary
A PostGIS-specific format that includes the spatial reference system identifier (SRID) and up to 4 ordinate values (XYZM).[4][5] For example: SRID=4326;POINT(-44.3 60.1) to locate a longitude/latitude coordinate using the WGS 84 reference coordinate system. It also supports circular curves, following elements named (but not fully defined) within the original WKT: CircularString, CompoundCurve, CurvePolygon and CompoundSurface.[6]
AGF TextAutodesk Geometry Format
An extension to OGC's Standard (at the time), to include curved elements; most notably used in MapGuide.[7]

See also edit

References edit

  1. ^ Herring, John R., ed. (2011-05-28), OpenGIS® Implementation Standard for Geographic information – Simple feature access – Part 1: Common architecture, Open Geospatial Consortium, retrieved 2019-01-28
  2. ^ Information technology – Database languages – SQL multimedia and application packages – Part 3: Spatial (5th ed.), ISO, 2016-01-15, retrieved 2019-01-28
  3. ^ See the OGC Implementation Specification for geographic information – Simple Feature Access, section 6.1.11.1. http://www.opengeospatial.org/standards/sfa
  4. ^ "Postgis/Postgis". GitHub. 6 October 2021.
  5. ^ "ST_GeomFromEWKT". Retrieved 2022-11-25.
  6. ^ "Chapter 4: Using PostGIS: Data Management and Queries". postgis.net. Retrieved 2021-07-30.
  7. ^ "MapGuide API Reference: AGF Text". Retrieved 2023-09-14.

External links edit

  • Simple Feature Access Specification
  • ISO Spatial standard (there is a charge for this)
  • BNF Notation of WKT 2023-01-03 at the Wayback Machine
  • EBNF Notation of WKT
  • Online conversion between geometry objects representations

well, known, text, representation, geometry, well, known, text, redirects, here, representation, coordinate, reference, systems, well, known, text, representation, coordinate, reference, systems, well, known, text, text, markup, language, representing, vector,. Well known text redirects here For representation of coordinate reference systems see Well known text representation of coordinate reference systems Well known text WKT is a text markup language for representing vector geometry objects A binary equivalent known as well known binary WKB is used to transfer and store the same information in a more compact form convenient for computer processing but that is not human readable The formats were originally defined by the Open Geospatial Consortium OGC and described in their Simple Feature Access 1 The current standard definition is in the ISO IEC 13249 3 2016 standard 2 Contents 1 Geometric objects 2 Well known binary 3 Format variations 4 See also 5 References 6 External linksGeometric objects editWKT can represent the following distinct geometric objects Point MultiPoint LineString MultiLineString Polygon MultiPolygon Triangle PolyhedralSurface TIN Triangulated irregular network GeometryCollectionCoordinates for geometries may be 2D x y 3D x y z 4D x y z m with an m value that is part of a linear referencing system or 2D with an m value x y m Three dimensional geometries are designated by a Z after the geometry type and geometries with a linear referencing system have an M after the geometry type Empty geometries that contain no coordinates can be specified by using the symbol EMPTY after the type name WKT geometries are used throughout OGC specifications and are present in applications that implement these specifications For example PostGIS contains functions that can convert geometries to and from a WKT representation making them human readable The OGC standard definition requires a polygon to be topologically closed It also states that if the exterior linear ring of a polygon is defined in a counterclockwise direction then it will be seen from the top Any interior linear rings should be defined in opposite fashion compared to the exterior ring in this case clockwise 3 Geometry primitives 2D Type ExamplesPoint nbsp POINT 30 10 LineString nbsp LINESTRING 30 10 10 30 40 40 Polygon nbsp POLYGON 30 10 40 40 20 40 10 20 30 10 nbsp POLYGON 35 10 45 45 15 40 10 20 35 10 br 20 30 35 35 30 20 20 30 Multipart geometries 2D Type ExamplesMultiPoint nbsp MULTIPOINT 10 40 40 30 20 20 30 10 MULTIPOINT 10 40 40 30 20 20 30 10 MultiLineString nbsp MULTILINESTRING 10 10 20 20 10 40 br 40 40 30 30 40 20 30 10 MultiPolygon nbsp MULTIPOLYGON 30 20 45 40 10 40 30 20 br 15 5 40 10 10 20 5 10 15 5 nbsp MULTIPOLYGON 40 40 20 45 45 30 40 40 br 20 35 10 30 10 10 30 5 45 20 20 35 br 30 20 20 15 20 25 30 20 GeometryCollection nbsp GEOMETRYCOLLECTION POINT 40 10 br LINESTRING 10 10 20 20 10 40 br POLYGON 40 40 20 45 45 30 40 40 The following are some other examples of geometric WKT strings Note Each item below is an individual geometry GEOMETRYCOLLECTION POINT 4 6 LINESTRING 4 6 7 10 POINT ZM 1 1 5 60 POINT M 1 1 80 POINT EMPTY MULTIPOLYGON EMPTY TRIANGLE 0 0 0 0 1 0 1 1 0 0 0 0 TIN 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 POLYHEDRALSURFACE Z PATCHES 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 1 1 1 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 1 1 0 0 1 1 0 1 1 1 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 Well known binary editWell known binary WKB representations are typically shown in hexadecimal strings The first byte indicates the byte order for the data 00 big endian 01 little endianThe next 4 bytes are a 32 bit unsigned integer for the geometry type as described below Geometry types and WKB integer codes Type 2D Z M ZMGeometry 0000 1000 2000 3000Point 0001 1001 2001 3001LineString 0002 1002 2002 3002Polygon 0003 1003 2003 3003MultiPoint 0004 1004 2004 3004MultiLineString 0005 1005 2005 3005MultiPolygon 0006 1006 2006 3006GeometryCollection 0007 1007 2007 3007CircularString 0008 1008 2008 3008CompoundCurve 0009 1009 2009 3009CurvePolygon 0010 1010 2010 3010MultiCurve 0011 1011 2011 3011MultiSurface 0012 1012 2012 3012Curve 0013 1013 2013 3013Surface 0014 1014 2014 3014PolyhedralSurface 0015 1015 2015 3015TIN 0016 1016 2016 3016Triangle 0017 1017 2017 3017Circle 0018 1018 2018 3018GeodesicString 0019 1019 2019 3019EllipticalCurve 0020 1020 2020 3020NurbsCurve 0021 1021 2021 3021Clothoid 0022 1022 2022 3022SpiralCurve 0023 1023 2023 3023CompoundSurface 0024 1024 2024 3024BrepSolid 1025AffinePlacement 102 1102Each data type has a unique data structure such as the number of points or linear rings followed by coordinates in 64 bit double numbers For example the geometry POINT 2 0 4 0 is represented as span style background yellow 00 span span style background lightblue 00000001 span span style background lightsalmon 4000000000000000 span span style background lightgreen 4010000000000000 span where 1 byte integer span style background yellow 00 span or 0 big endian 4 byte integer span style background lightblue 00000001 span or 1 POINT 2D 8 byte float span style background lightsalmon 4000000000000000 span or 2 0 x coordinate 8 byte float span style background lightgreen 4010000000000000 span or 4 0 y coordinateFormat variations editEWKT and EWKB Extended Well Known Text Binary A PostGIS specific format that includes the spatial reference system identifier SRID and up to 4 ordinate values XYZM 4 5 For example SRID 4326 POINT 44 3 60 1 to locate a longitude latitude coordinate using the WGS 84 reference coordinate system It also supports circular curves following elements named but not fully defined within the original WKT CircularString CompoundCurve CurvePolygon and CompoundSurface 6 AGF Text Autodesk Geometry Format An extension to OGC s Standard at the time to include curved elements most notably used in MapGuide 7 See also editSimple Features Geography Markup Language Well known text representation of coordinate reference systemsReferences edit Herring John R ed 2011 05 28 OpenGIS Implementation Standard for Geographic information Simple feature access Part 1 Common architecture Open Geospatial Consortium retrieved 2019 01 28 Information technology Database languages SQL multimedia and application packages Part 3 Spatial 5th ed ISO 2016 01 15 retrieved 2019 01 28 See the OGC Implementation Specification for geographic information Simple Feature Access section 6 1 11 1 http www opengeospatial org standards sfa Postgis Postgis GitHub 6 October 2021 ST GeomFromEWKT Retrieved 2022 11 25 Chapter 4 Using PostGIS Data Management and Queries postgis net Retrieved 2021 07 30 MapGuide API Reference AGF Text Retrieved 2023 09 14 External links editSimple Feature Access Specification ISO Spatial standard there is a charge for this BNF Notation of WKT Archived 2023 01 03 at the Wayback Machine EBNF Notation of WKT Online conversion between geometry objects representations Retrieved from https en wikipedia org w index php title Well known text representation of geometry amp oldid 1177433825, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.