Learn how the systems work, then use them
Build practical skill in spatial math, GIS, observations, data formats, connected systems, open protocols, vehicle data, and AI tools. Start at the beginning or drop directly into the lesson you need.
Learning paths
Lessons are ordered so ideas build on one another, but each lesson also stands on its own when you need a specific topic.
Foundations
Build the math and spatial reasoning needed to describe where something is, how far apart things are, how certain a measurement is, and how vertical/time context changes meaning.
- 1
Coordinates: describing a position on Earth
Learn what latitude and longitude measure, why coordinate order matters, and how a pair of numbers becomes a place software can use.
Open lesson → - 2
Geometry: points, paths, and areas
Learn why one location, a route, and a boundary need different geometry even when they use the same coordinates.
Open lesson → - 3
Distance on a curved Earth
Work through why distance between latitude/longitude points is not just a flat-screen ruler measurement.
Open lesson → - 4
Accuracy, precision, and uncertainty
Learn to ask how trustworthy a measurement is instead of judging it by how many digits it contains.
Open lesson → - 5
Time and location belong together
See why a position becomes much more useful when you also know when it was true.
Open lesson → - 6
Vertical space: elevation, altitude, and depth
Add the vertical dimension without mixing up ground height, object altitude, and depth below a surface.
Open lesson →
Geography, formats & standards
Learn how geographic information is represented, encoded, tiled, exchanged, and constrained by formats and geospatial standards.
- 7
Geohashing and spatial indexing
Learn how a coordinate can be encoded into progressively smaller cells for indexing and search.
Open lesson → - 8
Raster and vector: two ways to represent geography
Compare a grid of values with discrete geographic features and learn why neither model replaces the other.
Open lesson → - 9
Tiles, layers, zoom, and 2D/3D presentation
Separate how map data is delivered from how it is grouped and displayed.
Open lesson → - 10
GeoJSON: geography inside JSON
Read a real Feature, identify geometry and properties, and understand what GeoJSON does—and does not—define.
Open lesson → - 11
JSON: structured data you can read
Learn the objects, arrays, names, values, and nesting that appear in APIs, GeoJSON, configuration, and many modern protocols.
Open lesson → - 12
CSV: simple tables with hidden assumptions
Learn why comma-separated data is easy to exchange but still needs a clear agreement about columns, types, encoding, and coordinates.
Open lesson → - 13
KML and KMZ: geographic documents for map presentation
See how KML describes geographic features and presentation, and why KMZ is a packaged form rather than a different geometry model.
Open lesson → - 14
XML: structured documents with explicit markup
Learn elements, attributes, namespaces, and schemas so XML-based standards stop looking like walls of angle brackets.
Open lesson → - 15
S-100: a framework for hydrographic data products
Understand S-100 as a framework for building interoperable hydrographic data products—not as one generic file format.
Open lesson → - 16
S-101: Electronic Navigational Chart data
Learn what S-101 is, why it exists, and why edition, feature catalogue, portrayal catalogue, and dataset identity travel together.
Open lesson → - 17
GGDM and schema-driven geospatial models
Learn why a geospatial data model is more than a list of field names and why mappings need model, profile, version, and code-list context.
Open lesson →
Observations & field data
Turn real-world measurements, sensors, stations, forms, movement, and telemetry into understandable records with time, units, identity, and provenance.
- 18
From a location to an observation
Turn a point on a map into a useful record by adding what happened, when, source, value, units, and provenance.
Open lesson → - 19
Sensors, measurements, units, and calibration
Learn what a sensor contributes to a measurement—and what metadata you still need before comparing values.
Open lesson → - 20
Provenance: keeping the story of the data
Track where a record came from and what happened to it so another person can understand, trust, or reproduce the result.
Open lesson → - 21
Stations: persistent sources of observations
Learn how a station gives repeated observations a stable identity without assuming every station looks like a weather box on a pole.
Open lesson → - 22
Movement, tracks, speed, and dwell
Combine positions and timestamps to reason about motion without confusing recorded facts with values you derive from them.
Open lesson → - 23
Telemetry: state arriving from somewhere else
Learn how remote devices and vehicles report state, and why a telemetry stream is not automatically a research dataset.
Open lesson → - 24
Field forms and KoboToolbox data
Learn how structured field submissions can become mapped observations without turning a form application into your system of record.
Open lesson →
Connected systems & AI
Learn how devices and applications connect, how APIs and open protocols carry structured information, and how rules, workflows, and AI tools fit together.
- 25
Connectivity: how devices reach other systems
Separate the physical/network connection from the protocol and data so Wi‑Fi, cellular, serial, USB, Ethernet, and a tether stop being mixed together.
Open lesson → - 26
HTTP and REST APIs
Follow a request from URL and method through headers, body, status code, and response before adding higher-level tooling.
Open lesson → - 27
OpenAPI: a machine-readable API contract
Learn what an OpenAPI document describes and why humans, code generators, test tools, and AI clients benefit from the same contract.
Open lesson → - 28
Webhooks and event-driven delivery
Compare polling with callbacks and learn what makes a webhook reliable enough for real workflows.
Open lesson → - 29
Matrix: rooms, events, and federated communication
Learn how Matrix represents communication as events in rooms and why federation is more than sending chat text between two apps.
Open lesson → - 30
AT Protocol: identity, repositories, records, and services
Understand the pieces behind Bluesky-style AT Protocol applications instead of treating a handle as the whole identity.
Open lesson → - 31
ActivityPub: activities across decentralized servers
Learn how ActivityPub uses ActivityStreams objects and server-to-server federation to move social activities between independent services.
Open lesson → - 32
AI clients, tools, and MCP
Connect AI to systems by understanding tools, authorization, scope, context, and the boundary between a model's reasoning and an application's actual capabilities.
Open lesson → - 33
Rules, geofences, and spatial events
Turn geometry, time, state, and observations into conditions a workflow can evaluate.
Open lesson → - 34
Workflows: moving data toward a useful outcome
Assemble source, connectivity, protocol, data, mapping, spatial context, rules, and outputs without hiding them inside one black box.
Open lesson →
Vehicle data & robotics
Understand ArduPilot, ArduSub, MAVLink, message identity, and the path from vehicle telemetry to spatial observations without confusing data integration with vehicle control.
- 35
ArduPilot, ArduSub, and MAVLink: know the pieces
Separate vehicle-control software from the messaging protocol and from the downstream systems that use selected telemetry.
Open lesson → - 36
Reading MAVLink without drowning in messages
Learn how systems, components, heartbeats, message types, and stream rates help you choose useful MAVLink data.
Open lesson → - 37
From vehicle telemetry to spatial observations
Turn selected vehicle and sensor messages into records that preserve location, time, identity, units, vertical context, and provenance.
Open lesson →
Apply what you learned
Combine the earlier lessons into small projects and the Ocean Idea Machine capstone.
- 38
Project: make one useful observation
Put the observation lessons together by making a small record another person could understand without asking you what every field meant.
Open lesson → - 39
Project: build a point, route, or area
Combine geometry, properties, and GeoJSON into one small spatial object, then reason about what you could do with it.
Open lesson → - 40
Project: Ocean Idea Machine
Use the full learning path to understand a shared observation network where classrooms, researchers, hobbyists, sensors, cameras, vehicles, APIs, and public data can contribute to the same spatial project.
Open lesson →
Ready to build something larger?
Quick Starts are applied projects. They combine skills from multiple lessons instead of replacing the lessons.
Browse Quick Starts →Reference when you need it
Use the glossary for terminology. Use product help and developer documentation when a lesson has prepared you for a specific implementation task.