A point cloud is brilliant at geometry and hopeless at meaning. To a raw LiDAR scan, a warehouse is a vertical cluster of points. A fence is a thin line of returns. The sensor sees everything and understands nothing.
This is why OpenStreetMap enters the stack. OSM is not a survey-grade map. It is a reference layer: a rough but complete layout of a place that tells you where the roads run, where the buildings stand, and where the perimeter fence turns left. It gives you a starting point.
Three primitives
OSM describes the entire physical world with three building blocks:
Nodes. A single point defined by latitude and longitude. A fire hydrant, a gate, a light pole. <node id="123" lat="47.6062" lon="-122.3321"/>
Ways. An ordered sequence of nodes forming a line (a road, a fence) or a closed area (a building footprint, a keep-clear zone). <way id="456"><nd ref="123"/><nd ref="124"/></way>
Relations. A logical grouping of nodes and ways that describes something larger than its parts: a building with a courtyard, a turn restriction, a bus route.
Tags: how geometry gets a name
A way is just a line until you give it a tag. Tags are key-value pairs that identify what a piece of geometry represents.
| Raw geometry | Plus a tag | What you now know |
|---|---|---|
| A sequence of points | highway=service |
This is a drivable road |
| A closed loop of points | building=warehouse |
This is a permanent structure |
| A single node on a way | barrier=gate |
There is a gate here |
| A closed way along a perimeter | barrier=fence |
This is a boundary fence |
Without tags, you see lines and cannot tell if they are lanes to drive on or walls to avoid. Tags are what turn OSM from a drawing into a reference you can work with.
The permanent structures (buildings, fences, barrier walls) are the fixed reference skeleton of an OSM extract. Unlike pavement markings, they do not fade, shift, or get scraped away by forklifts. They are the features you can count on across seasons.
Harbor Yard: filling in the map
The Harbor Yard site is private industrial property. The roads, loading docks, and perimeter fence may not exist in OpenStreetMap at all. The good news: OSM is open, just like Wikipedia. Anyone can add to the map.
The OSM wiki has a rich set of authoring tools and tutorials for contributors.1 The features we care about for an HD map are straightforward:
- The path of every drivable road on the site
- The outlines of permanent structures: fences, buildings, barriers, vegetation
If the OSM extract is incomplete for your site, it is easy to add what is missing. A few traced ways and tagged nodes give you the rough layout of the entire geography. It will not be surveyor grade, and it does not need to be. The reality scan provides precision later. OSM gives you the shape of the place so you are not starting from a blank canvas.
From OSM to the vector map
The OSM reference gives you the rough layout. The vector map takes these primitives and adds behavioral constraints (stop positions, speed limits, right-of-way assignments) that turn a labeled map into an executable one.
In Veer Studio, you align the OSM Ref layer to the reality scan so the rough vectors sit on top of centimeter-accurate geometry, then the vector map adds the rules on top. The reality scan supplies precision. The OSM Ref layer supplies the rough layout. The vector map supplies the behavioral constraints.2
Try this
[10 min] Go to openstreetmap.org and find your site, campus, or neighborhood. Study it. Are the drivable roads all there? Are the permanent structures traced? Is it incomplete? Read the beginner’s guide on how to contribute, and share your knowledge with the world.
Footnotes
-
Start at wiki.openstreetmap.org for the contributor guide, editor tutorials, and tagging conventions. ↩
-
Standard OSM editors rely on satellite imagery where meter-level accuracy is sufficient for human navigation. Veer Studio bridges the gap by aligning OSM primitives directly to the high-precision reality scan, giving the reference layer the same centimeter-level accuracy as the LiDAR scan. ↩
Found an error or have a suggestion?
Report an erratum or send feedback →