Skip to article frontmatterSkip to article content
Sensorjournalistikk

Analyse av historisk skipstrafikk 🚒

Medieklyngen

Som vi sΓ₯ i forrige kapittel, lar Kystverkets NAIS-tjeneste oss gΓ₯ to uker tilbake i tid via sanntidsgrensesnittet. Men ofte har vi behov for Γ₯ se lenger tilbake. Hva gjΓΈr vi da? Heldigvis har Kystverket lansert HAIS – Historisk AIS – en tjeneste som gjΓΈr det mulig Γ₯ sΓΈke etter fartΓΈybevegelser i norske farvann opptil ett Γ₯r tilbake i tid.

Det finnes ogsΓ₯ kommersielle alternativer, som MarineTraffic, med historiske arkivfunksjoner. Men ettersom vi ofte undersΓΈker forhold i norske farvann – og disse dataene er gratis – velger vi Γ₯ bruke HAIS i dette kapittelet.

Historisk sΓΈkΒΆ

HAIS tilbyr flere mΓ₯ter Γ₯ sΓΈke etter fartΓΈy pΓ₯ – enten geografisk eller basert pΓ₯ fartΓΈyinformasjon. FΓΈr vi starter, mΓ₯ vi ta stilling til:

Figur 1: Kystverket HAIS.

NΓ₯r disse valgene er gjort, kan vi begynne sΓΈket.

SkipstypeΒΆ

Hvis du kjenner skipstypen du vil filtrere pΓ₯, men ikke fartΓΈyets navn, kan du bruke skipstype-feltet. Du kan filtrere pΓ₯ blant annet:

Figur 2: SΓΈk pΓ₯ skipstype i HAIS.

SkipΒΆ

Hvis du kjenner navnet pΓ₯ fartΓΈyet, eller har MMSI, IMO eller kallesignal, kan du sΓΈke direkte. Skriver du inn Richard With, fΓ₯r du opp relevante treff. Du kan filtrere pΓ₯ flere fartΓΈy samtidig eller laste opp en CSV-liste.

Figur 3: SΓΈk pΓ₯ skip i HAIS.

KartutsnittΒΆ

Du kan avgrense sΓΈket geografisk ved Γ₯ tegne et omrΓ₯de i kartverktΓΈyet, eller ved Γ₯ laste opp en WKT-fil med polygon. Tjenesten tilpasser automatisk omrΓ₯det til dekningen som er tilgjengelig.

Figur 4: SΓΈk pΓ₯ geografisk omrΓ₯de.

KjΓΈring av sΓΈkΒΆ

NΓ₯r du er fornΓΈyd med sΓΈkeparametrene, trykker du Send inn. Systemet validerer sΓΈket basert pΓ₯ geografisk omrΓ₯de og tidsrom. Hvis du fΓ₯r feilmelding, har du trolig sΓΈkt for bredt – snevre inn sΓΈket i tid eller rom.

Godkjente sΓΈk blir satt i kΓΈ. Du mottar en e-post nΓ₯r dataene er klare. Tiden det tar, varierer etter sΓΈkets stΓΈrrelse og trafikk pΓ₯ systemet.

Analyse av dataeneΒΆ

Etter en stund fΓ₯r du e-post med lenker til zip-filer som inneholder Parquet-filer. Pakk dem ut og legg dem i en lett tilgjengelig mappe.

Neste steg er Γ₯ importere dataene i et verktΓΈy som DuckDB. Dette minner om arbeidsflyten vi brukte for ADS-B-data, med noen mindre forskjeller i datastruktur og import.

DatastrukturΒΆ

Kystverket benytter spesifikasjonen GeoParquet 1.0.0 til de historiske dataene. Her er Kystverkets egen besrkivelse datastrukturen:

KolonnerMeldingstypeDatatypeBeskrivelse
date_time_utc1,2,3,5,18,24,27DateTimeTidsstempel i UTC
mmsi1,2,3,5,18,27IntegerMaritime Mobile Service Identity-nummer (ID pΓ₯ fartΓΈyets transponder)
longitude1,2,3,18,27FloatLengdegrad
latitude1,2,3,18,27FloatBreddegrad
status1,2,3,18,27IntegerSkipets navigasjonsstatus (les mer)
course_over_ground1,2,3,18,27FloatFartΓΈyets kurs over bakken i henhold til kompassnord.
true_heading1,2,3,18,27IntegerDen retningen fartΓΈyet peker i henhold til kompassnord (0-359 grader)
speed_over_ground1,2,3,18,27FloatFartΓΈyets fart i knop
rate_of_turn1,2,3,18,27FloatRotasjonsrate
maneuvre1,2,3,18,27IntegerManΓΈverinformasjon
imo5,24IntegerSkrogets IMO-nummer (satt av International Maritime Organization).
callsign5,24StringRadiokallesignal
ship_name5,24StringSkipets navn
ship_type5,24IntegerSkipstype fra AIS
length5,24FloatLengde pΓ₯ skipet
draught5,24FloatSkipets dypgang
data_sourceGenerert kolonneStringDatakilde (g: bakkestasjon, s: satelitt)
date_utcGenerert kolonneDateDato-kolonne for filtrering pΓ₯ kun dato X
geometryGenerert kolonneStringGeometri-kolonne i WKB-format generert av ST_Point(lon, lat)
hex_14Generert kolonneIntegerH3-id for meldingens posisjon i opplΓΈsning 14

Her er det mye som minner oss om det vi har sett pΓ₯ tidligere. Vi merker oss felter for data/tid, registreringsnummer (mmsi), posisjon, status, og flere av de aktuelle punktene vi har sett pΓ₯ tidligere kapitler. Dette er nyttig. Vi ser ogsΓ₯ at det er en egen kolonne for geometri, og H3-id med opplΓΈsning 14. Dette er kjent materie for oss nΓ₯, og noe vi kan dra nytte av med det samme.

Import av data i DuckDBΒΆ

  1. Γ…pne Terminal (Mac/Linux) eller PowerShell (Windows), og naviger til mappen der du pakket ut Parquet-filene.
  2. Start DuckDB med fΓΈlgende kommando:

duckdb geoparquet-hais.db

DuckDB starter med et prompt som ser noenlunde slik ut:

v1.2.1 8e52ec4395
Enter ".help" for usage hints.
D

Installer og last inn utvidelserΒΆ

Dersom du ikke allerede har gjort det i tidligere kapitler, installerer du nΓΈdvendige utvidelser slik:

INSTALL httpfs;
INSTALL spatial;
INSTALL h3 FROM community;

Last dem deretter inn:

LOAD httpfs;
LOAD spatial;
LOAD h3;

Last inn dataΒΆ

Siden filene ligger lokalt, bruker vi fΓΈlgende kommando for Γ₯ opprette tabellen haisdata:

