Apollo
6.0
Open source self driving car software
|
High-precision map loader implement. More...
#include <hdmap_impl.h>
Public Types | |
using | LaneTable = std::unordered_map< std::string, std::shared_ptr< LaneInfo > > |
using | JunctionTable = std::unordered_map< std::string, std::shared_ptr< JunctionInfo > > |
using | SignalTable = std::unordered_map< std::string, std::shared_ptr< SignalInfo > > |
using | CrosswalkTable = std::unordered_map< std::string, std::shared_ptr< CrosswalkInfo > > |
using | StopSignTable = std::unordered_map< std::string, std::shared_ptr< StopSignInfo > > |
using | YieldSignTable = std::unordered_map< std::string, std::shared_ptr< YieldSignInfo > > |
using | ClearAreaTable = std::unordered_map< std::string, std::shared_ptr< ClearAreaInfo > > |
using | SpeedBumpTable = std::unordered_map< std::string, std::shared_ptr< SpeedBumpInfo > > |
using | OverlapTable = std::unordered_map< std::string, std::shared_ptr< OverlapInfo > > |
using | RoadTable = std::unordered_map< std::string, std::shared_ptr< RoadInfo > > |
using | ParkingSpaceTable = std::unordered_map< std::string, std::shared_ptr< ParkingSpaceInfo > > |
using | PNCJunctionTable = std::unordered_map< std::string, std::shared_ptr< PNCJunctionInfo > > |
using | RSUTable = std::unordered_map< std::string, std::shared_ptr< RSUInfo > > |
Public Member Functions | |
int | LoadMapFromFile (const std::string &map_filename) |
load map from local file More... | |
int | LoadMapFromProto (const Map &map_proto) |
load map from a protobuf message More... | |
LaneInfoConstPtr | GetLaneById (const Id &id) const |
JunctionInfoConstPtr | GetJunctionById (const Id &id) const |
SignalInfoConstPtr | GetSignalById (const Id &id) const |
CrosswalkInfoConstPtr | GetCrosswalkById (const Id &id) const |
StopSignInfoConstPtr | GetStopSignById (const Id &id) const |
YieldSignInfoConstPtr | GetYieldSignById (const Id &id) const |
ClearAreaInfoConstPtr | GetClearAreaById (const Id &id) const |
SpeedBumpInfoConstPtr | GetSpeedBumpById (const Id &id) const |
OverlapInfoConstPtr | GetOverlapById (const Id &id) const |
RoadInfoConstPtr | GetRoadById (const Id &id) const |
ParkingSpaceInfoConstPtr | GetParkingSpaceById (const Id &id) const |
PNCJunctionInfoConstPtr | GetPNCJunctionById (const Id &id) const |
RSUInfoConstPtr | GetRSUById (const Id &id) const |
int | GetLanes (const apollo::common::PointENU &point, double distance, std::vector< LaneInfoConstPtr > *lanes) const |
get all lanes in certain range More... | |
int | GetJunctions (const apollo::common::PointENU &point, double distance, std::vector< JunctionInfoConstPtr > *junctions) const |
get all junctions in certain range More... | |
int | GetCrosswalks (const apollo::common::PointENU &point, double distance, std::vector< CrosswalkInfoConstPtr > *crosswalks) const |
get all crosswalks in certain range More... | |
int | GetSignals (const apollo::common::PointENU &point, double distance, std::vector< SignalInfoConstPtr > *signals) const |
get all signals in certain range More... | |
int | GetStopSigns (const apollo::common::PointENU &point, double distance, std::vector< StopSignInfoConstPtr > *stop_signs) const |
get all stop signs in certain range More... | |
int | GetYieldSigns (const apollo::common::PointENU &point, double distance, std::vector< YieldSignInfoConstPtr > *yield_signs) const |
get all yield signs in certain range More... | |
int | GetClearAreas (const apollo::common::PointENU &point, double distance, std::vector< ClearAreaInfoConstPtr > *clear_areas) const |
get all clear areas in certain range More... | |
int | GetSpeedBumps (const apollo::common::PointENU &point, double distance, std::vector< SpeedBumpInfoConstPtr > *speed_bumps) const |
get all speed bumps in certain range More... | |
int | GetRoads (const apollo::common::PointENU &point, double distance, std::vector< RoadInfoConstPtr > *roads) const |
get all roads in certain range More... | |
int | GetParkingSpaces (const apollo::common::PointENU &point, double distance, std::vector< ParkingSpaceInfoConstPtr > *parking_spaces) const |
get all parking space in certain range More... | |
int | GetPNCJunctions (const apollo::common::PointENU &point, double distance, std::vector< PNCJunctionInfoConstPtr > *pnc_junctions) const |
get all pnc junctions in certain range More... | |
int | GetNearestLane (const apollo::common::PointENU &point, LaneInfoConstPtr *nearest_lane, double *nearest_s, double *nearest_l) const |
get nearest lane from target point, More... | |
int | GetNearestLaneWithHeading (const apollo::common::PointENU &point, const double distance, const double central_heading, const double max_heading_difference, LaneInfoConstPtr *nearest_lane, double *nearest_s, double *nearest_l) const |
get the nearest lane within a certain range by pose More... | |
int | GetLanesWithHeading (const apollo::common::PointENU &point, const double distance, const double central_heading, const double max_heading_difference, std::vector< LaneInfoConstPtr > *lanes) const |
get all lanes within a certain range by pose More... | |
int | GetRoadBoundaries (const apollo::common::PointENU &point, double radius, std::vector< RoadROIBoundaryPtr > *road_boundaries, std::vector< JunctionBoundaryPtr > *junctions) const |
get all road and junctions boundaries within certain range More... | |
int | GetRoadBoundaries (const apollo::common::PointENU &point, double radius, std::vector< RoadRoiPtr > *road_boundaries, std::vector< JunctionInfoConstPtr > *junctions) const |
get all road boundaries and junctions within certain range More... | |
int | GetRoi (const apollo::common::PointENU &point, double radius, std::vector< RoadRoiPtr > *roads_roi, std::vector< PolygonRoiPtr > *polygons_roi) |
get ROI within certain range More... | |
int | GetForwardNearestSignalsOnLane (const apollo::common::PointENU &point, const double distance, std::vector< SignalInfoConstPtr > *signals) const |
get forward nearest signals within certain range on the lane if there are two signals related to one stop line, return both signals. More... | |
int | GetStopSignAssociatedStopSigns (const Id &id, std::vector< StopSignInfoConstPtr > *stop_signs) const |
get all other stop signs associated with a stop sign in the same junction More... | |
int | GetStopSignAssociatedLanes (const Id &id, std::vector< LaneInfoConstPtr > *lanes) const |
get all lanes associated with a stop sign in the same junction More... | |
int | GetLocalMap (const apollo::common::PointENU &point, const std::pair< double, double > &range, Map *local_map) const |
get a local map which is identical to the origin map except that all map elements without overlap with the given region are deleted. More... | |
int | GetForwardNearestRSUs (const apollo::common::PointENU &point, double distance, double central_heading, double max_heading_difference, std::vector< RSUInfoConstPtr > *rsus) const |
get forward nearest rsus within certain range More... | |
High-precision map loader implement.
using apollo::hdmap::HDMapImpl::ClearAreaTable = std::unordered_map<std::string, std::shared_ptr<ClearAreaInfo> > |
using apollo::hdmap::HDMapImpl::CrosswalkTable = std::unordered_map<std::string, std::shared_ptr<CrosswalkInfo> > |
using apollo::hdmap::HDMapImpl::JunctionTable = std::unordered_map<std::string, std::shared_ptr<JunctionInfo> > |
using apollo::hdmap::HDMapImpl::LaneTable = std::unordered_map<std::string, std::shared_ptr<LaneInfo> > |
using apollo::hdmap::HDMapImpl::OverlapTable = std::unordered_map<std::string, std::shared_ptr<OverlapInfo> > |
using apollo::hdmap::HDMapImpl::ParkingSpaceTable = std::unordered_map<std::string, std::shared_ptr<ParkingSpaceInfo> > |
using apollo::hdmap::HDMapImpl::PNCJunctionTable = std::unordered_map<std::string, std::shared_ptr<PNCJunctionInfo> > |
using apollo::hdmap::HDMapImpl::RoadTable = std::unordered_map<std::string, std::shared_ptr<RoadInfo> > |
using apollo::hdmap::HDMapImpl::RSUTable = std::unordered_map<std::string, std::shared_ptr<RSUInfo> > |
using apollo::hdmap::HDMapImpl::SignalTable = std::unordered_map<std::string, std::shared_ptr<SignalInfo> > |
using apollo::hdmap::HDMapImpl::SpeedBumpTable = std::unordered_map<std::string, std::shared_ptr<SpeedBumpInfo> > |
using apollo::hdmap::HDMapImpl::StopSignTable = std::unordered_map<std::string, std::shared_ptr<StopSignInfo> > |
using apollo::hdmap::HDMapImpl::YieldSignTable = std::unordered_map<std::string, std::shared_ptr<YieldSignInfo> > |
ClearAreaInfoConstPtr apollo::hdmap::HDMapImpl::GetClearAreaById | ( | const Id & | id | ) | const |
int apollo::hdmap::HDMapImpl::GetClearAreas | ( | const apollo::common::PointENU & | point, |
double | distance, | ||
std::vector< ClearAreaInfoConstPtr > * | clear_areas | ||
) | const |
get all clear areas in certain range
point | the central point of the range |
distance | the search radius |
clear_areas | store all clear areas in target range |
CrosswalkInfoConstPtr apollo::hdmap::HDMapImpl::GetCrosswalkById | ( | const Id & | id | ) | const |
int apollo::hdmap::HDMapImpl::GetCrosswalks | ( | const apollo::common::PointENU & | point, |
double | distance, | ||
std::vector< CrosswalkInfoConstPtr > * | crosswalks | ||
) | const |
get all crosswalks in certain range
point | the central point of the range |
distance | the search radius |
crosswalks | store all crosswalks in target range |
int apollo::hdmap::HDMapImpl::GetForwardNearestRSUs | ( | const apollo::common::PointENU & | point, |
double | distance, | ||
double | central_heading, | ||
double | max_heading_difference, | ||
std::vector< RSUInfoConstPtr > * | rsus | ||
) | const |
get forward nearest rsus within certain range
point | the target position |
distance | the forward search distance |
central_heading | the base heading |
max_heading_difference | the heading range |
rsus | all rsus that match search conditions |
int apollo::hdmap::HDMapImpl::GetForwardNearestSignalsOnLane | ( | const apollo::common::PointENU & | point, |
const double | distance, | ||
std::vector< SignalInfoConstPtr > * | signals | ||
) | const |
get forward nearest signals within certain range on the lane if there are two signals related to one stop line, return both signals.
point | the target position |
distance | the forward search distance |
signals | all signals match conditions |
JunctionInfoConstPtr apollo::hdmap::HDMapImpl::GetJunctionById | ( | const Id & | id | ) | const |
int apollo::hdmap::HDMapImpl::GetJunctions | ( | const apollo::common::PointENU & | point, |
double | distance, | ||
std::vector< JunctionInfoConstPtr > * | junctions | ||
) | const |
get all junctions in certain range
point | the central point of the range |
distance | the search radius |
junctions | store all junctions in target range |
LaneInfoConstPtr apollo::hdmap::HDMapImpl::GetLaneById | ( | const Id & | id | ) | const |
int apollo::hdmap::HDMapImpl::GetLanes | ( | const apollo::common::PointENU & | point, |
double | distance, | ||
std::vector< LaneInfoConstPtr > * | lanes | ||
) | const |
get all lanes in certain range
point | the central point of the range |
distance | the search radius |
lanes | store all lanes in target range |
int apollo::hdmap::HDMapImpl::GetLanesWithHeading | ( | const apollo::common::PointENU & | point, |
const double | distance, | ||
const double | central_heading, | ||
const double | max_heading_difference, | ||
std::vector< LaneInfoConstPtr > * | lanes | ||
) | const |
get all lanes within a certain range by pose
point | the target position |
distance | the search radius |
central_heading | the base heading |
max_heading_difference | the heading range |
nearest_lane | all lanes that match search conditions |
int apollo::hdmap::HDMapImpl::GetLocalMap | ( | const apollo::common::PointENU & | point, |
const std::pair< double, double > & | range, | ||
Map * | local_map | ||
) | const |
get a local map which is identical to the origin map except that all map elements without overlap with the given region are deleted.
point | the target position |
range | the size of local map region, [width, height] |
local_map | local map in proto format |
int apollo::hdmap::HDMapImpl::GetNearestLane | ( | const apollo::common::PointENU & | point, |
LaneInfoConstPtr * | nearest_lane, | ||
double * | nearest_s, | ||
double * | nearest_l | ||
) | const |
get nearest lane from target point,
point | the target point |
nearest_lane | the nearest lane that match search conditions |
nearest_s | the offset from lane start point along lane center line |
nearest_l | the lateral offset from lane center line |
int apollo::hdmap::HDMapImpl::GetNearestLaneWithHeading | ( | const apollo::common::PointENU & | point, |
const double | distance, | ||
const double | central_heading, | ||
const double | max_heading_difference, | ||
LaneInfoConstPtr * | nearest_lane, | ||
double * | nearest_s, | ||
double * | nearest_l | ||
) | const |
get the nearest lane within a certain range by pose
point | the target position |
distance | the search radius |
central_heading | the base heading |
max_heading_difference | the heading range |
nearest_lane | the nearest lane that match search conditions |
nearest_s | the offset from lane start point along lane center line |
nearest_l | the lateral offset from lane center line |
OverlapInfoConstPtr apollo::hdmap::HDMapImpl::GetOverlapById | ( | const Id & | id | ) | const |
ParkingSpaceInfoConstPtr apollo::hdmap::HDMapImpl::GetParkingSpaceById | ( | const Id & | id | ) | const |
int apollo::hdmap::HDMapImpl::GetParkingSpaces | ( | const apollo::common::PointENU & | point, |
double | distance, | ||
std::vector< ParkingSpaceInfoConstPtr > * | parking_spaces | ||
) | const |
get all parking space in certain range
point | the central point of the range |
distance | the search radius |
parking_spaces | store all parking spaces in target range |
PNCJunctionInfoConstPtr apollo::hdmap::HDMapImpl::GetPNCJunctionById | ( | const Id & | id | ) | const |
int apollo::hdmap::HDMapImpl::GetPNCJunctions | ( | const apollo::common::PointENU & | point, |
double | distance, | ||
std::vector< PNCJunctionInfoConstPtr > * | pnc_junctions | ||
) | const |
get all pnc junctions in certain range
point | the central point of the range |
distance | the search radius |
junctions | store all junctions in target range |
int apollo::hdmap::HDMapImpl::GetRoadBoundaries | ( | const apollo::common::PointENU & | point, |
double | radius, | ||
std::vector< RoadROIBoundaryPtr > * | road_boundaries, | ||
std::vector< JunctionBoundaryPtr > * | junctions | ||
) | const |
get all road and junctions boundaries within certain range
point | the target position |
radius | the search radius |
road_boundaries | the roads' boundaries |
junctions | the junctions' boundaries |
int apollo::hdmap::HDMapImpl::GetRoadBoundaries | ( | const apollo::common::PointENU & | point, |
double | radius, | ||
std::vector< RoadRoiPtr > * | road_boundaries, | ||
std::vector< JunctionInfoConstPtr > * | junctions | ||
) | const |
get all road boundaries and junctions within certain range
point | the target position |
radius | the search radius |
road_boundaries | the roads' boundaries |
junctions | the junctions |
RoadInfoConstPtr apollo::hdmap::HDMapImpl::GetRoadById | ( | const Id & | id | ) | const |
int apollo::hdmap::HDMapImpl::GetRoads | ( | const apollo::common::PointENU & | point, |
double | distance, | ||
std::vector< RoadInfoConstPtr > * | roads | ||
) | const |
get all roads in certain range
point | the central point of the range |
distance | the search radius |
roads | store all roads in target range |
int apollo::hdmap::HDMapImpl::GetRoi | ( | const apollo::common::PointENU & | point, |
double | radius, | ||
std::vector< RoadRoiPtr > * | roads_roi, | ||
std::vector< PolygonRoiPtr > * | polygons_roi | ||
) |
get ROI within certain range
point | the target position |
radius | the search radius |
roads_roi | the roads' boundaries |
polygons_roi | the junctions' boundaries |
RSUInfoConstPtr apollo::hdmap::HDMapImpl::GetRSUById | ( | const Id & | id | ) | const |
SignalInfoConstPtr apollo::hdmap::HDMapImpl::GetSignalById | ( | const Id & | id | ) | const |
int apollo::hdmap::HDMapImpl::GetSignals | ( | const apollo::common::PointENU & | point, |
double | distance, | ||
std::vector< SignalInfoConstPtr > * | signals | ||
) | const |
get all signals in certain range
point | the central point of the range |
distance | the search radius |
signals | store all signals in target range |
SpeedBumpInfoConstPtr apollo::hdmap::HDMapImpl::GetSpeedBumpById | ( | const Id & | id | ) | const |
int apollo::hdmap::HDMapImpl::GetSpeedBumps | ( | const apollo::common::PointENU & | point, |
double | distance, | ||
std::vector< SpeedBumpInfoConstPtr > * | speed_bumps | ||
) | const |
get all speed bumps in certain range
point | the central point of the range |
distance | the search radius |
speed_bumps | store all speed bumps in target range |
int apollo::hdmap::HDMapImpl::GetStopSignAssociatedLanes | ( | const Id & | id, |
std::vector< LaneInfoConstPtr > * | lanes | ||
) | const |
get all lanes associated with a stop sign in the same junction
id | id of stop sign |
lanes | all lanes match conditions |
int apollo::hdmap::HDMapImpl::GetStopSignAssociatedStopSigns | ( | const Id & | id, |
std::vector< StopSignInfoConstPtr > * | stop_signs | ||
) | const |
get all other stop signs associated with a stop sign in the same junction
id | id of stop sign |
stop_signs | stop signs associated |
StopSignInfoConstPtr apollo::hdmap::HDMapImpl::GetStopSignById | ( | const Id & | id | ) | const |
int apollo::hdmap::HDMapImpl::GetStopSigns | ( | const apollo::common::PointENU & | point, |
double | distance, | ||
std::vector< StopSignInfoConstPtr > * | stop_signs | ||
) | const |
get all stop signs in certain range
point | the central point of the range |
distance | the search radius |
stop | signs store all stop signs in target range |
YieldSignInfoConstPtr apollo::hdmap::HDMapImpl::GetYieldSignById | ( | const Id & | id | ) | const |
int apollo::hdmap::HDMapImpl::GetYieldSigns | ( | const apollo::common::PointENU & | point, |
double | distance, | ||
std::vector< YieldSignInfoConstPtr > * | yield_signs | ||
) | const |
get all yield signs in certain range
point | the central point of the range |
distance | the search radius |
yield | signs store all yield signs in target range |
int apollo::hdmap::HDMapImpl::LoadMapFromFile | ( | const std::string & | map_filename | ) |
load map from local file
map_filename | path of map data file |
int apollo::hdmap::HDMapImpl::LoadMapFromProto | ( | const Map & | map_proto | ) |
load map from a protobuf message
map_proto | map data in protobuf format |