Implementation:CARLA simulator Carla Map API Spec
| Knowledge Sources | |
|---|---|
| Domains | Simulation, Mapping, API Specification |
| Last Updated | 2026-02-15 05:00 GMT |
Overview
YML specification file that defines map and road-related classes in the CARLA Python API, including LaneType, LaneChange, LaneMarkingColor, LaneMarkingType, Map, Waypoint, and related enums.
Description
This YML file specifies the map system classes that provide road network information based on the OpenDRIVE 1.4 standard. LaneType enumerates lane types (Driving, Stop, Shoulder, Biking, Sidewalk, Parking, etc.). LaneChange defines turn permissions (NONE, Right, Left, Both). LaneMarkingColor and LaneMarkingType define lane marking appearance per the OpenDRIVE standard (Solid, Broken, SolidSolid, etc.). The Map class provides access to the road topology, spawn points, waypoints, and crosswalks. Waypoint represents a point on a lane with properties for lane width, road_id, section_id, lane_id, junction status, and methods to navigate the road network (next(), previous(), get_right_lane(), get_left_lane()).
Usage
Use these classes when working with CARLA's road network, pathfinding, navigation, and traffic rule systems. The Map is accessed via world.get_map() and provides the foundation for autonomous driving route planning.
Code Reference
Source Location
- Repository: CARLA
- File: PythonAPI/docs/map.yml
Signature
- module_name: carla
classes:
- class_name: LaneType
instance_variables:
- var_name: NONE
- var_name: Driving
- var_name: Stop
- var_name: Shoulder
- var_name: Biking
- var_name: Sidewalk
- var_name: Parking
- var_name: Any
- class_name: LaneChange
instance_variables:
- var_name: NONE
- var_name: Right
- var_name: Left
- var_name: Both
- class_name: LaneMarkingColor
instance_variables:
- var_name: Standard
- var_name: Blue
- var_name: White
- var_name: Yellow
- class_name: LaneMarkingType
instance_variables:
- var_name: NONE
- var_name: Broken
- var_name: Solid
- var_name: SolidSolid
- var_name: SolidBroken
- var_name: BrokenSolid
Import
import carla
world = client.get_world()
carla_map = world.get_map()
waypoint = carla_map.get_waypoint(location)
I/O Contract
| Class | Type | Description |
|---|---|---|
| LaneType | enum | OpenDRIVE lane types (Driving, Sidewalk, Parking, etc.) |
| LaneChange | enum | Lane change permissions (NONE, Right, Left, Both) |
| LaneMarkingColor | enum | Lane marking colors (Standard, Blue, White, Yellow) |
| LaneMarkingType | enum | Marking patterns (Solid, Broken, SolidSolid, etc.) |
| Map | class | Road network topology and waypoint access |
| Waypoint | class | Point on a lane with navigation methods |
Usage Examples
import carla
client = carla.Client('localhost', 2000)
world = client.get_world()
carla_map = world.get_map()
# Get spawn points
spawn_points = carla_map.get_spawn_points()
# Get waypoint at a location
wp = carla_map.get_waypoint(spawn_points[0].location)
print(f"Road ID: {wp.road_id}, Lane ID: {wp.lane_id}")
print(f"Lane type: {wp.lane_type}")
print(f"Is junction: {wp.is_junction}")
# Navigate the road network
next_wps = wp.next(2.0) # Get waypoints 2 meters ahead
left_lane = wp.get_left_lane()
right_lane = wp.get_right_lane()
# Get topology
topology = carla_map.get_topology()