CartoType C++ API 7.8.2, 2022-03-25
for Windows, Linux, Qt and other platforms supporting C++ development
Variables
CartoType::TRoadTypeFlag Namespace Reference

Variables

constexpr uint32_t RoutingMask = 0x3E
 
constexpr uint32_t RoadTypeMask = 0xFC0
 
constexpr uint32_t MajorRoadTypeMask = 0xF00
 
constexpr uint32_t LevelMask = 0xF000
 
constexpr uint32_t TunnelFlag = 1
 
constexpr uint32_t BridgeFlag = 0x10000
 
constexpr uint32_t LevelShift = 12
 
constexpr uint32_t RampFlag = 64
 
constexpr uint32_t LinkFlag = RampFlag
 
constexpr uint32_t LowerGradeFlag = 128
 
constexpr uint32_t TollFlag = 2
 
constexpr uint32_t RoundaboutFlag = 4
 
constexpr uint32_t RestrictionFlag = 8
 
constexpr uint32_t DirectionMask = 16 | 32
 
constexpr uint32_t DirectionShift = 4
 
constexpr uint32_t DriveOnRight = 0
 
constexpr uint32_t DriveOnLeft = 48
 
constexpr uint32_t OneWayForward = 16
 
constexpr uint32_t OneWayBackward = 32
 
constexpr uint32_t FirstOverLevel = 0x1000
 
constexpr uint32_t FirstUnderLevel = 0xF000
 
constexpr uint32_t SecondUnderLevel = 0xE000
 
constexpr uint32_t AccessMask = 0xFFFE0000
 
constexpr uint32_t BicycleAccessFlag = 0x20000
 
constexpr uint32_t MotorCycleAccessFlag = 0x40000
 
constexpr uint32_t MotorCarAccessFlag = 0x80000
 
constexpr uint32_t HighOccupancyAccessFlag = 0x100000
 
constexpr uint32_t GoodsAccessFlag = 0x200000
 
constexpr uint32_t HeavyGoodsAccessFlag = 0x400000
 
constexpr uint32_t BusAccessFlag = 0x800000
 
constexpr uint32_t TaxiAccessFlag = 0x1000000
 
constexpr uint32_t PedestrianAccessFlag = 0x2000000
 
constexpr uint32_t AgriculturalAccessFlag = 0x4000000
 
constexpr uint32_t ForestryAccessFlag = 0x8000000
 
constexpr uint32_t EmergencyAccessFlag = 0x10000000
 
constexpr uint32_t OtherAccessFlag = 0x20000000
 
constexpr uint32_t WheelChairAccessFlag = 0x40000000
 
constexpr uint32_t DisabledAccessFlag = 0x80000000
 
constexpr uint32_t VehicleAccessMask = 0xFFFE0000 & ~(PedestrianAccessFlag | WheelChairAccessFlag)
 
constexpr uint32_t MotorVehicleAccessMask = 0xFFFE0000 & ~(PedestrianAccessFlag | BicycleAccessFlag | WheelChairAccessFlag)
 
constexpr uint32_t PublicServiceVehicleRoadAccessMask = BusAccessFlag | TaxiAccessFlag
 

Detailed Description

Masks, flags and shifts used for road types. The level, bridge and tunnel flags are also used in the integer attributes of objects other than roads.

Bit assignments:

bit 0: tunnel; bit 1: toll; bit 2: roundabout; bit 3: restricted turn exists - see the _R string attribute for details; bit 4: one way forward; bit 5: one way backward; bit 6: link; bit 7: lower grade road; bits 8...11: major road type; bits 12...15: level; bit 16: bridge; bits 17...31: road access flags;

Variable Documentation

◆ AccessMask

constexpr uint32_t CartoType::TRoadTypeFlag::AccessMask = 0xFFFE0000
constexpr

Access rules. These flags occupy the bits used for the OSM type in non-road layers, so may be used only where an OSM type is not used. Each flag forbids access to a certain type of vehicle.

◆ AgriculturalAccessFlag

constexpr uint32_t CartoType::TRoadTypeFlag::AgriculturalAccessFlag = 0x4000000
constexpr

Access is forbidden to agricultural vehicles.