CREATE TABLE haisdata AS SELECT * FROM '*.parquet';

Dette leser inn alle .parquet-filer i mappen og legger dem i Γ©n tabell.

Utforske datasettetΒΆ

Sjekk datastrukturen med:

DESCRIBE haisdata;

Du vil se kolonner for tid, posisjon, kurs, fart, skipstype, navn og andre kjente parametre – inkludert geometri og H3-ID.

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚    column_name     β”‚  column_type  β”‚  null   β”‚   key   β”‚ default β”‚  extra  β”‚
β”‚      varchar       β”‚    varchar    β”‚ varchar β”‚ varchar β”‚ varchar β”‚ varchar β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ date_time_utc      β”‚ TIMESTAMP     β”‚ YES     β”‚         β”‚         β”‚         β”‚
β”‚ mmsi               β”‚ INTEGER       β”‚ YES     β”‚         β”‚         β”‚         β”‚
β”‚ longitude          β”‚ DOUBLE        β”‚ YES     β”‚         β”‚         β”‚         β”‚
β”‚ latitude           β”‚ DOUBLE        β”‚ YES     β”‚         β”‚         β”‚         β”‚
β”‚ status             β”‚ TINYINT       β”‚ YES     β”‚         β”‚         β”‚         β”‚
β”‚ course_over_ground β”‚ DOUBLE        β”‚ YES     β”‚         β”‚         β”‚         β”‚
β”‚ true_heading       β”‚ SMALLINT      β”‚ YES     β”‚         β”‚         β”‚         β”‚
β”‚ speed_over_ground  β”‚ DOUBLE        β”‚ YES     β”‚         β”‚         β”‚         β”‚
β”‚ rate_of_turn       β”‚ SMALLINT      β”‚ YES     β”‚         β”‚         β”‚         β”‚
β”‚ maneuvre           β”‚ SMALLINT      β”‚ YES     β”‚         β”‚         β”‚         β”‚
β”‚ imo                β”‚ INTEGER       β”‚ YES     β”‚         β”‚         β”‚         β”‚
β”‚ callsign           β”‚ VARCHAR       β”‚ YES     β”‚         β”‚         β”‚         β”‚
β”‚ ship_name          β”‚ VARCHAR       β”‚ YES     β”‚         β”‚         β”‚         β”‚
β”‚ ship_type          β”‚ TINYINT       β”‚ YES     β”‚         β”‚         β”‚         β”‚
β”‚ length             β”‚ SMALLINT      β”‚ YES     β”‚         β”‚         β”‚         β”‚
β”‚ draught            β”‚ DECIMAL(10,2) β”‚ YES     β”‚         β”‚         β”‚         β”‚
β”‚ data_source        β”‚ VARCHAR       β”‚ YES     β”‚         β”‚         β”‚         β”‚
β”‚ ais_class          β”‚ VARCHAR       β”‚ YES     β”‚         β”‚         β”‚         β”‚
β”‚ hex_7              β”‚ BIGINT        β”‚ YES     β”‚         β”‚         β”‚         β”‚
β”‚ hex_14             β”‚ BIGINT        β”‚ YES     β”‚         β”‚         β”‚         β”‚
β”‚ geometry           β”‚ BLOB          β”‚ YES     β”‚         β”‚         β”‚         β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ 21 rows                                                          6 columns β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Antall datapunkterΒΆ

Tell antall rader i datasettet:

SELECT count(*) FROM haisdata;
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ count_star() β”‚
β”‚    int64     β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚       236934 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

EksempelradΒΆ

Se ett datapunkt:

SELECT * FROM haisdata LIMIT 1;
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚    date_time_utc    β”‚   mmsi    β”‚ longitude  β”‚ latitude β”‚ status β”‚ course_over_ground β”‚ true_heading β”‚ speed_over_ground β”‚ rate_of_turn β”‚ maneuvre β”‚   imo   β”‚ callsign β”‚      ship_name       β”‚ ship_type β”‚ length β”‚    draught    β”‚ data_source β”‚ ais_class β”‚       hex_7        β”‚       hex_14       β”‚                            geometry                            β”‚
β”‚      timestamp      β”‚   int32   β”‚   double   β”‚  double  β”‚  int8  β”‚       double       β”‚    int16     β”‚      double       β”‚    int16     β”‚  int16   β”‚  int32  β”‚ varchar  β”‚       varchar        β”‚   int8    β”‚ int16  β”‚ decimal(10,2) β”‚   varchar   β”‚  varchar  β”‚       int64        β”‚       int64        β”‚                              blob                              β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ 2025-03-12 19:51:43 β”‚ 257600000 β”‚ 4.02070333 β”‚ 60.85677 β”‚      0 β”‚              182.2 β”‚          178 β”‚              13.3 β”‚           14 β”‚        0 β”‚ 9854478 β”‚ LAGH7    β”‚ SYDSTRAUM            β”‚        80 β”‚    129 β”‚          6.00 β”‚ G           β”‚ A         β”‚ 608156020115505151 β”‚ 639681217504175135 β”‚ \x00\x00\x00\x00\x01@\x10\x153@\xF5\x12\xBC@Nm\xAA\xA3\xAD\x…  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Antall og oversikt over fartΓΈyΒΆ

Finn unike fartΓΈy i datasettet:

SELECT DISTINCT(mmsi), callsign, ship_name FROM haisdata ORDER BY ship_name;
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   mmsi    β”‚ callsign β”‚      ship_name       β”‚
β”‚   int32   β”‚ varchar  β”‚       varchar        β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ 235076245 β”‚ 2CVX9    β”‚  EDZARD SCHULTE      β”‚
β”‚ 247302900 β”‚ ICPE     β”‚ AIDASOL              β”‚
β”‚ 244120000 β”‚ PCYH     β”‚ ANTEOS               β”‚
β”‚ 244120000 β”‚ P C Y H  β”‚ ANTEOS               β”‚
β”‚ 636020363 β”‚ D5YW3    β”‚ AQUASMERALDA         β”‚
β”‚ 636023947 β”‚ 5LQF3    β”‚ ASPEN                β”‚
β”‚ 246598000 β”‚ PBTQ     β”‚ BEATRIX              β”‚
β”‚ 209356000 β”‚ 5BBK5    β”‚ BORIS DAVYDOV        β”‚
β”‚ 255806224 β”‚ CQAN6    β”‚ BOTHNIA              β”‚
β”‚ 257619000 β”‚ LFGV     β”‚ CAPRICE              β”‚
β”‚ 255805753 β”‚ CQCC     β”‚ CHRISTIAN ESSBERGER  β”‚
β”‚ 215349000 β”‚ 9HA2707  β”‚ CSL TRIMNES          β”‚
β”‚ 311023800 β”‚ C6XW3    β”‚ DEEP ARCTIC          β”‚
β”‚ 310767000 β”‚ ZCEC8    β”‚ DEEPSEA STAVANGER    β”‚
β”‚ 257089140 β”‚ LAIX8    β”‚ EAGLE BLANE          β”‚
β”‚ 538006249 β”‚ V7LA9    β”‚ ECO ROYALTY          β”‚
β”‚ 259665000 β”‚ JWMZ3    β”‚ EDDA FAUNA           β”‚
β”‚ 231700000 β”‚ OZ2077   β”‚ ELDBORG              β”‚
β”‚ 305530000 β”‚ V2ER8    β”‚ FITNES               β”‚
β”‚ 220151000 β”‚ OWQD     β”‚ FRIDA AMALIE         β”‚
β”‚     Β·     β”‚    Β·     β”‚          Β·           β”‚
β”‚     Β·     β”‚    Β·     β”‚          Β·           β”‚
β”‚     Β·     β”‚    Β·     β”‚          Β·           β”‚
β”‚ 257297000 β”‚ LLUO     β”‚ REM STAR             β”‚
β”‚ 310805000 β”‚ ZCEZ8    β”‚ RENAISSANCE          β”‚
β”‚ 311000627 β”‚ C6DB3    β”‚ RUDOLF SAMOYLOVICH   β”‚
β”‚ 231850000 β”‚ OZ2076   β”‚ SAEBORG              β”‚
β”‚ 232419000 β”‚ MZHR7    β”‚ SEVEN NAVICA         β”‚
β”‚ 257286000 β”‚ LDZH     β”‚ SIEM PEARL           β”‚
β”‚ 209190000 β”‚ 5BXG4    β”‚ SIF W                β”‚
β”‚ 253309000 β”‚ LXUB     β”‚ SIMON STEVIN         β”‚
β”‚ 259888000 β”‚ LAHA7    β”‚ STAVFJORD            β”‚
β”‚ 538010467 β”‚ V7A6081  β”‚ STI MYSTERY          β”‚
β”‚ 538006343 β”‚ V7MB8    β”‚ STI SPIGA            β”‚
β”‚ 246695000 β”‚ PCKX     β”‚ STORNES              β”‚
β”‚ 258527000 β”‚ JWRE     β”‚ STRIL MAR            β”‚
β”‚ 257129000 β”‚ LGLA     β”‚ STRIL MERKUR         β”‚
β”‚ 257600000 β”‚ LAGH7    β”‚ SYDSTRAUM            β”‚
β”‚ 241456000 β”‚ SVCL8    β”‚ THOMAS ZAFIRAS       β”‚
β”‚ 258390000 β”‚ LLVY     β”‚ VIKING ENERGY        β”‚
β”‚ 257271000 β”‚ LACZ8    β”‚ VOLANTIS             β”‚
β”‚ 257970000 β”‚ LAUR5    β”‚ XANTHIA              β”‚
β”‚ 311000634 β”‚ C6DC2    β”‚ YAKOV GAKKEL         β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ 75 rows (40 shown)                3 columns β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Se hvor mange datapunkter hvert fartΓΈy har:

SELECT mmsi, callsign, ship_name, COUNT(*) AS count
FROM haisdata
GROUP BY ALL
ORDER BY count DESC;
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”
β”‚   mmsi    β”‚ callsign β”‚      ship_name       β”‚ count β”‚
β”‚   int32   β”‚ varchar  β”‚       varchar        β”‚ int64 β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€
β”‚ 258390000 β”‚ LLVY     β”‚ VIKING ENERGY        β”‚ 24621 β”‚
β”‚ 257129000 β”‚ LGLA     β”‚ STRIL MERKUR         β”‚ 17671 β”‚
β”‚ 257105000 β”‚ LMEL     β”‚ G.O.SARS             β”‚ 16976 β”‚
β”‚ 257271000 β”‚ LACZ8    β”‚ VOLANTIS             β”‚ 16387 β”‚
β”‚ 231700000 β”‚ OZ2077   β”‚ ELDBORG              β”‚ 11514 β”‚
β”‚ 636023947 β”‚ 5LQF3    β”‚ ASPEN                β”‚  9821 β”‚
β”‚ 220151000 β”‚ OWQD     β”‚ FRIDA AMALIE         β”‚  9787 β”‚
β”‚ 538006343 β”‚ V7MB8    β”‚ STI SPIGA            β”‚  7860 β”‚
β”‚ 259014300 β”‚ JXQO     β”‚ REBEKKA L            β”‚  6115 β”‚
β”‚ 258906000 β”‚ LDLA     β”‚ JUANITA              β”‚  5990 β”‚
β”‚ 259665000 β”‚ JWMZ3    β”‚ EDDA FAUNA           β”‚  5765 β”‚
β”‚ 231099000 β”‚ OZ2088   β”‚ HAV NES              β”‚  5487 β”‚
β”‚ 636020363 β”‚ D5YW3    β”‚ AQUASMERALDA         β”‚  5288 β”‚
β”‚ 219597000 β”‚ OZOI     β”‚ L56 ANNA LISE        β”‚  4758 β”‚
β”‚ 257438000 β”‚ LCCC     β”‚ HAVILA HEROY         β”‚  4239 β”‚
β”‚ 257600000 β”‚ LAGH7    β”‚ SYDSTRAUM            β”‚  3430 β”‚
β”‚ 245974000 β”‚ PARE     β”‚ NATO WARSHIP A900    β”‚  3422 β”‚
β”‚ 231850000 β”‚ OZ2076   β”‚ SAEBORG              β”‚  3396 β”‚
β”‚ 258895000 β”‚ LDAD     β”‚ NORTH POMOR          β”‚  3378 β”‚
β”‚ 257089140 β”‚ LAIX8    β”‚ EAGLE BLANE          β”‚  2968 β”‚
β”‚     Β·     β”‚   Β·      β”‚         Β·            β”‚    Β·  β”‚
β”‚     Β·     β”‚   Β·      β”‚         Β·            β”‚    Β·  β”‚
β”‚     Β·     β”‚   Β·      β”‚         Β·            β”‚    Β·  β”‚
β”‚ 310767000 β”‚ ZCEC8    β”‚ DEEPSEA STAVANGER    β”‚   961 β”‚
β”‚ 258277000 β”‚ LAVS7    β”‚ HANNE KNUTSEN        β”‚   934 β”‚
β”‚ 538010467 β”‚ V7A6081  β”‚ STI MYSTERY          β”‚   898 β”‚
β”‚ 230688000 β”‚ OJTF     β”‚ JATULI               β”‚   890 β”‚
β”‚ 258152000 β”‚ LAWE7    β”‚ NORDSTRAUM           β”‚   846 β”‚
β”‚ 255806224 β”‚ CQAN6    β”‚ BOTHNIA              β”‚   768 β”‚
β”‚ 257297000 β”‚ LLUO     β”‚ REM STAR             β”‚   768 β”‚
β”‚ 311023800 β”‚ C6XW3    β”‚ DEEP ARCTIC          β”‚   684 β”‚
β”‚ 538006249 β”‚ V7LA9    β”‚ ECO ROYALTY          β”‚   629 β”‚
β”‚ 248221000 β”‚ 9HA2267  β”‚ KEY SOUTH            β”‚   628 β”‚
β”‚ 266235000 β”‚ SJLF     β”‚ FURE WEST            β”‚   619 β”‚
β”‚ 205771000 β”‚ ONJY     β”‚ JOAN                 β”‚   541 β”‚
β”‚ 310805000 β”‚ ZCEZ8    β”‚ RENAISSANCE          β”‚   428 β”‚
β”‚ 259827000 β”‚ LGPE     β”‚ NORMAND SIGMA        β”‚   407 β”‚
β”‚ 211210150 β”‚ DRAA     β”‚ GERMAN WARSHIP F219  β”‚   166 β”‚
β”‚ 636092960 β”‚ D5XR2    β”‚ GW ELENI             β”‚   162 β”‚
β”‚ 257286000 β”‚ LDZH     β”‚ SIEM PEARL           β”‚    38 β”‚
β”‚ 257619000 β”‚ LFGV     β”‚ CAPRICE              β”‚    36 β”‚
β”‚ 236111791 β”‚ ZDKS2    β”‚ KEY BREEZE           β”‚    13 β”‚
β”‚ 253309000 β”‚ LXUB     β”‚ SIMON STEVIN         β”‚     8 β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ 75 rows (40 shown)                        4 columns β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Eksport av et enkelt fartΓΈyΒΆ

