Temporal Poses

Poses estáticas

Entrada y salida

  • asText, asEWKT: Devuelve la representación de texto conocido (Well-Known Text o WKT) o la representación extendida de texto conocido (Extended Well-Known Text o EWKT)

  • asBinary, asEWKB, asHexWKB, asHexEWKB: Devuelve la representación binaria conocida (Well-Known Binary o WKB), la representación extendida binaria conocida (Extended Well-Known Binary o EWKB), la representación hexadecimal binaria conocida (Hexadecimal Well-Known Binary o HexWKB), o la representación hexadecimal extendida binaria conocida (Hexadecimal Extended Well-Known Binary o HexEWKB)

  • poseFromText, poseFromEWKT: Entrada desde la representación de texto conocido (Well-Known Text o WKT) o desde la representación extendida de texto conocido (Extended Well-Known Text o EWKT)

  • poseFromBinary, poseFromEWKB, poseFromHexEWKB: Entrada desde la representación binaria conocida (Well-Known Binary o WKB), desde la representación extendida binaria conocida (Extended Well-Known Binary o EWKB), o desde la representación hexadecimal extendida binaria conocida (Hexadecimal Extended Well-Known Binary o HexEWKB)

Constructores

  • pose: Constructor para poses

Conversión de tipos

  • ::, stbox: Convertir una pose y, opcionalmente, una marca de tiempo o un período, en una caja espaciotemporal

  • ::: Convertir una pose en un punto geométrico

Accesores

  • point: Devuelve el punto

  • quaternion: Devuelve el cuaternión de orientación de una pose

Transformaciones

  • round: Redondear el punto y la orientación de la pose al número de posiciones decimales

Sistema de referencia espacial

Operaciones de distancia

  • <->: Devuelve la distancia

Comparaciones

  • =, <>, <, >, <=, >=: Comparaciones tradicionales

  • ~=: ¿Son las poses aproximadamente iguales con respecto a un valor épsilon?

Entrada y salida

  • asText, asEWKT: Devuelve la representación de texto conocido (Well-Known Text o WKT) o la representación extendida de texto conocido (Extended Well-Known Text o EWKT)

  • asMFJSON: Devuelve la representación JSON de características móviles (Moving Features JSON o MF-JSON)

  • asBinary, asEWKB, asHexWKB, asHexEWKB: Devuelve la representación binaria conocida (Well-Known Binary o WKB), la representación extendida binaria conocida (Extended Well-Known Binary o EWKB), la representación hexadecimal binaria conocida (Hexadecimal Well-Known Binary o HexWKB), o la representación hexadecimal extendida binaria conocida (Hexadecimal Extended Well-Known Binary o HexEWKB)

  • tposeFromText, tposeFromEWKT: Entrada desde la representación de texto conocido (Well-Known Text o WKT) o desde la representación extendida de texto conocido (Extended Well-Known Text o EWKT)

  • tposeFromMFJSON: Entrada desde la representación JSON de características móviles (Moving Features JSON o MF-JSON)

  • tposeFromBinary, tposeFromEWKB, tposeFromHexEWKB: Entrada desde la representación binaria conocida (Well-Known Binary o WKB), desde la representación extendida binaria conocida (Extended Well-Known Binary o EWKB), o desde la representación hexadecimal extendida binaria conocida (Hexadecimal Extended Well-Known Binary o HexEWKB)

Constructores

  • tpose: Constructor para poses temporales con valor constante

  • tposeSeq: Constructor para poses temporales de subtipo secuencia

  • tposeSeqSet, tposeSeqSetGaps: Constructor para poses temporales de subtipo conjunto de secuencias

  • tpose: Construir una pose temporal 2D a partir de un punto geométrico temporal y un flotante temporal

Conversión de tipos

  • ::: Convertir una pose temporal en un punto geométrico temporal

  • ::: Convertir una pose temporal geodésica en un punto geográfico temporal

Accesores

  • getValues: Devuelve los valores

  • points: Devuelve los puntos

  • trajectory: Devuelve la trayectoria

  • valueAtTimestamp: Devuelve el valor en una marca de tiempo

  • speed: Devuelve la velocidad de una pose temporal como un flotante temporal: la magnitud de la velocidad de la componente de posición (distancia recorrida por unidad de tiempo). La orientación no es considerada; para la velocidad angular véase angularSpeed.

  • angularSpeed: Devuelve la velocidad angular de una pose temporal como un flotante temporal con interpolación por pasos (radianes por unidad de tiempo). Para las poses 2D es el delta theta del arco más corto por segmento dividido por la duración del segmento; para las poses 3D es el ángulo de arco de SLERP 2 · acos(|q1 · q2|) dividido por la duración del segmento. SLERP tiene por construcción velocidad angular constante a lo largo de un segmento, por lo que el resultado es constante a trozos.

