Carte trafic maritime

Arrivées et départs d’un port, menés par la prochaine arrivée — son compte à rebours, son approche du poste d’amarrage et les mouvements qui suivent.

Les arrivées et départs portuaires fournis sont présentés avec le prochain navire, son ETA ou ETD, la distance d’approche et le poste d’amarrage. Le traitement Primetime inclut une entrée douce de compte à rebours, des accents maritimes cyan et un arrière-plan lent de bollard de port. Les tableaux qui contiennent plus de navires que la capacité tournent une page toutes les dix secondes. Des indices discrets distinguent les données fraîches des heures programmées. « À l’heure » reste une estimation, et le dépassement d’une ETA ne modifie pas le statut du navire fourni.

Carte en direct

Cette carte est dessinée dans votre navigateur par le même code que les lecteurs, avec des données d’exemple.

Catégorie : Information publique. Étiquettes : Transport et voyages, Horaires.

Mises en page

Cette carte plein écran occupe tout l’écran en mode paysage ou portrait et n’est pas placée en coin, puce ou bande.

Mises en page : pleine. Formes : paysage, portrait.

Mises en page, thèmes et publication des cartes. Parcourir les cartes.

Données et confidentialité

Flux : screenrig.vessels/v1.

Les documents du flux portent une attribution de source. Le Player fournit le flux à la carte.

Propriétés

Pour le thème, l’arrière-plan, l’accent et la position, voir Propriétés communes.

Définissez les propriétés statiques dans les params de la carte lorsque vous la créez. Son document de données ne contient que des propriétés dynamiques. Les lignes imbriquées décrivent le contenu de leur propriété parente.

Propriétés statiques

NomTypePar défautValeurs et limitesDescription
titlestring"Vessel traffic"maxLength : 40
portstring""maxLength : 40Le nom du port, quand le fil n’en porte aucun.
windowHoursinteger12minimum : 1 ; maximum : 48Les navires prévus plus tard sont exclus.
countinteger5minimum : 2 ; maximum : 8La plupart des navires dans chacune des listes d’arrivées et de départs.
maxDistanceKminteger50minimum : 5 ; maximum : 500La longueur de la voie d’approche : la distance à laquelle un navire la commence.
unitsstring"nautical""nautical", "metric", "imperial"nautique : nm et kn. métrique : km et km/h. impérial : mi et mph.
staleMinutesinteger15minimum : 1 ; maximum : 1440
hour12booleanfalse
backgroundColorchaîne, nulnullmotif : "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"Remplace le fond et la plaque de la carte par une couleur plate ordonnée en CSS. #RRGGBBAA fournit l’opacité. background none a la priorité.
textColorchaîne, nulnullmotif : "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"Remplace les couleurs du texte principal et secondaire. Les couleurs d’accentuation et de statut sémantique conservent leur rôle.

Propriétés dynamiques

NomTypePar défautValeurs et limitesDescription
vesselsarray[]minItems : 0 ; maxItems : 100Navires attendus ou quittant le port. Un flux (screenrig.vessels/v1) prévaut s’il est présent ; sinon, la base de données fournit les mêmes lignes.
vessels[].idstringmaxLength : 40
vessels[].namestringminLength : 1 ; maxLength : 40 ; Obligatoire
vessels[].typestringmaxLength : 30Type de navire, par exemple porte-conteneurs.
vessels[].flagstringmaxLength : 30
vessels[].lengthMnumberminimum : 1 ; maximum : 500
vessels[].fromstringmaxLength : 40Port de départ, pour une arrivée.
vessels[].tostringmaxLength : 40Prochain port, pour un départ.
vessels[].berthstringmaxLength : 40
vessels[].etastringmaxLength : 32Heure d’arrivée, ISO 8601.
vessels[].etdstringmaxLength : 32Heure de départ, ISO 8601.
vessels[].statusstring"underway", "anchored", "berthed", "departing"Un navire amarré ou en départ avec une etd est un départ.
vessels[].distanceKmnumberminimum : 0 ; maximum : 5000Distance jusqu’au port.
vessels[].speedKtnumberminimum : 0 ; maximum : 60
updatedstring""maxLength : 32Quand les positions ont été récupérées, ISO 8601 (stockage des données uniquement ; un flux porte fetchedAt).

Exemple de canevas

Enregistrez les propriétés statiques comme params.json et créez la carte. Le résultat contient son identifiant crd_.

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

Ajoutez cet élément aux primitives d’une page de liste de lecture, en remplaçant l’identifiant de l’exemple par celui de votre carte. Publiez la liste de lecture et assignez un écran.

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

Écrire des données en direct

Écrivez le document dans la carte après l’avoir créée, puis remplacez-le pour mettre à jour l’écran sans republier. La carte vérifie chaque écriture par rapport à ses propriétés dynamiques et refuse un document qu’elle rejette. Utilisez le même projet que la liste de lecture.

Enregistrez le document sous card-data.json. La CLI lit le document lui-même, sans enveloppe :

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

Ou appelez directement l’API. L’API enveloppe le même document dans un champ document. Un jeton agent nomme déjà son projet, donc aucun en-tête de projet n’est envoyé ; si vous envoyez ScreenRig-Project, il doit correspondre au projet du jeton. Fournissez votre autorisation API via l’environnement ; voir Authentification 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":""}}'