Articulo de referencia

n -vector

La representación vectorial n (también llamada normal geodésica o vector normal elipsoidal ) es una representación no singular de tres parámetros muy adecuada para reemplazar la...

La representación vectorial n (también llamada normal geodésica o vector normal elipsoidal ) es una representación no singular de tres parámetros muy adecuada para reemplazar las coordenadas geodésicas ( latitud y longitud ) para la representación de la posición horizontal en cálculos matemáticos y algoritmos informáticos.

Geométricamente, el vector n para una posición dada en un elipsoide es el vector unitario que apunta hacia afuera y es normal al elipsoide en esa posición. Para representar posiciones horizontales en la Tierra, el elipsoide es un elipsoide de referencia y el vector se descompone en un sistema de coordenadas terrestres fijo . Se comporta de manera uniforme en todas las posiciones terrestres y posee la propiedad matemática biyectiva .

De forma más general, el concepto puede aplicarse a la representación de posiciones en el límite de un subconjunto estrictamente convexo y acotado del espacio euclidiano k -dimensional , siempre que dicho límite sea una variedad diferenciable . En este caso general, el vector n consta de k parámetros.

Propiedades generales

Un vector normal a una superficie estrictamente convexa puede utilizarse para definir de forma única la posición de una superficie. El vector n es un vector normal que apunta hacia afuera con longitud unitaria , utilizado como representación de posición. [ 1 ]

Para la mayoría de las aplicaciones, la superficie es el elipsoide de referencia de la Tierra, por lo que el vector n se utiliza para representar una posición horizontal. Por lo tanto, el ángulo entre el vector n y el plano ecuatorial corresponde a la latitud geodésica , como se muestra en la figura.

Alt
La dirección del vector n corresponde a la latitud geodésica.

A surface position has two degrees of freedom, and thus two parameters are sufficient to represent any position on the surface. On the reference ellipsoid, latitude and longitude are common parameters for this purpose, but like all two-parameter representations, they have singularities. This is similar to orientation, which has three degrees of freedom, but all three-parameter representations have singularities.[2] In both cases the singularities are avoided by adding an extra parameter, i.e. to use n-vector (three parameters) to represent horizontal position and a unit quaternion (four parameters) to represent orientation.

n-vector is a one-to-one representation, meaning that any surface position corresponds to one unique n-vector, and any n-vector corresponds to one unique surface position.

As a Euclidean 3D vector, standard 3D vector algebra can be used for the position calculations, and this makes n-vector well-suited for most horizontal position calculations. For a general comparison of the various representations, see the horizontal position representations page.

Converting latitude/longitude to n-vector

Based on the definition of the ECEF coordinate system, called e, it is clear that going from latitude/longitude to n-vector, is achieved by:

ne=[cos(latitude)cos(longitude)cos(latitude)sin(longitude)sin(latitude)]{\displaystyle \mathbf {n} ^{e}=\left[{\begin{matrix}\cos(\mathrm {latitud} )\cos(\mathrm {longitud} )\\\cos(\mathrm {latitud} )\sin(\mathrm {longitud} )\\\sin(\mathrm {latitud} )\\\end{matrix}}\right]}

The superscript e means that n-vector is decomposed in the coordinate system e (i.e. the first component is the scalar projection of n-vector onto the x-axis of e, the second onto the y-axis of e etc.). Note that the equation is exact both for spherical and ellipsoidal Earth model.

Converting n-vector to latitude/longitude

From the three components of n-vector, nxe{\displaystyle n_{x}^{e}}, nye{\displaystyle n_{y}^{e}}, and nze{\displaystyle n_{z}^{e}}, latitude can be found by using:

latitude=arcsin(nze)=arctan(nzenxe2+nye2){\displaystyle \mathrm {latitud} =\arcsin \left(n_{z}^{e}\right)=\arctan \left({\frac {n_{z}^{e}}{\sqrt {{n_{x}^{e}}^{2}+{n_{y}^{e}}^{2}}}}\right)}

The rightmost expression is best suited for computer program implementation.[1]

Longitude is found using:

longitude=arctan(nyenxe){\displaystyle \mathrm {longitud} =\arctan \left({\frac {n_{y}^{e}}{n_{x}^{e}}}\right)}

