POST fromPeriod / toPeriod as UTC ISO-8601. Each fix can include AIS destination and etaUtc when stored in Influx; they appear in map popups.
CO₂ calculation uses the same path-based emission dialog as voyages (hull and type from Neo4j by IMO); at least two position fixes are required. Actual fuel sends period from this panel’s From/To and source position_history_fuel_capture.
The last port call is loaded as the sea-route origin. Pick a destination port below. If the API returns several routes, a second dialog lists distance and ETA for each; use Show on map to draw one option. When the API returns duration_hours for a route, ETA for that row (and on the map for that option) uses that value; otherwise ETA falls back to straight-line distance from the vessel’s current AIS position to the destination, with speed from the profile (or 15 kn if missing or < 1 kn). For the same vessel, your last port and route results are kept until you use New route planning.
The last port call is the sea-route origin. The request uses GET /api/route/eta (same path as /api/route, plus lastLatitude / lastLongitude for along-route ETAs). Pick a destination below. SOG below 1 kn uses 2 kn for the API speed parameter. Results and map use routeEtas when returned; otherwise ETA falls back like standard route planning. For the same vessel, your last results and map selection are restored when you reopen Route planning with ETA until you use New route planning.
The sea-route origin is the vessel’s current AIS position (lastLat / lastLon on the profile). Pick a destination port. The request uses GET /api/route with olat and olon at that position (plus destination, units=naut, and speed from the latest fix). Distance is along the returned path; ETA in the results dialog uses duration_hours when present, otherwise straight-line from current AIS to the destination.
Pick any start port and end port from the catalog below, then click Plan route. Uses port coordinates for olat/olon and dlat/dlon on GET /api/route (or /api/route/eta when opened from Route planning with ETA).
Click a port row below to set the start port.
| LOCODE | Name | Country | Lat | Lon |
|---|
| Route | Distance (NM) | Remaining hours | ETA (local) |
|---|
Batch summary (distance, time, port calls, fuel, CO₂) for IMOs over a UTC month range. Same leg set and predict path as the voyages by-month-range API.
| IMO | Voyages | NM | Hours | CO₂ (t) | Status |
|---|
Voyages are cached per vessel until you refresh or reload the page. When the vessel has left the latest port, the first row is the open leg with To / Arrival on-going and positions to the latest AIS fix. Click a row or Show on Map to draw that leg; hold Ctrl or Cmd while clicking to add or remove legs so several voyages appear at once (each leg uses a different color). Tag is an optional user label stored on the voyage in Neo4j (clear the field and save to remove). Analysis opens AIS heuristics (loiter vs underway segments), Export CSV downloads all Influx positions for that leg, and CO₂ calculation uses hull dimensions and vessel type from the Neo4j vessel node by IMO. For actual fuel, period uses this row’s Departed/Arrival and source voyage_fuel_capture. To combine short hub legs (e.g. A→B + B→C), tick two consecutive rows where the lower row’s To matches the upper row’s From (the hub, e.g. KRRSU-0001), then click Merge selected; use Restore in active merges to undo.
| SN | Merge | Voyage | Tag | From | To | Departed | Arrival | Duration |
|---|
Draw a rectangle or circle over the track (or click once). The API returns the closest turnaround point and its nearest port.
No area selected yet.
Turnaround suggestion
Docked on the left so the map stays visible. Heuristic only (AIS position + reported SOG). Not proof of STS, bunkering, or waiting.
Click a row to zoom the main map to that segment (draws segments first if needed).
| # | Kind | Start (UTC) | End (UTC) | Hours | Mean SOG (kn) | Radius (NM) | Points |
|---|
Listed when time between two consecutive fixes exceeds the server VoyageAnalysis:MinimumGapMinutes (default 60). Click a row to zoom (red dashed).
| # | Start (UTC) | End (UTC) | Minutes |
|---|
Predict uses hull block model; k-factor applied when calibrated.
Path preview (this dialog only)
Use one fuel for the whole voyage or a fuel per part (each segment V₀→V₁, V₁→V₂, …). For a voyage leg, LRIT internal waters (blue) and territorial sea (orange) from departure/arrival ports are drawn on this map when DDP has them; per-part fuel is filled from vertex pairs vs those zones (MGO / LFO / HFO). Hover or focus a part row to highlight it on the map. Hull data comes from Neo4j; options match CARBON_FACTOR_FUEL_TYPES.
| From | To | NM | Fuel (t) | CO₂ (t) |
|---|
| From | To | NM | Fuel (t) | CO₂ (t) |
|---|
Noon report — add a row per fuel with voyage total (t). Merged by fuel code; each total is distance-allocated like the API.
Or single total (only if no noon rows above):
| From | To | Distance (NM) | Fuel (t) | Fuel / split | CF | CO₂ (t CO₂) |
|---|
Neo4j (:Vessel)-[:HAS_EMISSION_CALIBRATION]->(:EmissionCalibrationProfile).
Predict uses k when present; updated after actual fuel with IMO.
Run Predict, then submit actual fuel with this vessel’s IMO to create and update k.
Reset k to 1 — keeps the profile; sets k = 1 and clears voyage samples. Delete profile — removes the profile; predict uses hull block only until actual fuel creates a new one.
Upload SBSM noon PDFs → S3 + (:StellarNoonReport) in Neo4j.
API: POST …/noon-report/upload, GET …/noon-reports/{imo}, GET …/noon-reports/{imo}/series.
| Report date | File name | Uploaded (UTC) | Template | S3 key | Report id |
|---|
No reports yet. Upload a PDF above.
From parsed noon reports — see docs/Stellar_Chart.md.
No chart data yet. Upload reports with parseable fields.
Countries are extracted from the background port list cache. Select one to plot all matching ports on the map.