Slide 1

Slide 1 text

Nuno Oliveira Simone Giannecchini Andrea Aime GeoSolutions Processing and publishing Maritime AIS data with GeoServer and Databricks in Azure

Slide 2

Slide 2 text

GeoSolutions Enterprise Support Services Deployment Subscription Professional Training Customized Solutions GeoNode • Offices in Italy & US, Global Clients/Team • 30+ collaborators, 25+ Engineers • Our products • Our Offer

Slide 3

Slide 3 text

Affiliations We strongly support Open Source, it is in our core We participate in OGC testbeds and get funded to advance new open standards We support standards critical to GEOINT

Slide 4

Slide 4 text

Big data and maritime security

Slide 5

Slide 5 text

Using maritime data as our use case • Maritime Data is produced by a variety of sources: • Ships positions AIS, LRIT • Maritime assets ports, navigational aid systems, …

Slide 6

Slide 6 text

The use case in numbers • In 24 hours: • We receive up to 50 millions positions reports • We handle up to 500K different ships • Peaks of activity during daylight: • Up to 2500 messages per second! • Azure data lake with 7 years of data: ~125 billion positions!

Slide 7

Slide 7 text

Big data? • We can start with the usual three V’s: • Velocity • Volume • Variety • A practical definition from Wikipedia: • Big data refers to data sets that are too large or complex to be dealt with by traditional data-processing application software. • We already covered velocity and volume, what about variety?

Slide 8

Slide 8 text

Maritime data overview • Provide a foundation for informed decision-making applications: • Maritime traffic monitoring • Search and rescue operations • Environmental marine disasters monitoring • … • Several datasets need to be combined: • Fisheries data • Ships registries information • …. Interoperability!

Slide 9

Slide 9 text

• Authorization rights need to be respected: • Different authorization rights will result: Authorization rights … In different views of maritime assets! t1 Ships Sensors SAT-AIS T-AIS User 1 can see all vessels positions. User 2 can only see SAT-AIS vessels positions. t1 t0 t0 t1 t1 t1 t0

Slide 10

Slide 10 text

Visualize in real time ships positions

Slide 11

Slide 11 text

Use case overview • Displays the latest position for each known vessel in the last 24 hours. • System designed to handle up to 5K positions per second 432 millions positions per day! • Positions are enriched with several datasets, e.g. fisheries.

Slide 12

Slide 12 text

Real time ships positions • Real time maritime picture displayed using a style that color each vessel according to its type:

Slide 13

Slide 13 text

Real time ships positions • Real time maritime picture displaying only fishing vessels colored based on their fishing gear:

Slide 14

Slide 14 text

Real time navigation to aid systems • Real time aircraft search and rescue operation:

Slide 15

Slide 15 text

Real time navigation to aid systems • Real time aids to navigation systems positions:

Slide 16

Slide 16 text

Real time ships positions • Real time maritime picture displayed using a polar projection (EPSG:5041):

Slide 17

Slide 17 text

Advanced styling • Real time maritime picture displaying only cargo vessels, some of them highlighted:

Slide 18

Slide 18 text

Reduced deployment diagram in Azure Kafka Cluster (Critical: RAM and DISK) SaaS - Managed Kafka Cluster PostgreSQL postgresql (32 vCPUs, 160 GB RAM, 8 TB, 20000 IOPS) SaaS - Gen 5, 32 vCore reads \ writes from topics kafka.head.x (2 VCPUs, 16 GB RAM, 135 GB DISK) kafka.worker.x (4 VCPUs, 4 GB RAM, 200 GB DISK) kafka.zookeeper.x (2 VCPUs, 14 GB RAM, 135 GB DISK) kafka.storage (1TB SSD) Kubernetes Cluster aks.x SaaS - DS2 v2 x3 x2 x3 x3 Ingestion Cluster (Critical: CPU and RAM): ingestion.1 (4 CPU, 8 GB RAM, 64 SSD + 64 PREMIUM SSD) IaaS - F4s v2 ingestion.2 (4 CPU, 8 GB RAM, 64 SSD + 64 PREMIUM SSD) GeoServer Cluster (Critical: CPU) geoserver.1 (4 CPU, 8 GB RAM, 64 SSD + 32 PREMIUM SSD) PaaS - F4s v2 geoserver.2 (4 CPU, 8 GB RAM, 64 SSD + 32 PREMIUM SSD) reads tables writes to tables manages x2

Slide 19

Slide 19 text

Historical vessels tracks visualization

Slide 20

Slide 20 text

Use case overview • Retrieve ship(s) historical positions from an Azure Data Lake: • Make them available through GeoServer OGC WFS, WMS and WPS services. • We can afford an initial preparation time, but then we need to be fast! ~125 billion positions!

Slide 21

Slide 21 text

Ship positions correlation Annual voyage route of a bulk carrier from Asia to the Americas, Africa, and Europe

Slide 22

Slide 22 text

Multiple ship tracks correlation Routes of 15 fishing vessels tracked over a 6-month period

Slide 23

Slide 23 text

Ships in area identification 24-hour vessel traffic routes through the Strait of Gibraltar

Slide 24

Slide 24 text

Read \ Write Architecture overview Azure Delta Lake Apache Spark SQL End-Point (Photon) Databricks Databricks Connector Read \ Write Coordination Read PG cache Cache

Slide 25

Slide 25 text