Tarjeta de tráfico de embarcaciones

Llegadas y salidas de un puerto, encabezadas por la próxima llegada — su cuenta regresiva, aproximación al muelle y los movimientos que siguen.

Las llegadas y salidas del puerto suministradas se presentan con el siguiente barco, su ETA o ETD, distancia de aproximación y atraque. El tratamiento Primetime incluye una entrada suave de cuenta regresiva, acentos marítimos cian y un fondo lento de bolardo de puerto. Los tableros que contienen más barcos de los que caben cambian de página cada diez segundos. Las señales silenciosas distinguen datos frescos de tiempos programados. “Debido ahora” sigue siendo una estimación, y pasar un ETA no cambia el estado del barco suministrado.

Tarjeta en vivo

Esta tarjeta se dibuja en su navegador con el mismo código que ejecutan los Players, con datos de ejemplo.

Categoría: Información pública. Etiquetas: Tránsito y viajes, Horarios.

Diseños

Esta tarjeta de pantalla completa llena toda la pantalla en modo horizontal o vertical y no se coloca como esquina, chip o tira.

Diseños: completo. Formularios: horizontal, vertical.

Diseños, temas y publicación de tarjetas. Explorar las tarjetas.

Datos y privacidad

Feed: screenrig.vessels/v1.

Los documentos del feed llevan atribución de la fuente. El Player suministra el feed a la tarjeta.

Propiedades

Para tema, fondo, acento y posición, consulte Propiedades comunes.

Establezca las propiedades estáticas en los params de la tarjeta al crearla. Su documento de datos solo contiene propiedades dinámicas. Las filas anidadas describen el contenido de su propiedad principal.

Propiedades estáticas

NombreTipoPredeterminadoValores y límitesDescripción
titlestring"Vessel traffic"maxLength: 40
portstring""maxLength: 40El nombre del puerto, cuando el feed no tiene ninguno.
windowHoursinteger12mínimo: 1; máximo: 48Se excluyen las embarcaciones previstas para después de este momento.
countinteger5mínimo: 2; máximo: 8La mayoría de los barcos en cada una de las listas de llegadas y salidas.
maxDistanceKminteger50mínimo: 5; máximo: 500La longitud del carril de aproximación: la distancia a la que un buque lo inicia.
unitsstring"nautical""nautical", "metric", "imperial"náutico: nm y kn. métrico: km y km/h. imperial: mi y mph.
staleMinutesinteger15mínimo: 1; máximo: 1440
hour12booleanfalse
backgroundColorcadena, nulonullpatrón: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"Sobrescribe el fondo y la placa de la tarjeta con un color plano ordenado por CSS. #RRGGBBAA suministra opacidad. background none tiene prioridad.
textColorcadena, nulonullpatrón: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"Sobrescribe los colores de texto principal y secundario. Los colores de acento y estado semántico mantienen sus roles.

Propiedades dinámicas

NombreTipoPredeterminadoValores y límitesDescripción
vesselsarray[]minItems: 0; maxItems: 100Embarcaciones que llegan o salen del puerto. Un feed (screenrig.vessels/v1) prevalece cuando está presente; la base de datos suministra las mismas filas en caso contrario.
vessels[].idstringmaxLength: 40
vessels[].namestringminLength: 1; maxLength: 40; Requerido
vessels[].typestringmaxLength: 30Tipo de embarcación, por ejemplo, buque portacontenedores.
vessels[].flagstringmaxLength: 30
vessels[].lengthMnumbermínimo: 1; máximo: 500
vessels[].fromstringmaxLength: 40Puerto de salida, para una llegada.
vessels[].tostringmaxLength: 40Próximo puerto, para una salida.
vessels[].berthstringmaxLength: 40
vessels[].etastringmaxLength: 32Hora de llegada, ISO 8601.
vessels[].etdstringmaxLength: 32Hora de salida, ISO 8601.
vessels[].statusstring"underway", "anchored", "berthed", "departing"Un barco atracado o que zarpa con una etd es una salida.
vessels[].distanceKmnumbermínimo: 0; máximo: 5000Distancia al puerto.
vessels[].speedKtnumbermínimo: 0; máximo: 60
updatedstring""maxLength: 32Cuando se obtuvieron las posiciones, ISO 8601 (solo almacén de datos; un feed lleva fetchedAt).

Ejemplo de lienzo

Guarde las propiedades estáticas como params.json y cree la tarjeta. El resultado incluye su id crd_.

{
  "theme": "neomustard"
}
screenrig card create --type vessel-traffic --major 1 --file params.json

Agregue este elemento a los primitives de una página de la lista de reproducción, con ese id en lugar del del ejemplo. Publique la lista de reproducción y asigne una pantalla.

{
  "id": "vessel-traffic",
  "primitive": "card",
  "card": "crd_01EXAMPLECARD000000000",
  "layout": "full",
  "content_fit": "fill"
}

Escribir datos en vivo

Escriba el documento en la tarjeta después de crearla y luego reemplácelo para actualizar la pantalla sin republicar. La tarjeta verifica cada escritura contra sus propiedades dinámicas y rechaza un documento que no acepta. Use el mismo proyecto que la lista de reproducción.

Guarde el documento como card-data.json. La CLI lee el documento en sí, sin envoltorio:

{
  "vessels": [],
  "updated": ""
}
screenrig card data put crd_01EXAMPLECARD000000000 --file card-data.json

O llame a la API directamente. La API envuelve el mismo documento en un campo document. Un token de agente ya nombra su proyecto, por lo que no se envía encabezado de proyecto; si envía ScreenRig-Project, debe coincidir con el proyecto del token. Proporcione su autorización API a través del entorno; vea Autenticación API.

curl --request PUT "https://api.screenrig.ai/api/cards/crd_01EXAMPLECARD000000000/data" \
  --header "Authorization: Bearer $SCREENRIG_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{"document":{"vessels":[],"updated":""}}'