Road network editor for lane-level simulation and 3D maps

Roads built from per-lane cross-sections, with junctions, roundabouts, signs, terrain and water generated around them. Exports schema-valid OpenDRIVE 1.6 and OpenSCENARIO 1.2 for driving simulators, and glTF 2.0, OBJ and heightmaps for 3D engines.

10
lane types
6
junction controls
27
sign types with OpenDRIVE codes
2 cm
max. reference-line deviation

Native C++ / OpenGL for macOS and Windows. Works offline.

Exports
OpenDRIVE 1.6.xodrOpenSCENARIO 1.2.xoscglTF 2.0.glb / .gltfOBJ.obj + .mtlHeightmap.png + .r16
Overview

What Metromake does

Roads are defined lane by lane. Junctions, markings and signs are derived from the lanes, and the result is exported to simulation and 3D formats.

Lane-based roads

Each road has its own cross-section: 10 lane types, per-lane width, direction and height, 11 marking styles. Junctions, curbs and markings are generated from it and rebuilt while you drag.

Roads and cross-sections

OpenDRIVE and OpenSCENARIO export

OpenDRIVE 1.6 with lane-level junctions, validated against the ASAM schema. OpenSCENARIO 1.2 scenarios from 16 templates that run in esmini.

The OpenDRIVE export

OpenStreetMap import

Imports an OpenStreetMap area with lanes, one-way streets, roundabouts, signals and speed limits. The result is an ordinary, editable map.

OpenStreetMap to OpenDRIVE
In the editor

Junctions and lanes, edited live

Screen recordings and screenshots from Metromake 0.9.0.

  1. 01Junction controls

    Pick a control in the Inspector: priority, traffic signals, all-way stop, give way or roundabout. Stop lines, crosswalks, signals and the roundabout ring are rebuilt with each click.

  2. 02Movements and conflict points

    A selected junction shows every lane connection and conflict point on the map. This one has 4 approaches, 14 lane connections, and 24 crossing, 10 merging and 10 diverging conflicts.

  3. 03Junction Editor

    One junction in plan: its approaches, signals and lane connections, turn by turn. Connect lanes by hand where the automatic result is not what you want.

  4. 04Cross-section

    Select a road and edit its lanes: type, width, direction and the line on each side. The road, its markings and the junctions at both ends rebuild as you edit.

  5. 05Linework view

    The same junction in the Linework look: a fast schematic of lanes, curbs, crosswalks, arrows and signals.

Screenshot: a signalised junction selected in the 3D view, with its lane connections and conflict points drawn over it and a summary of 4 approaches, 14 lane connections and 44 conflict points.
Screenshot: the Junction Editor for a signalised four-way junction, with a plan of its lane connections, the list of approaches and signals, and the lane connections by turn.
The same signalised junction in the Linework look: lanes, curbs, crosswalks, turn arrows and traffic lights drawn as dark lines on white.
01 / 05
01 — Lanes

Roads are defined by their cross-section

Pick lane types, set widths, directions and heights, and choose the line on each side. Raised lanes get curbs. Road-level lanes flow into the junction surface.

  • Driving, parking, bus, bike, shoulder, hatched, median, sidewalk, verge, barrier
  • Curbs, markings, crosswalks, bridges and street lights generated from the cross-section
  • Tapers where roads with different profiles meet
curbcurbsidewalkvergeparkingdrivingdrivingbikesidewalkcross-section: lane types, widths and markings, left to rightsectionplan
Diagram An example cross-section, in plan and in section.
02 — Simulation export

How the OpenDRIVE export is validated

Each exported file is validated against the official ASAM schemas and read back by an independent parser.

  • OpenDRIVE 1.6 validates against the ASAM schema
  • OpenSCENARIO 1.2 validates against its schema; scenarios run in esmini, vehicles stay on the road network
  • Reference lines within 2 cm of the drawn road
  • Junction connecting roads meet their roads within 2 cm with continuous heading
reference lineroad (approach)junctionconnecting roads,one per movementlane links: within 2 cm,continuous heading
Diagram A four-way junction: each movement is its own connecting road.
Application

Native desktop application

Live rebuild

C++ and OpenGL. Geometry is rebuilt while you drag.

2D and 3D

A 3D view and a 2D blueprint view with contour lines and a height cut.

Offline

No account. Activated once per computer, then it works offline.

Plain files

Maps are stored as plain JSON. Exports may be used commercially.

FAQ

Frequently asked questions

Which OpenDRIVE version does Metromake export?

OpenDRIVE 1.6, validated against the ASAM schema.

Can I use my exported maps commercially?

Yes. The road assets are CC0 and the exports are yours. Maps imported from OpenStreetMap must credit OpenStreetMap contributors (ODbL).

Does it work offline?

Yes. Activating it needs the internet once per computer; after that it works fully offline, with no account. During early access it sends usage statistics and crash reports (never your maps); the full release asks first.

What is early access?

Metromake 0.9 for macOS and Windows, before the full release: free with an early-access key, which you can request on the download page. Expect rough edges, and tell us about them.

Can I import existing OpenDRIVE files?

Yes; roads come back with their lanes and signs, and junctions are rebuilt.

Which platforms does it run on?

macOS 12 or later (Apple Silicon and Intel) and Windows 10/11 (x64).

What file format are maps saved in?

Plain JSON.

More about the OpenDRIVE export · Read the docs

Availability

Early access

Metromake 0.9.0 is in early access for macOS and Windows: download it, activate it with a free early-access key, and tell us what to improve. Team licences and academic use are available on request.