Map builder draw it, get valid J2735

5 of 5 free decodes left today — create a free account for 500/day

How MAP works. A MAP message describes an intersection as a reference point plus lanes; each lane is a list of nodes stored as centimeter offsets (first node from the reference point, then from the previous node). For ingress lanes the first node sits at the stop bar and the list runs away from the intersection, so vehicles can match their position to a lane as they approach. Connections (connectsTo) tie an ingress lane to the egress lane it feeds and carry the signalGroup that SPaT reports timing for. Read more: MAP guide · How MAP links to SPaT.

lat, lon
1Reference point not set

The intersection's reference point — usually the center of the intersection. Every lane node is measured from it. Click the button and then the map, or type coordinates.

0.1 m units, optional
2Lanes 0 lanes

Draw each lane from the stop bar outward. Click the first node where the lane meets the intersection (node 1, shown in yellow), then click along the lane center line away from it; double-click or press Enter to finish. J2735 orders ingress nodes away from the reference point; egress lanes start at the intersection too. Drag nodes to adjust, click a midpoint to insert, right-click a node to delete.

    3Connections & signal groups 0

    A connection says “traffic in ingress lane A may continue into egress lane B” and names the signalGroup whose SPaT state controls that movement. Click Add by clicking, then an ingress lane and an egress lane on the map, or pick them below.

    Maneuver
     
      4Intersection & message
      Speed limits (optional)

        Output MapData (messageId 18) · PSID 0xE0000017

        UPER · J2735_202409

        The UPER hex is what every NTCIP 1218 RSU accepts (rsuMsgRepeatPayload / rsuMsgRepeatPayload2, bare MessageFrame, the RSU signs it). Controller and RSU vendors (Econolite, Q-Free/Intelight, Trafficware, Yunex, Commsignia, Kapsch, Danlaw) load the same hex or a GeoJSON/XML intermediate through their own tools.

        ↓Import an existing MAP

        Paste MAP hex (bare UPER, or a WSMP/1609.2 frame) or MessageFrame JSON. The lanes are rebuilt on the map from their node offsets and become fully editable; node encodings are preserved so an unchanged lane re-encodes to the same bytes.

        💾Project

        Push to RSU

        RSUs
        blank = first free (batch: sequential)
        blank = +60 min

        Matching SPaT

        Each distinct signalGroup used by a MAP connection becomes one MovementState in SPaT. A vehicle finds its ingress lane in MAP, follows connectsTo to the signalGroup for the movement it wants, and reads that group's eventState and timing (TimeMark = tenths of a second past the current UTC hour) from SPaT. The intersection id and revision must match between the two messages. See How MAP links to SPaT.

        signalGroupMovement nameeventStateminEndTimemaxEndTime

        Times default to “now + 30 s / + 40 s”. A real SPaT comes from the signal controller at 10 Hz; this one is for testing receivers and RSU configuration.

        Saved projects