Transformaciones

Modificaciones

Restricciones

Sistema de referencia espacial

Operaciones de cuadro delimitador

Operaciones de distancia

  • |=|: Devuelve la distancia más pequeña alguna vez

  • nearestApproachInstant: Devuelve el instante de la primera pose temporal en el que los dos argumentos están a la distancia más cercana

  • shortestLine: Devuelve la línea que conecta el punto de aproximación más cercano

  • <->: Devuelve la distancia temporal

Relaciones espaciales

  • eContains, aContains, eCovers, aCovers, eDisjoint, aDisjoint, eDwithin, aDwithin, eIntersects, aIntersects, eTouches, aTouches: Las relaciones alguna vez y siempre determinan si la relación topológica o de distancia se satisface alguna vez o siempre y dan como resultado un boolean. Una pose temporal las responde en la posición que ocupa, de modo que un valor con interpolación lineal se responde a lo largo de su trayectoria y no solo en sus instantes. La pose temporal declara las relaciones que responde un punto en movimiento: eContains, aContains, eCovers y aCovers toman la geometría en primer lugar únicamente, y eTouches y aTouches no tienen dirección entre dos poses temporales, ya que un punto en movimiento no contiene ni cubre una geometría y dos puntos en movimiento no se tocan.

  • tContains, tCovers, tDisjoint, tDwithin, tIntersects, tTouches: Las relaciones temporales calculan la relación topológica o de distancia en cada instante y dan como resultado un tbool. Una pose temporal las responde en la posición que ocupa, de modo que un valor con interpolación lineal se responde a lo largo de su trayectoria y no solo en sus instantes. La pose temporal declara las relaciones que responde un punto en movimiento: tContains y tCovers toman la geometría en primer lugar únicamente, y tTouches no tiene dirección entre dos poses temporales, ya que un punto en movimiento no contiene ni cubre una geometría y dos puntos en movimiento no se tocan.

Comparaciones

  • ::: Comparaciones tradicionales

  • ?=, %=: Comparaciones alguna vez y siempre

  • ::: Comparaciones temporales

Agregaciones

Soporte de OGC GeoPose v1.0

Entrada y salida JSON

  • asGeoPose, poseFromGeoPose: Convertir hacia o desde la codificación JSON de OGC GeoPose v1.0 (clase de conformidad Basic-Quaternion, Basic-YPR o Advanced)

Renormalización de cuaterniones

  • poseNormalize: Devuelve una pose cuyo cuaternión de orientación se ha llevado a una norma unitaria

  • poseInverse: Devuelve la inversa de una pose

Accesores de ángulos de Euler

  • yaw, pitch, roll: Devuelve el ángulo yaw, pitch o roll de una pose, en radianes, bajo la convención Tait-Bryan intrínseca ZYX que exige la clase de conformidad Basic-YPR de OGC GeoPose

  • ypr: Devuelve la orientación de una pose como una terna yaw / pitch / roll, en radianes

  • yaw, pitch, roll: Eleva los accesores de ángulos de Euler a través de una pose temporal, devolviendo un flotante temporal (radianes) por cada instante bajo la convención Tait-Bryan intrínseca ZYX

Registro de metadatos de marcos

Transformación rígida cuerpo↔mundo

  • applyPose: Aplica la transformación de cuerpo rígido codificada por una pose (la correspondencia cuerpo al mundo de OGC GeoPose) a una geometría en el marco del cuerpo, produciendo la geometría correspondiente en el marco del mundo

E/S JSON temporal

  • asGeoPose, tposeFromGeoPose: Convierte una pose temporal hacia o desde una envoltura JSON TemporalGeoPose. Cada carga útil por instante es un documento GeoPose de clase Basic estrictamente válido según OGC más un miembro validTime; la envoltura registra la clase de conformidad, la interpolación y (para secuencias y conjuntos de secuencias) la inclusión de los límites del período. Un consumidor GeoPose ajeno a MEOS puede iterar sobre instants[] (o cada sequences[].instants[]) y consumir cada elemento como un documento GeoPose estático.

  • asGeoPoseStream: Escribe una pose temporal como un Stream de OGC GeoPose