Alcance cuantitativo
La extracción guardada de Árbol Grande contiene 108 posiciones entre el 31 de enero y el 29 de marzo de 2026. El mayor intervalo entre registros consecutivos es de unas 164.9 horas. Esas cifras describen el archivo suministrado. No establecen seguimiento continuo, ubicación entre registros ni origen de contaminación.
La muestra de posiciones, el resumen calculado y el manifiesto identifican las entradas. La revisión del repositorio y los hashes de archivos inspeccionados cumplen funciones distintas. Conserva ambos para comparar extracciones posteriores.
Flujo y relojes independientes
Eventos guardados → posiciones normalizadas → secuencia por barco
Detecciones Cerulean y satélites → capas del mapa
Secuencia + capas → visualización React/MapLibre
Peticiones externas → proxy Express con credenciales en servidor
La hora del evento, adquisición de imagen, detección y control de reproducción son relojes diferentes. Mover el control no implica disponer de una imagen nueva en cada instante. Cada comparación necesita fecha y procedencia por capa.
El constructor de trayectorias agrupa por SSVID y puede emitir una misma posición al inicio y al final de un evento. También elimina duplicados por hora, con selección dependiente del orden de procesamiento. Esos puntos no necesariamente representan observaciones independientes. Árbol Grande usa un archivo separado y se excluye de esa salida combinada.
Por qué el punto atraviesa intervalos sin datos
Entre dos puntos guardados, la visualización calcula una fracción temporal e interpola coordenadas:
f = (tiempo_visualizado - t0) / (t1 - t0)
lon = lon0 + f * (lon1 - lon0)
lat = lat0 + f * (lat1 - lat0)
Un hueco de seis días puede parecer movimiento continuo. La fórmula construye un segmento en coordenadas; no recupera ruta real ni variaciones de velocidad. La función inspeccionada oculta el barco antes del primer punto y conserva la última posición hasta doce horas después. Son reglas de presentación.
La normalización también importa. Una comprobación de veracidad puede rechazar latitud o longitud cero aunque sean válidas. El área del Golfo puede ocultar ese defecto; una herramienta general debe comprobar números finitos y rangos geográficos.
Recalcular el intervalo
Descarga la muestra como showcase.json. El cálculo usa las fechas guardadas:
import json
from datetime import datetime
from pathlib import Path
sample = json.loads(Path('showcase.json').read_text())
times = sorted(datetime.fromisoformat(p['t'].replace('Z', '+00:00'))
for p in sample['points'])
gaps = [(b - a).total_seconds() / 3600
for a, b in zip(times, times[1:])]
print(len(times), times[0].isoformat(), times[-1].isoformat())
print(max(gaps))
La resta con zona horaria compara instantes. Una consulta posterior al proveedor puede cambiar conteos e intervalos, por eso el hash debe acompañar el resultado. Las coordenadas repetidas y los límites de eventos deben distinguirse de nuevas observaciones.
Interpretación y revisión
Una detección de radar necesita investigación y puede incluir parecidos o falsos positivos. Un intervalo AIS ausente no demuestra apagado deliberado. La proximidad de un barco, ducto y detección no asigna responsabilidad. Esas afirmaciones requieren evidencia adicional con fechas y ubicaciones compatibles.
El artículo técnico enlaza por separado comunicados fechados y la investigación. El informe metodológico conserva la revisión cuantitativa. Este informe no agrega una atribución sobre el derrame.
Una inspección más sólida debe distinguir puntos observados de segmentos interpolados, mostrar duración de huecos y conservar fechas de adquisición por capa. Revisa normalización y deduplicación antes de interpretar paradas o movimiento. Los registros sostienen conteos, rango e intervalos; el video muestra su presentación.