CoordinateSystem

Espacio de nombres: Digi21.CoordinateSystems
Ensamblado: Digi21.CoordinateSystems

Sistema de referencia de coordenadas (SRC).

public sealed class CoordinateSystem

La clase no tiene constructores públicos: los sistemas se crean con los métodos estáticos. Un CoordinateSystem no cambia después de crearse y se puede compartir entre hilos.

Métodos estáticos

Método Descripción
FromEpsg(int code) Crea el sistema con el código EPSG indicado, por ejemplo 25830 o 4979. Lanza ArgumentOutOfRangeException si el código no es positivo y CoordinateSystemException si no está en la base de datos de EPSG.
FromEpsg(int horizontal, int vertical) Crea un sistema compuesto por un sistema horizontal (proyectado o geográfico 2D) y uno vertical de EPSG, por ejemplo FromEpsg(25830, 5782) para ETRS89 / UTM huso 30N con altitudes de Alicante. Lanza ArgumentException si el primer código no es horizontal o el segundo no es vertical.
FromWkt(string wkt) Crea el sistema a partir de su definición WKT (OGC 01-009). Lanza ArgumentException si el texto no es un único elemento WKT completo (corchetes y comillas equilibrados) y CoordinateSystemException si no se puede interpretar.
Parse(string text) Crea el sistema a partir de un texto con la forma EPSG:<código> (sin distinguir mayúsculas de minúsculas) o con una definición WKT. Es la misma regla que el parámetro crs de los módulos Python digi21.io. Lanza ArgumentException si el texto está vacío o el código no es un número.

Métodos

WithEastNorthAxes

public CoordinateSystem WithEastNorthAxes()

Devuelve el mismo sistema con el eje este en primer lugar y el norte en segundo. En un sistema geográfico, la longitud pasa a ser la primera coordenada y la latitud la segunda; en uno compuesto, se cambia el orden del sistema horizontal. Si el sistema ya tiene ese orden, por ejemplo EPSG:25830, devuelve la misma instancia.

Propiedades

Propiedad Descripción
string Wkt Definición WKT del sistema.
string Name Nombre del sistema, por ejemplo ETRS89 / UTM zone 30N.
string Authority Autoridad que define el sistema (EPSG), o una cadena vacía. Un sistema creado con FromEpsg(int, int) no tiene autoridad.
int? AuthorityCode Código del sistema en su autoridad, o null.
int Dimension Número de coordenadas de un punto en este sistema: 1 (vertical), 2 o 3.
bool IsLocal true si el sistema horizontal es local (desconocido).
(int Horizontal, int Vertical) EpsgCodes Códigos EPSG de la parte horizontal y de la parte vertical. Una parte sin código EPSG vale 0. Un sistema geográfico 3D, como EPSG:4979, devuelve su código como horizontal.

Ejemplo

var compuesto = CoordinateSystem.FromEpsg(25830, 5782);
Console.WriteLine(compuesto.Name);        // ETRS89 / UTM zone 30N + Alicante height
Console.WriteLine(compuesto.Dimension);   // 3
Console.WriteLine(compuesto.EpsgCodes);   // (25830, 5782)

var ventana = CoordinateSystem.FromWkt(Digi21.DigiNG.DigiNG.Wkt);