Cálculos planos y geodésicos

Las coordenadas de una geometría temporal (tgeometry o tgeompoint) se interpretan en el plano de su sistema de referencia espacial, y las de una geografía temporal (tgeography o tgeogpoint) como longitudes y latitudes sobre el elipsoide WGS 84. Qué operaciones admite una geografía temporal, y con qué exactitud, se deduce de tres reglas.

  1. Una operación está disponible para las geografías cuando está definida sobre el elipsoide. Es el caso de las operaciones métricas, como la distancia, la distancia dentro de un umbral, la longitud, el área, el acimut o el centroide, que se calculan sobre el esferoide WGS 84, o sobre la esfera, más rápido, cuando su argumento spheroid es falso. Es también el caso de la intersección y de la disyunción, ya que dos geografías se intersecan cuando su distancia es cero. No es el caso de contains, covers y touches, que se definen mediante el modelo de nueve intersecciones extendido dimensionalmente de la topología plana, ni de las construcciones planas, como la unión o la intersección de dos geometrías, que PostGIS tampoco define para las geografías. Estas funciones producen un error para las geografías.

  2. Las versiones alguna vez, siempre y temporal de una operación disponible para las geografías se calculan de forma exacta. El valor de una geografía temporal, y el de un punto geográfico temporal con interpolación discreta o escalonada, es constante entre dos instantes, por lo que la operación se evalúa en cada instante. Un punto geográfico temporal con interpolación lineal se desplaza a lo largo de un círculo máximo entre dos instantes, y el resultado de una relación temporal cambia en los instantes en que su distancia geodésica al otro argumento cruza la distancia dada. Estos instantes se calculan cuando el otro argumento es un punto geográfico o un punto geográfico temporal. Para otras geografías, como líneas y polígonos, las relaciones temporales tIntersects, tDisjoint y tDwithin de un punto geográfico temporal con interpolación lineal producen un error.

  3. Una relación temporal disponible para las geografías acepta una geografía o una geografía temporal en cualquiera de sus argumentos, como su versión plana acepta una geometría o una geometría temporal.

Una geometría temporal en el SRID 4326 se convierte en una geografía temporal con los mismos valores mediante la conversión ::tgeography, y a la inversa mediante la conversión ::tgeometry. La función transform la reproyecta en cambio a un sistema de referencia espacial plano cuya unidad es el metro, en el que las distancias y las áreas son planas.

SELECT round(nearestApproachDistance(tgeometry 'SRID=4326;[Polygon((4.35 50.84,
  4.40 50.84,4.40 50.88,4.35 50.84))@2001-01-01, Point(4.37 50.85)@2001-01-02]',
  geometry 'SRID=4326;Point(4.45 50.84)')::numeric, 4);
-- 0.0500
SELECT round(nearestApproachDistance(tgeometry 'SRID=4326;[Polygon((4.35 50.84,
  4.40 50.84,4.40 50.88,4.35 50.84))@2001-01-01, Point(4.37 50.85)@2001-01-02]'
  ::tgeography, geography 'Point(4.45 50.84)')::numeric, 1);
-- 3521.9