En este artículo vamos a dar algunos detalles acerca de qué es el formato Well Known Text (WKT) para la definición de geometrías, su relación con los Sistemas de Información Geográfica y las bases de datos espaciales.
También vamos a mostrar cómo importar y exportar datos espaciales basados en este estándar y cómo leer un WKT en QGIS, para usarlos como capas de información geográfica.
¿Qué es el formato WKT?
El formato WKT o Well Known Text es un formato de codificación específicamente diseñado para la caracterización y almacenamiento de objetos geométricos espaciales en formato vectorial.
Se trata de un formato muy expandido dentro del mundo de las geotecnologías ya que se trata de un estándar definido por el OGC y por ello se ha adoptado por una gran cantidad de Sistemas de Información Geográfica y es aceptado por otras herramientas y librerías geoespaciales.
Geometrías admitidas en el estándar WKT
Utilizando WKT podremos definir distintos tipos de geometrías como:
Tipologías de geometría básicas:
- Puntos (POINT)
- Líneas (LINESTRING)
- Polígonos (POLYGON)
Tipologías de geometrías multiparte:
- Multipuntos (MULTIPOINT)
- Multilínieas (MULTILINESTRING)
- Multipolígonos (MULTIPOLYGON)
Otros tipos de geometrías:
- Colecciones de geometrías: elementos de distinta tipología geométrica.
- Puntos tridimensionales (X, Y, Z)
- Puntos cuatridimensionales (X, Y, Z, M)
- Superfícies poliédricas
- TIN (Triangulated Irregular Network)
Ejemplos de definición de geometrías en WKT
Por proponer algunos ejemplos, vamos a mostrar la apariencia de algunas geometrías “traducidas” a este formato WKT.
La estructura de una geometría WKT de tipo punto es la siguiente:
POINT(10 20)
Un punto tridimensional, por su parte, se constituiría con tres coordenadas. Por ejemplo, para mostrar un valor de elevación en el eje de las Z:
POINT(10 5 3)
Un multipunto estaría constituido por:
MULTIPOINT((10 20), (30 50))
La geometría de una línea en formato WKT tendría la siguiente apariencia:
LINESTRING (10 35, 5 15, 20 30)
Un polígono se definiría de la siguiente forma, de manera que el punto inicial y el punto final son coincidentes :
POLYGON(10 10, 15 15, 10 30, 5 10, 10 10)
Un multipolígono, finalmente, se definiría de la siguiente manera:
MULTIPOLYGON(
(10 10, 15 15, 10 30, 5 10, 10 10),
(25 5, 20 15, 30 30, 25 5)
)
Básicamente, como vemos la estructura se traduce en un parámetro de definición del tipo de geometría seguido de las coordenadas de los puntos necesarios que la definen en el espacio entre paréntesis.
Las coordenadas se definen por pares de X e Y separados por espacios, y cada par de coordenadas separadas por comas.
En el caso de elementos con geometría multiparte, cada una de las partes entre paréntesis se separan por una coma, englobados dentro de un paréntesis de orden superior que lógicamente deberá respetarse a inicio y fin.
Cargar CSV en formato WKT en QGIS
Para cargar datos en formato WKT en QGIS desde un archivo de texto que contenga un campo con dicha información geográfica, deberemos dirigirnos al menú Capa > Administrador de fuentes de datos > Texto delimitado.
En el panel, como si de un CSV se tratara, deberemos especificar los parámetros de lectura del archivo: delimitadores de campos, codificación, tipos de campo, sistema de coordenadas…

No obstante, en la definición de geometrías deberemos especificar que se trata de un WKT, así como el tipo de geometría si es homogénea en todo el archivo. En el visor de datos de ejemplo podremos ver el aspecto de nuestros datos previa importación.

Una vez finalizada la definición de dichos parámetros, nuestros datos deberían visualizarse en el lienzo de QGIS y aparecer como una capa (no como una tabla) en la tabla de contenidos lateral. En este caso hemos cargado una serie de líneas (LINESTRING) que representan los carriles bici de la ciudad de Barcelona.
Exportar datos en formato WKT desde QGIS
Si deseamos obtener la definición geométrica de los elementos de una capa en base a su geometría podemos exportar cualquier capa en formato CSV y especificar los parámetros deseados para el guardado.
Para exportar nuestra capa manteniendo el campo de geometría en formato WKT deberemos tratarlo como un CSV. Haremos clic con el botón derecho sobre la capa > Exportar> Guardar objetos como.
Deberemos especificar la ruta de guardado de archivo y su nombre, el sistema de referencia de coordenadas, los campos a exportar y, en el apartado “Opciones de capa”, definir la geometría como “AS_WKT” y el tipo de separador entre campos.

Realizando esta acción, básicamente estamos adicionando una nueva columna denominada “WKT” sobre nuestra capa exportada que contiene la geometría en dicho formato, es decir, del estilo POINT(X Y).
Alternativamente, si quisiéramos calcular dicha columna sin tener que exportar los datos para conseguir las geometrías en WKT, podríamos crear un nuevo campo y en él calcular ese valor.
El campo, evidentemente, debe ser de tipo texto y tener una longitud suficiente como para albergar la definición de todas las geometrías. Si asignamos una extensión del string demasiado corto obtendríamos geometrías inválidas.
Cuanto más complejas sean las geometrías (mayor número de vértices) más longitud ocupará su definición en WKT.

Para el cálculo de la geometría en WKT en ese nuevo campo, desde la calculadora de campos deberemos introducir la siguiente fórmula desde QGIS:
campoWKT = geom_to_wkt($geometry)
que básicamente devuelve la geometría en WKT en base al parámetro $geometry de cada elemento de la capa. De este modo se asigna a cada elemento geométrico su respectivo punto en WKT con su par de coordenadas.