La oss se pΓ₯ Juanita (MMSI: 258906000). Vi lager en GeoJSON-fil med hele sporloggen:

COPY (
    SELECT mmsi, ship_name, ST_MakeLine(ARRAY_AGG(ST_POINT(longitude, latitude) ORDER BY date_time_utc)) AS geom
    FROM haisdata
    WHERE mmsi = '258906000'
    GROUP BY mmsi, ship_name
  ) TO 'juanita.geojson' WITH (FORMAT gdal, DRIVER 'GeoJSON');

Γ…pne filen i GeoJSON.iofor Γ₯ se skipets rute visualisert pΓ₯ kart.

Figur 4: Juanitas sporlogg visualisert pΓ₯ et kart.

SΓΈk i geografisk omrΓ₯deΒΆ

HAIS stΓΈtter H3-rammeverket, slik vi kjenner det fra tidligere kapitler. Det betyr at vi enkelt kan sΓΈke etter trafikk i en gitt H3-celle. Merk at H3-ID-ene i HAIS lagres som tallverdier, sΓ₯ vi mΓ₯ konvertere dem til heksadesimal.

  1. Finn ΓΈnsket H3-celle ved hjelp av et verktΓΈy som H3 Viewer.
  2. Bruk for eksempel 8409851ffffffff med opplΓΈsning 4.
  3. KjΓΈr denne spΓΈrringen i DuckDB:
SELECT *
FROM haisdata
WHERE h3_cell_to_parent(to_hex(hex_14), 4) = '8409851ffffffff';

