Well Known Text
# Well Known Text

La representación Well Known Text o de texto conocido (también llamado WKT en su acrónimo inglés) es una codificación o sintaxis en formato ASCII estandarizada diseñada para describir objetos espaciales expresados de forma vectorial. Los objetos que es capaz de describir el formato WKT son los siguientes:

* Puntos.
* Multipuntos.
* Líneas.
* Multilíneas.
* Polígonos.
* Multipolígonos.
* Colecciones de geometría.
* Puntos en 3 y 4 dimensiones.

Su especificación ha sido promovida por un organismo internacional Open Geospatial Consortium (OGC), siendo su sintaxis muy fácil de utilizar, de forma que su uso se encuentra muy generalizado en la industria geoinformática. De hecho, WKT es la base de otros formatos más conocidos como el KML utilizado en Google Maps y Google Earth.

La mayoría de las bases de datos espaciales, y en especial PostgreSQL a través de su extensión para el almacenamiento y análisis espacial PostGIS, utiliza esta codificación.

Existe una variante de este lenguaje, pero expresada de forma binaria, denominada Well Know Binary o binario conocido (WKB en su acrónimo inglés), la cual es también utilizada por estos gestores espaciales, pero con la ventaja de que al ser compilada en forma binaria la velocidad de proceso es muy elevada.

A efectos prácticos la sintaxis WKT consta de una descripción de los vértices que componen la geometría. Para que esta forma de especificar las geometrías tengan sentido deben de acompañarse de una indicación de la referencia espacial o proyección cartográfica utilizada en dicho vector.

## Ejemplos de sintaxis

Geometrías primitivas (2D) :

| Type | Ejemplos |
| - | - |
| Punto | POINT (30 10) |
| Línea | LINESTRING (30 10, 10 30, 40 40) |
| Polígono | POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10)) |
| Polígono | POLYGON ((35 10, 45 45, 15 40, 10 20, 35 10), (20 30, 35 35, 30 20, 20 30)) |

Geometrías multiparte (2D) :

| Type | Ejemplos |
| - | - |
| Multipunto | MULTIPOINT ((10 40), (40 30), (20 20), (30 10)) |
| Multipunto | MULTIPOINT (10 40, 40 30, 20 20, 30 10) |
| Multilínea | MULTILINESTRING ((10 10, 20 20, 10 40), (40 40, 30 30, 40 20, 30 10)) |
| Multipolígono | MULTIPOLYGON (((30 20, 45 40, 10 40, 30 20)), ((15 5, 40 10, 10 20, 5 10, 15 5))) |
| Multipolígono | 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))) |

* Colección de geometrías (geometrías de distinto tipo en un solo elemento): GEOMETRYCOLLECTION(POINT(4 6),LINESTRING(4 6,7 10))
* Punto vacío: POINT EMPTY
* Multipolígono vacío: MULTIPOLYGON EMPTY

## Sistemas de referencia espacial

En WKT también se pueden especificar sistemas de referencia espacial describiendo el datum, geoide, sistema de coordenadas y proyección de los objetos espaciales.

## Sistemas de gestión de bases de datos

Los siguientes sistemas de gestión de bases de datos ofrecen la posibilidad de usar WKT:

* PostgreSQL con PostGIS Module 1.3
* Oracle 9i, 10g, 11g
* MySQL
* Informix 9,10,11 with Spatial datablade module
* MS SQLServer 2008