◆ BicycleAccessFlag

constexpr uint32_t CartoType::TRoadTypeFlag::BicycleAccessFlag = 0x20000
constexpr

Access is forbidden to bicycles.

◆ BridgeFlag

constexpr uint32_t CartoType::TRoadTypeFlag::BridgeFlag = 0x10000
constexpr

A bit flag to identify bridges.

◆ BusAccessFlag

constexpr uint32_t CartoType::TRoadTypeFlag::BusAccessFlag = 0x800000
constexpr

Access is forbidden to buses.

◆ DirectionMask

constexpr uint32_t CartoType::TRoadTypeFlag::DirectionMask = 16 | 32
constexpr

A bit mask for the road direction and driving side.

◆ DirectionShift

constexpr uint32_t CartoType::TRoadTypeFlag::DirectionShift = 4
constexpr

The number of bits by which the road direction and driving side field is shifted.

◆ DisabledAccessFlag

constexpr uint32_t CartoType::TRoadTypeFlag::DisabledAccessFlag = 0x80000000
constexpr

Access is forbidden to vehicles with disabled persons' permits.

◆ DriveOnLeft

constexpr uint32_t CartoType::TRoadTypeFlag::DriveOnLeft = 48
constexpr

A road direction value indicating two-way traffic, driving on the left.

◆ DriveOnRight

constexpr uint32_t CartoType::TRoadTypeFlag::DriveOnRight = 0
constexpr

A road direction value indicating two-way traffic, driving on the right.

◆ EmergencyAccessFlag

constexpr uint32_t CartoType::TRoadTypeFlag::EmergencyAccessFlag = 0x10000000
constexpr

Access is forbidden to emergency vehicles.

◆ FirstOverLevel

constexpr uint32_t CartoType::TRoadTypeFlag::FirstOverLevel = 0x1000
constexpr

The first raised level: the default level for a bridge or overpass.

◆ FirstUnderLevel

constexpr uint32_t CartoType::TRoadTypeFlag::FirstUnderLevel = 0xF000
constexpr

The first sub-surface level: the default value for an underpass.

◆ ForestryAccessFlag

constexpr uint32_t CartoType::TRoadTypeFlag::ForestryAccessFlag = 0x8000000
constexpr

Access is forbidden to forestry vehicles.

◆ GoodsAccessFlag

constexpr uint32_t CartoType::TRoadTypeFlag::GoodsAccessFlag = 0x200000
constexpr

Access is forbidden to light goods vehicles.

◆ HeavyGoodsAccessFlag

constexpr uint32_t CartoType::TRoadTypeFlag::HeavyGoodsAccessFlag = 0x400000
constexpr

Access is forbidden to heavy goods vehicles.

◆ HighOccupancyAccessFlag

constexpr uint32_t CartoType::TRoadTypeFlag::HighOccupancyAccessFlag = 0x100000
constexpr

Access is forbidden to high-occupancy vehicles.

◆ LevelMask

constexpr uint32_t CartoType::TRoadTypeFlag::LevelMask = 0xF000
constexpr

The level (0 = surface, positive = above surface, negative = below surface) is held as a signed nybble in bits 12...15. Levels above 0 are not necessarily bridges; they can be embankments or other raised structures, and levels below 0 are not necessarily tunnels. There are separate bits to mark bridges and tunnels: BridgeFlag and TunnelFlag.

The level mask is also used for levels in the 'Type' attribute of non-road objects.

◆ LevelShift

constexpr uint32_t CartoType::TRoadTypeFlag::LevelShift = 12
constexpr

The number of bits by which levels are shifted.

◆ LinkFlag

constexpr uint32_t CartoType::TRoadTypeFlag::LinkFlag = RampFlag
constexpr

A synonym for RampFlag.

◆ LowerGradeFlag

constexpr uint32_t CartoType::TRoadTypeFlag::LowerGradeFlag = 128
constexpr

A bit flag to allow a distinction to be made between grades of road, within the major road type. It allows OSM data to distinguish trunk roads from primary roads in a backward-compatible way.

◆ MajorRoadTypeMask

constexpr uint32_t CartoType::TRoadTypeFlag::MajorRoadTypeMask = 0xF00
constexpr