Du vil da fΓ₯ opp alle datapunkter som befinner seg innenfor den gitte H3-cellen:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚    date_time_utc    β”‚   mmsi    β”‚ longitude  β”‚  latitude   β”‚ status β”‚ course_over_ground β”‚ true_heading β”‚ speed_over_ground β”‚ rate_of_turn β”‚ maneuvre β”‚   imo   β”‚ callsign β”‚      ship_name       β”‚ ship_type β”‚ length β”‚    draught    β”‚ data_source β”‚ ais_class β”‚       hex_7        β”‚       hex_14       β”‚                          geometry                           β”‚
β”‚      timestamp      β”‚   int32   β”‚   double   β”‚   double    β”‚  int8  β”‚       double       β”‚    int16     β”‚      double       β”‚    int16     β”‚  int16   β”‚  int32  β”‚ varchar  β”‚       varchar        β”‚   int8    β”‚ int16  β”‚ decimal(10,2) β”‚   varchar   β”‚  varchar  β”‚       int64        β”‚       int64        β”‚                            blob                             β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ 2025-03-12 23:59:57 β”‚ 636020363 β”‚ 3.99394833 β”‚   60.451285 β”‚      0 β”‚              193.8 β”‚          266 β”‚               2.1 β”‚            0 β”‚        0 β”‚ 9884801 β”‚ D5YW3    β”‚ AQUASMERALDA         β”‚        80 β”‚    182 β”‚          8.40 β”‚ G           β”‚ A         β”‚ 608153422381711359 β”‚ 639678619758256391 β”‚ \x00\x00\x00\x00\x01@\x0F\xF3\x9B.\x9A\x1CK@N9\xC3\xB4\xF…  β”‚
β”‚ 2025-03-12 23:59:47 β”‚ 636020363 β”‚ 3.99399666 β”‚ 60.45135666 β”‚      0 β”‚              195.8 β”‚          266 β”‚               2.0 β”‚            0 β”‚        0 β”‚ 9884801 β”‚ D5YW3    β”‚ AQUASMERALDA         β”‚        80 β”‚    182 β”‚          8.40 β”‚ G           β”‚ A         β”‚ 608153422381711359 β”‚ 639678619758258871 β”‚ \x00\x00\x00\x00\x01@\x0F\xF3\xB4\x85XD\x0F@N9\xC6\x0E\x1…  β”‚
β”‚ 2025-03-12 23:59:38 β”‚ 636020363 β”‚   3.994055 β”‚ 60.45143333 β”‚      0 β”‚              194.9 β”‚          267 β”‚               1.9 β”‚            0 β”‚        0 β”‚ 9884801 β”‚ D5YW3    β”‚ AQUASMERALDA         β”‚        80 β”‚    182 β”‚          8.40 β”‚ G           β”‚ A         β”‚ 608153422381711359 β”‚ 639678619758258927 β”‚ \x00\x00\x00\x00\x01@\x0F\xF3\xD3\x1B\x9Bf\xF9@N9\xC8\x91…  β”‚
β”‚ 2025-03-12 23:59:27 β”‚ 636020363 β”‚     3.9941 β”‚ 60.45150833 β”‚      0 β”‚              195.1 β”‚          267 β”‚               2.1 β”‚            0 β”‚        0 β”‚ 9884801 β”‚ D5YW3    β”‚ AQUASMERALDA         β”‚        80 β”‚    182 β”‚          8.40 β”‚ G           β”‚ A         β”‚ 608153422381711359 β”‚ 639678619758234911 β”‚ \x00\x00\x00\x00\x01@\x0F\xF3\xEA\xB3g\xA0\xF9@N9\xCB\x06…  β”‚
β”‚ 2025-03-12 23:59:25 β”‚ 636020363 β”‚ 3.99410333 β”‚ 60.45151666 β”‚      0 β”‚              195.9 β”‚          267 β”‚               2.0 β”‚            0 β”‚        0 β”‚ 9884801 β”‚ D5YW3    β”‚ AQUASMERALDA         β”‚        80 β”‚    182 β”‚          8.40 β”‚ G           β”‚ A         β”‚ 608153422381711359 β”‚ 639678619758234663 β”‚ \x00\x00\x00\x00\x01@\x0F\xF3\xECrY\x8E\xBD@N9\xCBLD&K      β”‚
β”‚ 2025-03-12 23:59:23 β”‚ 636020363 β”‚ 3.99412333 β”‚   60.451565 β”‚      0 β”‚              201.1 β”‚          268 β”‚               1.3 β”‚         -127 β”‚        0 β”‚ 9884801 β”‚ D5YW3    β”‚ AQUASMERALDA         β”‚        80 β”‚    182 β”‚          8.40 β”‚ G           β”‚ A         β”‚ 608153422381711359 β”‚ 639678619758234975 β”‚ \x00\x00\x00\x00\x01@\x0F\xF3\xF6\xEE\xB4S.@N9\xCC\xE1\xC…  β”‚
β”‚ 2025-03-12 23:59:18 β”‚ 636020363 β”‚ 3.99415166 β”‚ 60.45158166 β”‚      0 β”‚              200.1 β”‚          269 β”‚               1.9 β”‚            0 β”‚        0 β”‚ 9884801 β”‚ D5YW3    β”‚ AQUASMERALDA         β”‚        80 β”‚    182 β”‚          8.40 β”‚ G           β”‚ A         β”‚ 608153422381711359 β”‚ 639678619758233751 β”‚ \x00\x00\x00\x00\x01@\x0F\xF4\x05\xC9\x17\xB6\x80@N9\xCDm…  β”‚
β”‚ 2025-03-12 23:59:14 β”‚ 636020363 β”‚    3.99418 β”‚ 60.45161666 β”‚      0 β”‚              194.0 β”‚          269 β”‚               1.9 β”‚         -127 β”‚        0 β”‚ 9884801 β”‚ D5YW3    β”‚ AQUASMERALDA         β”‚        80 β”‚    182 β”‚          8.40 β”‚ G           β”‚ A         β”‚ 608153422381711359 β”‚ 639678619758233743 β”‚ \x00\x00\x00\x00\x01@\x0F\xF4\x14\xA4\xD2\xB2\xC0@N9\xCE\…  β”‚
β”‚ 2025-03-12 23:59:13 β”‚ 636020363 β”‚   3.994185 β”‚ 60.45163166 β”‚      0 β”‚              196.2 β”‚          269 β”‚               1.6 β”‚         -127 β”‚        0 β”‚ 9884801 β”‚ D5YW3    β”‚ AQUASMERALDA         β”‚        80 β”‚    182 β”‚          8.40 β”‚ G           β”‚ A         β”‚ 608153422381711359 β”‚ 639678619758233815 β”‚ \x00\x00\x00\x00\x01@\x0F\xF4\x17C\xE9c\xDC@N9\xCF\x10\xF…  β”‚
β”‚ 2025-03-12 23:59:08 β”‚ 636020363 β”‚ 3.99420833 β”‚ 60.45165666 β”‚      0 β”‚              200.5 β”‚          270 β”‚               1.8 β”‚            0 β”‚        0 β”‚ 9884801 β”‚ D5YW3    β”‚ AQUASMERALDA         β”‚        80 β”‚    182 β”‚          8.40 β”‚ G           β”‚ A         β”‚ 608153422381711359 β”‚ 639678619758233823 β”‚ \x00\x00\x00\x00\x01@\x0F\xF4#\x7F6\x16\x12@N9\xCF\xE2\xA…  β”‚
β”‚ 2025-03-12 23:59:05 β”‚ 636020363 β”‚ 3.99423166 β”‚ 60.45167166 β”‚      0 β”‚              194.7 β”‚          270 β”‚               2.0 β”‚         -127 β”‚        0 β”‚ 9884801 β”‚ D5YW3    β”‚ AQUASMERALDA         β”‚        80 β”‚    182 β”‚          8.40 β”‚ G           β”‚ A         β”‚ 608153422381711359 β”‚ 639678619758231911 β”‚ \x00\x00\x00\x00\x01@\x0F\xF4/\xBA\x82\xC8G@N9\xD0`\x80\x…  β”‚
β”‚ 2025-03-12 23:59:04 β”‚ 636020363 β”‚   3.994235 β”‚   60.451685 β”‚      0 β”‚              194.7 β”‚          271 β”‚               2.0 β”‚         -127 β”‚        0 β”‚ 9884801 β”‚ D5YW3    β”‚ AQUASMERALDA         β”‚        80 β”‚    182 β”‚          8.40 β”‚ G           β”‚ A         β”‚ 608153422381711359 β”‚ 639678619758234519 β”‚ \x00\x00\x00\x00\x01@\x0F\xF41z\xCCN\xF9@N9\xD0\xD0g\x8C\…  β”‚
β”‚ 2025-03-12 23:58:58 β”‚ 636020363 β”‚   3.994265 β”‚ 60.45174333 β”‚      0 β”‚              195.9 β”‚          271 β”‚               1.9 β”‚         -127 β”‚        0 β”‚ 9884801 β”‚ D5YW3    β”‚ AQUASMERALDA         β”‚        80 β”‚    182 β”‚          8.40 β”‚ G           β”‚ A         β”‚ 608153422381711359 β”‚ 639678619758234119 β”‚ \x00\x00\x00\x00\x01@\x0F\xF4A5Tu\xA3@N9\xD2\xB9\xB6D\xA0   β”‚
β”‚ 2025-03-12 23:58:56 β”‚ 636020363 β”‚ 3.99427833 β”‚ 60.45174333 β”‚      0 β”‚              193.8 β”‚          271 β”‚               2.1 β”‚         -127 β”‚        0 β”‚ 9884801 β”‚ D5YW3    β”‚ AQUASMERALDA         β”‚        80 β”‚    182 β”‚          8.40 β”‚ G           β”‚ A         β”‚ 608153422381711359 β”‚ 639678619758234119 β”‚ \x00\x00\x00\x00\x01@\x0F\xF4H2s\xC5\xA0@N9\xD2\xB9\xB6D\…  β”‚
β”‚ 2025-03-12 23:58:47 β”‚ 636020363 β”‚   3.994325 β”‚    60.45182 β”‚      0 β”‚              196.8 β”‚          272 β”‚               2.0 β”‚            0 β”‚        0 β”‚ 9884801 β”‚ D5YW3    β”‚ AQUASMERALDA         β”‚        80 β”‚    182 β”‚          8.40 β”‚ G           β”‚ A         β”‚ 608153422381711359 β”‚ 639678619758234191 β”‚ \x00\x00\x00\x00\x01@\x0F\xF4`\xAAd\xC2\xF8@N9\xD5<\xDD\x…  β”‚
β”‚ 2025-03-12 23:58:38 β”‚ 636020363 β”‚ 3.99437666 β”‚   60.451905 β”‚      0 β”‚              200.8 β”‚          273 β”‚               1.7 β”‚            0 β”‚        0 β”‚ 9884801 β”‚ D5YW3    β”‚ AQUASMERALDA         β”‚        80 β”‚    182 β”‚          8.40 β”‚ G           β”‚ A         β”‚ 608153422381711359 β”‚ 639678619758239087 β”‚ \x00\x00\x00\x00\x01@\x0F\xF4{\xC0\x14\xD8\x7F@N9\xD8\x05…  β”‚
β”‚ 2025-03-12 23:58:27 β”‚ 636020363 β”‚ 3.99444166 β”‚ 60.45198666 β”‚      0 β”‚              204.8 β”‚          273 β”‚               2.0 β”‚            0 β”‚        0 β”‚ 9884801 β”‚ D5YW3    β”‚ AQUASMERALDA         β”‚        80 β”‚    182 β”‚          8.40 β”‚ G           β”‚ A         β”‚ 608153422381711359 β”‚ 639678619758237927 β”‚ \x00\x00\x00\x00\x01@\x0F\xF4\x9D\xD4;\xD6\xF1@N9\xDA\xB2…  β”‚
β”‚ 2025-03-12 23:58:18 β”‚ 636020363 β”‚   3.994515 β”‚ 60.45207333 β”‚      0 β”‚              207.1 β”‚          273 β”‚               1.7 β”‚            0 β”‚        0 β”‚ 9884801 β”‚ D5YW3    β”‚ AQUASMERALDA         β”‚        80 β”‚    182 β”‚          8.40 β”‚ G           β”‚ A         β”‚ 608153422381711359 β”‚ 639678619758238495 β”‚ \x00\x00\x00\x00\x01@\x0F\xF4\xC4G\xC3\x0D0@N9\xDD\x89\xF…  β”‚
β”‚ 2025-03-12 23:58:08 β”‚ 636020363 β”‚    3.99458 β”‚ 60.45214833 β”‚      0 β”‚              207.2 β”‚          273 β”‚               1.7 β”‚            0 β”‚        0 β”‚ 9884801 β”‚ D5YW3    β”‚ AQUASMERALDA         β”‚        80 β”‚    182 β”‚          8.40 β”‚ G           β”‚ A         β”‚ 608153422381711359 β”‚ 639678619757651607 β”‚ \x00\x00\x00\x00\x01@\x0F\xF4\xE6[\xEA\x0B\xA2@N9\xDF\xFF…  β”‚
β”‚ 2025-03-12 23:57:58 β”‚ 636020363 β”‚ 3.99466166 β”‚   60.452235 β”‚      0 β”‚              205.4 β”‚          273 β”‚               1.8 β”‚            0 β”‚        0 β”‚ 9884801 β”‚ D5YW3    β”‚ AQUASMERALDA         β”‚        80 β”‚    182 β”‚          8.40 β”‚ G           β”‚ A         β”‚ 608153422381711359 β”‚ 639678619758284135 β”‚ \x00\x00\x00\x00\x01@\x0F\xF5\x11,\x22G\xD3@N9\xE2\xD6#\x…  β”‚
β”‚          Β·          β”‚     Β·     β”‚       Β·    β”‚       Β·     β”‚      Β· β”‚                 Β·  β”‚           Β·  β”‚                Β·  β”‚            Β· β”‚        Β· β”‚    Β·    β”‚  Β·       β”‚      Β·               β”‚         Β· β”‚      Β· β”‚            Β·  β”‚ Β·           β”‚ Β·         β”‚          Β·         β”‚          Β·         β”‚                              Β·                              β”‚
β”‚          Β·          β”‚     Β·     β”‚       Β·    β”‚       Β·     β”‚      Β· β”‚                 Β·  β”‚           Β·  β”‚                Β·  β”‚            Β· β”‚        Β· β”‚    Β·    β”‚  Β·       β”‚      Β·               β”‚         Β· β”‚      Β· β”‚            Β·  β”‚ Β·           β”‚ Β·         β”‚          Β·         β”‚          Β·         β”‚                              Β·                              β”‚
β”‚          Β·          β”‚     Β·     β”‚       Β·    β”‚       Β·     β”‚      Β· β”‚                 Β·  β”‚           Β·  β”‚                Β·  β”‚            Β· β”‚        Β· β”‚    Β·    β”‚  Β·       β”‚      Β·               β”‚         Β· β”‚      Β· β”‚            Β·  β”‚ Β·           β”‚ Β·         β”‚          Β·         β”‚          Β·         β”‚                              Β·                              β”‚
β”‚ 2025-03-13 19:16:16 β”‚ 219023236 β”‚   3.751666 β”‚   60.536666 β”‚      7 β”‚               97.0 β”‚              β”‚               2.0 β”‚              β”‚          β”‚ 9807786 β”‚ OXAB     β”‚ MYGGENES             β”‚        30 β”‚     33 β”‚          0.00 β”‚ S           β”‚ LRIT      β”‚ 608153424898293759 β”‚ 639678622280122647 β”‚ \x00\x00\x00\x00\x01@\x0E\x03iv\xBC\x1F\x00@ND\xB1x\xB3p\…  β”‚
β”‚ 2025-03-13 19:16:14 β”‚ 219023236 β”‚   3.751666 β”‚   60.536666 β”‚      7 β”‚               97.0 β”‚              β”‚               2.0 β”‚              β”‚          β”‚ 9807786 β”‚ OXAB     β”‚ MYGGENES             β”‚        30 β”‚     33 β”‚          0.00 β”‚ S           β”‚ LRIT      β”‚ 608153424898293759 β”‚ 639678622280122647 β”‚ \x00\x00\x00\x00\x01@\x0E\x03iv\xBC\x1F\x00@ND\xB1x\xB3p\…  β”‚
β”‚ 2025-03-13 00:08:05 β”‚ 209356000 β”‚   3.958333 β”‚   60.433333 β”‚      0 β”‚              174.0 β”‚              β”‚              13.0 β”‚              β”‚          β”‚ 9768394 β”‚ 5BBK5    β”‚ BORIS DAVYDOV        β”‚        84 β”‚    299 β”‚         12.10 β”‚ S           β”‚ LRIT      β”‚ 608153422868250623 β”‚ 639678620250946615 β”‚ \x00\x00\x00\x00\x01@\x0F\xAA\xAA}\xEDk\xA9@N7wt\xAB\xA3\…  β”‚
β”‚ 2025-03-13 00:05:06 β”‚ 209356000 β”‚   3.956666 β”‚      60.445 β”‚      0 β”‚              173.0 β”‚              β”‚              13.0 β”‚              β”‚          β”‚ 9768394 β”‚ 5BBK5    β”‚ BORIS DAVYDOV        β”‚        84 β”‚    299 β”‚         12.10 β”‚ S           β”‚ LRIT      β”‚ 608153422868250623 β”‚ 639678620245629839 β”‚ \x00\x00\x00\x00\x01@\x0F\xA7@\x80\xF9\x8F\xA3@N8\xF5\xC2…  β”‚
β”‚ 2025-03-13 00:05:06 β”‚ 209356000 β”‚   3.956666 β”‚      60.445 β”‚      0 β”‚              173.0 β”‚              β”‚              13.0 β”‚              β”‚          β”‚ 9768394 β”‚ 5BBK5    β”‚ BORIS DAVYDOV        β”‚        84 β”‚    299 β”‚         12.10 β”‚ S           β”‚ LRIT      β”‚ 608153422868250623 β”‚ 639678620245629839 β”‚ \x00\x00\x00\x00\x01@\x0F\xA7@\x80\xF9\x8F\xA3@N8\xF5\xC2…  β”‚
β”‚ 2025-03-13 23:59:20 β”‚ 219022165 β”‚ 3.81623666 β”‚ 60.42955666 β”‚      7 β”‚              212.6 β”‚          326 β”‚               0.2 β”‚         -127 β”‚        0 β”‚       0 β”‚ OWBS     β”‚ HM228 PONDUS         β”‚        30 β”‚     28 β”‚          5.00 β”‚ S           β”‚ A         β”‚ 608153419546361855 β”‚ 639678616932387447 β”‚ \x00\x00\x00\x00\x01@\x0E\x87\xA7\x16\x03\xF8]@N6\xFB\xB6…  β”‚
β”‚ 2025-03-13 22:25:48 β”‚ 219022165 β”‚ 3.83790833 β”‚ 60.37293666 β”‚      7 β”‚              356.9 β”‚          354 β”‚               2.6 β”‚            0 β”‚        0 β”‚       0 β”‚ OWBS     β”‚ HM228 PONDUS         β”‚        30 β”‚     28 β”‚          5.00 β”‚ S           β”‚ A         β”‚ 608153421962280959 β”‚ 639678619351091791 β”‚ \x00\x00\x00\x00\x01@\x0E\xB4\x09HS*\xF5@N/\xBCcs\x16\xF9   β”‚
β”‚ 2025-03-13 22:25:48 β”‚ 219022165 β”‚ 3.83790833 β”‚ 60.37293666 β”‚      7 β”‚              356.9 β”‚          354 β”‚               2.6 β”‚            0 β”‚        0 β”‚       0 β”‚ OWBS     β”‚ HM228 PONDUS         β”‚        30 β”‚     28 β”‚          5.00 β”‚ S           β”‚ A         β”‚ 608153421962280959 β”‚ 639678619351091791 β”‚ \x00\x00\x00\x00\x01@\x0E\xB4\x09HS*\xF5@N/\xBCcs\x16\xF9   β”‚
β”‚ 2025-03-13 23:57:29 β”‚ 219022165 β”‚      3.815 β”‚   60.428333 β”‚      7 β”‚              330.0 β”‚              β”‚               0.0 β”‚              β”‚          β”‚       0 β”‚ OWBS     β”‚ HM228 PONDUS         β”‚        30 β”‚     28 β”‚          5.00 β”‚ S           β”‚ LRIT      β”‚ 608153419546361855 β”‚ 639678616922679031 β”‚ \x00\x00\x00\x00\x01@\x0E\x85\x1E\xB8Q\xEB\x85@N6\xD3\x9D…  β”‚
β”‚ 2025-03-13 23:57:28 β”‚ 219022165 β”‚      3.815 β”‚   60.428333 β”‚      7 β”‚              330.0 β”‚              β”‚               0.0 β”‚              β”‚          β”‚       0 β”‚ OWBS     β”‚ HM228 PONDUS         β”‚        30 β”‚     28 β”‚          5.00 β”‚ S           β”‚ LRIT      β”‚ 608153419546361855 β”‚ 639678616922679031 β”‚ \x00\x00\x00\x00\x01@\x0E\x85\x1E\xB8Q\xEB\x85@N6\xD3\x9D…  β”‚
β”‚ 2025-03-13 23:54:29 β”‚ 219022165 β”‚   3.816666 β”‚   60.428333 β”‚      7 β”‚              318.0 β”‚              β”‚               0.0 β”‚              β”‚          β”‚       0 β”‚ OWBS     β”‚ HM228 PONDUS         β”‚        30 β”‚     28 β”‚          5.00 β”‚ S           β”‚ LRIT      β”‚ 608153419546361855 β”‚ 639678616922525039 β”‚ \x00\x00\x00\x00\x01@\x0E\x88\x88/\x0E\x0A\x85@N6\xD3\x9D…  β”‚
β”‚ 2025-03-13 22:27:28 β”‚ 219022165 β”‚   3.836666 β”‚   60.373333 β”‚      7 β”‚              359.0 β”‚              β”‚               2.0 β”‚              β”‚          β”‚       0 β”‚ OWBS     β”‚ HM228 PONDUS         β”‚        30 β”‚     28 β”‚          5.00 β”‚ S           β”‚ LRIT      β”‚ 608153421962280959 β”‚ 639678619351051575 β”‚ \x00\x00\x00\x00\x01@\x0E\xB1}\xF1\x9Df\xAE@N/\xC9`0\xC2@   β”‚
β”‚ 2025-03-13 22:24:27 β”‚ 219022165 β”‚   3.836666 β”‚   60.371666 β”‚      7 β”‚              355.0 β”‚              β”‚               2.0 β”‚              β”‚          β”‚       0 β”‚ OWBS     β”‚ HM228 PONDUS         β”‚        30 β”‚     28 β”‚          5.00 β”‚ S           β”‚ LRIT      β”‚ 608153421962280959 β”‚ 639678619351067943 β”‚ \x00\x00\x00\x00\x01@\x0E\xB1}\xF1\x9Df\xAE@N/\x92\xC0a\x…  β”‚
β”‚ 2025-03-13 21:06:28 β”‚ 219022165 β”‚   3.851666 β”‚      60.315 β”‚      7 β”‚              340.0 β”‚              β”‚               2.0 β”‚              β”‚          β”‚       0 β”‚ OWBS     β”‚ HM228 PONDUS         β”‚        30 β”‚     28 β”‚          5.00 β”‚ S           β”‚ LRIT      β”‚ 608153422046167039 β”‚ 639678619429798647 β”‚ \x00\x00\x00\x00\x01@\x0E\xD06C\x88\xEB\xCC@N(Q\xEB\x85\x…  β”‚
β”‚ 2025-03-13 21:03:27 β”‚ 219022165 β”‚   3.853333 β”‚   60.311666 β”‚      7 β”‚              339.0 β”‚              β”‚               2.0 β”‚              β”‚          β”‚       0 β”‚ OWBS     β”‚ HM228 PONDUS         β”‚        30 β”‚     28 β”‚          5.00 β”‚ S           β”‚ LRIT      β”‚ 608153422046167039 β”‚ 639678619430290455 β”‚ \x00\x00\x00\x00\x01@\x0E\xD3\xA0@|\xC7\xD2@N\x27\xE4\xAB…  β”‚
β”‚ 2025-03-13 21:03:27 β”‚ 219022165 β”‚   3.853333 β”‚   60.311666 β”‚      7 β”‚              339.0 β”‚              β”‚               2.0 β”‚              β”‚          β”‚       0 β”‚ OWBS     β”‚ HM228 PONDUS         β”‚        30 β”‚     28 β”‚          5.00 β”‚ S           β”‚ LRIT      β”‚ 608153422046167039 β”‚ 639678619430290455 β”‚ \x00\x00\x00\x00\x01@\x0E\xD3\xA0@|\xC7\xD2@N\x27\xE4\xAB…  β”‚
β”‚ 2025-03-13 20:54:27 β”‚ 219022165 β”‚   3.856666 β”‚   60.306666 β”‚      7 β”‚              345.0 β”‚              β”‚               2.0 β”‚              β”‚          β”‚       0 β”‚ OWBS     β”‚ HM228 PONDUS         β”‚        30 β”‚     28 β”‚          5.00 β”‚ S           β”‚ LRIT      β”‚ 608153422046167039 β”‚ 639678619433830087 β”‚ \x00\x00\x00\x00\x01@\x0E\xDAs\xB4,\xC2\xD7@N\x27@\xD4\xD…  β”‚
β”‚ 2025-03-13 20:54:27 β”‚ 219022165 β”‚   3.856666 β”‚   60.306666 β”‚      7 β”‚              345.0 β”‚              β”‚               2.0 β”‚              β”‚          β”‚       0 β”‚ OWBS     β”‚ HM228 PONDUS         β”‚        30 β”‚     28 β”‚          5.00 β”‚ S           β”‚ LRIT      β”‚ 608153422046167039 β”‚ 639678619433830087 β”‚ \x00\x00\x00\x00\x01@\x0E\xDAs\xB4,\xC2\xD7@N\x27@\xD4\xD…  β”‚
β”‚ 2025-03-13 20:54:27 β”‚ 219022165 β”‚   3.856666 β”‚   60.306666 β”‚      7 β”‚              345.0 β”‚              β”‚               2.0 β”‚              β”‚          β”‚       0 β”‚ OWBS     β”‚ HM228 PONDUS         β”‚        30 β”‚     28 β”‚          5.00 β”‚ S           β”‚ LRIT      β”‚ 608153422046167039 β”‚ 639678619433830087 β”‚ \x00\x00\x00\x00\x01@\x0E\xDAs\xB4,\xC2\xD7@N\x27@\xD4\xD…  β”‚
β”‚ 2025-03-13 20:51:28 β”‚ 219022165 β”‚   3.858333 β”‚   60.303333 β”‚      7 β”‚              345.0 β”‚              β”‚               2.0 β”‚              β”‚          β”‚       0 β”‚ OWBS     β”‚ HM228 PONDUS         β”‚        30 β”‚     28 β”‚          5.00 β”‚ S           β”‚ LRIT      β”‚ 608153422046167039 β”‚ 639678619434559663 β”‚ \x00\x00\x00\x00\x01@\x0E\xDD\xDD\xB1 \x9E\xDC@N&\xD3\x9D…  β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ 28451 rows (40 shown)                                                                                                                                                                                                                                                                                                                                         21 columns β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
D SELECT * FROM haisdata WHERE h3_cell_to_parent(to_hex(hex_14), 4) LIKE '8409851ffffffff';

Bruk av Google Colab-notebooksΒΆ

For mange vil det vΓ¦re mer fleksibelt Γ₯ jobbe med dataene i en notebook, spesielt nΓ₯r vi nΓ₯ er blitt vant til det. La oss se hvordan vi kan ta med oss det vi har lΓ¦rt inn i Google Colab.

Opprett en ny notebookΒΆ

  1. GΓ₯ til Google Colab.

  2. Velg Fil β†’ Ny notatbok. Du fΓ₯r opp en tom notatbok som ser slik ut:

Figur 5: Tom notebook.

Installer og last inn DuckDBΒΆ

Start med Γ₯ installere nΓΈdvendige pakker og laste inn utvidelsene:

# Last inn DuckDB og nΓΈdvendige tilleggsmoduler
!pip install lonboard==v0.9.3 duckdb plotly.express
import duckdb
con = duckdb.connect()
con.sql('INSTALL spatial;')
con.sql('INSTALL httpfs;')
con.sql('INSTALL h3 FROM community;')
con.sql('LOAD spatial;')
con.sql('LOAD httpfs;')
con.sql('LOAD h3;')

Last opp og importer dataΒΆ

  1. Klikk pΓ₯ mappeikonet i venstremenyen.

  2. Trykk pΓ₯ opplastingsikonet (pil opp) og velg Parquet-filene fra datamaskinen din.

Figur 5: Last opp filer fra maskinen din.

  1. Opprett en ny celle og les inn dataene:
con.sql('CREATE TABLE haisdata AS SELECT * FROM "*.parquet";')
  1. Test at alt fungerer:
con.sql('DESCRIBE haisdata;').pl()
column_namecolumn_typenullkeydefaultextra
date_time_utcTIMESTAMPYESnullnullnull
mmsiINTEGERYESnullnullnull
longitudeDOUBLEYESnullnullnull
latitudeDOUBLEYESnullnullnull
statusTINYINTYESnullnullnull
..................
data_sourceVARCHARYESnullnullnull
ais_classVARCHARYESnullnullnull
hex_7BIGINTYESnullnullnull
hex_14BIGINTYESnullnullnull
geometryGEOMETRYYESnullnullnull

Dataene er nΓ₯ klare til analyse, visualisering og videre utforskning.

OppgaverΒΆ