In these expressions arctan(y/x){\displaystyle \arctan(y/x)}Debe implementarse mediante una llamada a atan2 ( y , x ). La singularidad del polo en longitud es evidente, ya que atan2 (0,0) no está definido. Cabe destacar que las ecuaciones son exactas tanto para el modelo de Tierra esférica como para el elipsoidal.

Ejemplo 1: Distancia del círculo máximo

El cálculo de la distancia geodésica entre dos posiciones horizontales (suponiendo una Tierra esférica) se realiza habitualmente mediante latitud y longitud. Existen tres expresiones comunes para esta distancia: la primera se basa en arccos , la segunda en arcsin y la última en arctan . Estas expresiones, cada vez más complejas para evitar inestabilidades numéricas , no son fáciles de encontrar y, dado que se basan en latitud y longitud, las singularidades polares pueden representar un problema. Además, contienen deltas de latitud y longitud, que en general deben usarse con precaución cerca del meridiano de ±180° y los polos.

Resolver el mismo problema usando n -vectores es más sencillo debido a la posibilidad de usar álgebra vectorial . La expresión arccos se obtiene a partir del producto escalar , mientras que la magnitud del producto vectorial da la expresión arcsin. Combinando ambas se obtiene la expresión arctan: [ 1 ]

Δσ=arcos(norteanorteb)Δσ=arcoseno(|nortea×norteb|)Δσ=arctan(|nortea×norteb|norteanorteb){\displaystyle {\begin{aligned}&\Delta \sigma =\arccos \left(\mathbf {n} _{a}\cdot \mathbf {n} _{b}\right)\\&\Delta \sigma =\arcsin \left(\left|\mathbf {n} _{a}\times \mathbf {n} _{b}\right|\right)\\&\Delta \sigma =\arctan \left({\frac {\left|\mathbf {n} _{a}\times \mathbf {n} _{b}\right|}{\mathbf {n} _{a}\cdot \mathbf {n} _{b}}}\right)\\\end{aligned}}}

dóndenortea{\displaystyle \mathbf {n} _ {a}}ynorteb{\displaystyle \mathbf {n} _ {b}}son los n -vectores que representan las dos posiciones a y b .Δσ{\displaystyle \Delta \sigma }es la diferencia angular, y por lo tanto la distancia del círculo máximo se obtiene multiplicándola por el radio terrestre. Esta expresión también funciona en los polos y en el meridiano de ±180°.

Ejemplos adicionales

El vector n también es muy adecuado para cálculos comunes como:

  • Posición interpolada
  • Posición media/central (punto medio de múltiples posiciones)
  • Posición promedio ponderada (por ejemplo, de puntos de datos geográficos)
  • Intersección de dos caminos
  • Distancia transversal (error transversal)
  • A lo largo de la distancia del sendero
  • distancia euclidiana
  • Posición triangulada
  • Posición absoluta más posición delta (la posición delta puede ser acimut y distancia).
  • Diferencia entre posiciones absolutas
  • Los problemas geodésicos primero y segundo (directo/inverso)
  • Encuentra direcciones hacia el norte y el este.
  • Encuentra las componentes horizontales y verticales de un vector.

Las ecuaciones y el código para estos cálculos se pueden encontrar en los enlaces externos que aparecen a continuación o en la referencia [ 1 ] . Los cálculos funcionarán igual de bien a largas distancias y para cualquier posición global.

Véase también

Referencias

  1. 1 2 3 4 Gade, Kenneth (2010). "Una representación de posición horizontal no singular" (PDF) . The Journal of Navigation . 63 (3). Cambridge University Press: 395– 417. Bibcode : 2010JNav...63..395G . doi : 10.1017/S0373463309990415 .
  2. Stuelpnagel, John (1964). "Sobre la parametrización del grupo de rotación tridimensional". SIAM Review . 6 (4). Society for Industrial and Applied Mathematics: 422– 430. Bibcode : 1964SIAMR...6..422S . doi : 10.1137/1006093 . JSTOR 2027966 . 
  • Resolver 10 problemas mediante el vector n
  • Bibliotecas de n -vectores en GitHub en Python, C++, Java, C# y la mayoría de los demás lenguajes.