El formato de notación de objetos de JavaScript (JSON) permite definir de forma sencilla y eficaz las características de cualquier objeto. Con la finalidad de poder estandarizar la definición de objetos de la misma naturaleza o que tengan características comunes, surge la necesidad de crear extensiones del formato.

Una extensión de JSON no es más que un nuevo esquema de uso del formato que facilita la definición e interpretación de una característica o de un conjunto de ellas, manteniendo la estructura de JSON y produciendo documentos totalmente válidos para este formato. Una de las extensiones más conocidas y la más importante en el ámbito geográfico es GeoJSON, que permite definir geometrías y conjuntos de geometrías definiendo su tipo (Point, LineString, Polygon, MultiPoint, MultiLineString y MultiPolygon), sus coordenadas y las propiedades que se deseen almacenar.

A la hora de representar una entidad geográfica puede suceder que se pretenda almacenar una fecha o un período con el fin de, por ejemplo, crear un mapa con escala temporal en un visor web creado con Leaflet o con Openlayers. GeoJSON ya nos permite esto incluyendo en “properties” una clave que haga referencia a la fecha, a la duración y a otras características, pero la forma de escribir estas variables no son un estándar del formato y dependen de los requisitos que tenga cada posible herramienta en la que se vaya a usar el documento, pudiendo ser que un GeoJSON que se represente correctamente en TimeStampedGeoJSON de Leaflet, no sea válido para su implementación en otra herramienta que en una el inicio de un período tenga que ser introducido con “start” y en otra con “begin”.

 

Además de la falta de estandarización, el uso de las propiedades de la entidad para definir el tiempo en el que se produce, tiene ciertas limitaciones:

– Es muy común, por ejemplo, que una entidad cambie geométricamente a lo largo del tiempo, como podrían ser las fronteras de un país a lo largo de los siglos y a la hora de plasmarlo usando las propiedades de la entidad, deberíamos generar una geometría nueva para representar cada cambio.

– Algunas propiedades de una entidad pueden cambiar con el tiempo, como el nombre de una ciudad.

– Los eventos no siempre tienen un principio y un final definido. A veces se sabe cuándo empieza, por ejemplo, una guerra, pero el final se da en un intervalo de tiempo y no existe un estándar para representarlo.

– Algunos hechos geográficos son discontinuos en el tiempo y en ocasiones, hasta puede que se conozca el orden en el que acontecen, pero no las fechas en las que tuvieron lugar.

Para atender a estas necesidades, Karl Grossner, desarrolló una extensión experimental de GeoJSON que, bajo el nombre de GeoJSON-T, crea un estándar que permite afrontar las limitaciones expuestas. GeoJSON-T, al ser una extensión de GeoJSON, lo es también de JSON, con lo que todos los documentos son válidos en los tres formatos.

Como solución a los problemas mencionados, añade el objeto “when” (cuándo), que puede ser introducido en tres niveles:

1- A nivel entidad: Al mismo nivel que el tipo, geometría o propiedades, donde permite su uso de manera similar a su introducción en propiedades, pudiendo introducir nada más que los inicios y finales en una lista, que se aplican a toda la entidad por igual.

2- A nivel geometría dentro de una colección: Introduciendo aquí el “when”, se logra que la misma entidad pueda cambiar de forma e incluso de tipo de geometría a lo largo del tiempo. Esto permitiría, por ejemplo, que lo que empieza siendo un vertido de forma puntual, se transforme en lineal si se extiende y transcurre por el cauce de un río y se convierta en poligonal si llega al mar.

3- A nivel colección de entidades: En este caso se aplicarían los tiempos definidos a todas las entidades de la colección

Para eventos que puedan tener un principio o un final que no esté bien definido incluye las claves “earliest” y “latest” que representan la primera fecha en la que pudo empezar o terminar el evento. Por ejemplo, podríamos planificar una obra en la que supiésemos el día en el que se va a empezar, pero cuyo final pudiese estar condicionado por alguna variable y tuviésemos que plantear su final en un rango de fechas. Su “when” podría resultar así:

GeoJSON-T es un formato experimental, pero otros proyectos ya lo están usando como base. Es el caso de LinkedPlaces, que se trata a su vez de una extensión de GeoJSON-T y de JSON-LD enfocada a la modernización y estandarización de un nomenclátor que incluya URIs estables. La British Library cuenta con un proyecto para la representación de mapas con escala temporal llamada WebMaps-T, que usa el formato para estructurar sus datos.

Dado que, para crear una extensión de cualquier formato de JSON, solo hay que crear una nueva estructura que respete las condiciones exigidas por éste, existen multitud de proyectos creando extensiones que resuelven problemas o implementan mejoras. La utilidad que la gente vea en estas extensiones y la expansión de su uso es la que marcará su supervivencia y, con el tiempo, algunas de ellas podrían convertirse en estándares de facto o, incluso, en estándares oficiales adoptados por las principales asociaciones dedicadas a generar recomendaciones y estándares como son el Open Geoespatial Consortium (OGC), World Wide Web Consortium (W3C) o la International Image Interoperability Framework (IIIF) que parece estar valorando, por medio de un grupo para definir las buenas prácticas en Información Geográfica que mejoren la interoperabilidad, a GeoJSON-T como posible esquema JSON estándar que cubra las demandas de su comunidad.

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (5 votos, promedio: 5,00 de 5)

Cargando...

Formación de calidad impartida por profesionales