Sintaxis de los sistemas de coordenadas

La sintaxis de los sistemas de coordenadas es una representación en forma de serie de caracteres de este tipo de sistema de coordenadas.

La representación de texto convencional de los sistemas de referencia espacial proporciona una representación textual estándar para la información sobre sistemas de coordenadas. Las definiciones de la representación de texto convencional están definidas por la especificación OGC Simple Features for SQL y por el estándar SQL/MM Part 3: Spatial de ISO.

Un sistema de coordenadas es un sistema de coordenadas geográficas (latitud-longitud), un sistema de coordenadas proyectadas (X,Y) o un sistema de coordenadas geocéntricas (X,Y,Z). El sistema de coordenadas consta de varios objetos. Cada objeto tiene asignada una palabra clave escrita en mayúsculas (por ejemplo, DATUM o UNIT) seguida entre paréntesis o corchetes por los parámetros que definen el objeto, separados por comas. Algunos objetos están formados por otros objetos, por lo que el resultado es una estructura anidada.

Nota: Las implementaciones pueden utilizar paréntesis estándar ( ) en vez de corchetes [ ] y debe ser posible leer ambos tipos de símbolos.
La definición EBNF (Extended Backus Naur Form) para la representación en forma de serie de caracteres de un sistema de coordenadas utilizando corchetes es la siguiente (consulte la nota anterior sobre el uso de corchetes):

<coordinate system> = <projected cs> | 
<geographic cs> | <geocentric cs>
<projected cs> = PROJCS["<name>", 
<geographic cs>, <projection>, {<parameter>,}*
<linear unit>]
<projection> = PROJECTION["<name>"]
<parameter> = PARAMETER["<name>", 
<value>]

<value> = <number>
El tipo de sistema de coordenadas está identificado por la palabra clave utilizada:
PROJCS
Esta palabra clave identifica un sistema de coordenadas de un conjunto de datos cuando los datos están en coordenadas proyectadas
GEOGCS
Esta palabra clave identifica un sistema de coordenadas de un conjunto de datos cuando los datos están en coordenadas geográficas
GEOCCS
Esta palabra clave identifica un sistema de coordenadas de un conjunto de datos cuando los datos están en coordenadas geocéntricas
La palabra clave PROJCS va seguida de todas las partes que definen el sistema de coordenadas proyectadas. El primer elemento de cualquier objeto es siempre el nombre. El nombre del sistema de coordenadas proyectadas va seguido por varios objetos: el sistema de coordenadas geográficas, la proyección cartográfica, uno o varios parámetros y la unidad lineal de medida. Todos los sistemas de coordenadas proyectadas están basados en un sistema de coordenadas geográficas, por lo que esta sección describe primero los elementos específicos de un sistema de coordenadas proyectadas. Por ejemplo, la zona 10N de UTM sobre el sistema de referencia NAD83 está definida así:

PROJCS["NAD_1983_UTM_Zone_10N",
<geographic cs>,
PROJECTION["Transverse_Mercator"],
PARAMETER["False_Easting",500000.0],
PARAMETER["False_Northing",0.0],
PARAMETER["Central_Meridian",-123.0],
PARAMETER["Scale_Factor",0.9996],
PARAMETER["Latitude_of_Origin",0.0],
UNIT["Meter",1.0]]
El nombre y varios objetos definen el objeto del sistema de coordenadas geográficas secuencialmente: el sistema de referencia, el meridiano de origen y la unidad angular de medida.

<geographic cs> = GEOGCS["<name>", <datum>, <prime meridian>, <angular unit>]
<datum> = DATUM["<name>", <spheroid>]
<spheroid> = SPHEROID["<name>", <semi-major axis>, <inverse flattening>]
<semi-major axis> = <number>
<inverse flattening> = <number>
<prime meridian> = PRIMEM["<name>", <longitude>]
<longitude> = <number>

El eje semimayor se mide en metros y debe ser mayor que cero.

Esta sería la definición del sistema de coordenadas geográficas para la zona 10 de UTM en NAD83:

GEOGCS["GCS_North_American_1983",
DATUM["D_North_American_1983",
SPHEROID["GRS_1980",6378137,298.257222101]],
PRIMEM["Greenwich",0],
UNIT["Degree",0.0174532925199433]]
El objeto UNIT puede representar una unidad angular o lineal de medidas:

<angular unit> = <unit>
<linear unit> = <unit>
<unit> = UNIT["<name>", <conversion factor>]
<conversion factor> = <number>
 

El factor de conversión especifica el número de metros (para una unidad lineal) o el número de radianes (para una unidad angular) por cada unidad y debe ser mayor que cero.

Por tanto, la representación completa en forma de cadena de caracteres de la zona 10N de UTM sería la siguiente:

PROJCS["NAD_1983_UTM_Zone_10N",
GEOGCS["GCS_North_American_1983",
DATUM[ "D_North_American_1983",SPHEROID["GRS_1980",6378137,298.257222101]],
PRIMEM["Greenwich",0],UNIT["Degree",0.0174532925199433]],
PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000.0],
PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-123.0],
PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_of_Origin",0.0],
UNIT["Meter",1.0]]
Un sistema de coordenadas geocéntricas es bastante similar a un sistema de coordenadas geográficas:

<geocentric cs> = GEOCCS["<name>", <datum>, <prime meridian>, <linear unit>]