The major road type is held in bits 8...11; bits 7 and 6 are used for finer distinctions.

◆ MotorCarAccessFlag

constexpr uint32_t CartoType::TRoadTypeFlag::MotorCarAccessFlag = 0x80000
constexpr

Access is forbidden to motor cars.

◆ MotorCycleAccessFlag

constexpr uint32_t CartoType::TRoadTypeFlag::MotorCycleAccessFlag = 0x40000
constexpr

Access is forbidden to motorcycles.

◆ MotorVehicleAccessMask

constexpr uint32_t CartoType::TRoadTypeFlag::MotorVehicleAccessMask = 0xFFFE0000 & ~(PedestrianAccessFlag | BicycleAccessFlag | WheelChairAccessFlag)
constexpr

Access is forbidden to motor vehicles.

◆ OneWayBackward

constexpr uint32_t CartoType::TRoadTypeFlag::OneWayBackward = 32
constexpr

A road direction value indicating that the road is one-way in the reverse direction to that in which it is defined.

◆ OneWayForward

constexpr uint32_t CartoType::TRoadTypeFlag::OneWayForward = 16
constexpr

A road direction value indicating that the road is one-way in the direction in which it is defined.

◆ OtherAccessFlag

constexpr uint32_t CartoType::TRoadTypeFlag::OtherAccessFlag = 0x20000000
constexpr

Other access restrictions exist such as weight, length, width, height or for vehicles carrying hazardous materials.

◆ PedestrianAccessFlag

constexpr uint32_t CartoType::TRoadTypeFlag::PedestrianAccessFlag = 0x2000000
constexpr

Access is forbidden to pedestrians.

◆ PublicServiceVehicleRoadAccessMask

constexpr uint32_t CartoType::TRoadTypeFlag::PublicServiceVehicleRoadAccessMask = BusAccessFlag | TaxiAccessFlag
constexpr

Access is forbidden to public service vehicles (buses and taxis).

◆ RampFlag

constexpr uint32_t CartoType::TRoadTypeFlag::RampFlag = 64
constexpr

A bit flag to allow access ramps to be marked as sub-types of a major road type.

◆ RestrictionFlag

constexpr uint32_t CartoType::TRoadTypeFlag::RestrictionFlag = 8
constexpr

A bit flag indicating that the road has one or more restrictions (e.g., right turn only). The details of the restrictions are stored in string attributes.

◆ RoadTypeMask

constexpr uint32_t CartoType::TRoadTypeFlag::RoadTypeMask = 0xFC0
constexpr

The road type is held in bits 6...11.

◆ RoundaboutFlag

constexpr uint32_t CartoType::TRoadTypeFlag::RoundaboutFlag = 4
constexpr

A bit flag indicating that the road is part of a roundabout.

◆ RoutingMask

constexpr uint32_t CartoType::TRoadTypeFlag::RoutingMask = 0x3E
constexpr

The toll, roundabout, restriction and direction flags are held in bits 1...5.

◆ SecondUnderLevel

constexpr uint32_t CartoType::TRoadTypeFlag::SecondUnderLevel = 0xE000
constexpr

The second sub-surface level: the default value for a tunnel.

◆ TaxiAccessFlag

constexpr uint32_t CartoType::TRoadTypeFlag::TaxiAccessFlag = 0x1000000
constexpr

Access is forbidden to taxis.

◆ TollFlag

constexpr uint32_t CartoType::TRoadTypeFlag::TollFlag = 2
constexpr

A toll must be paid to use this road. More details may be available in string attributes.

◆ TunnelFlag

constexpr uint32_t CartoType::TRoadTypeFlag::TunnelFlag = 1
constexpr

A bit flag to identify tunnels.

◆ VehicleAccessMask

constexpr uint32_t CartoType::TRoadTypeFlag::VehicleAccessMask = 0xFFFE0000 & ~(PedestrianAccessFlag | WheelChairAccessFlag)
constexpr

Access is forbidden to all vehicles.

◆ WheelChairAccessFlag

constexpr uint32_t CartoType::TRoadTypeFlag::WheelChairAccessFlag = 0x40000000
constexpr

Access is forbidden to wheelchairs.