基本信息
源码名称:高精地图-车道级对象模型-Lanelet实现
源码大小:13.00M
文件格式:.tar
开发语言:C/C++
更新时间:2021-11-30
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

高精地图-车道级对象模型-Lanelet实现


Lanelet2 is a C library for handling map data in the context of automated driving. It is designed to utilize high-definition map data in order to efficiently handle the challenges posed to a vehicle in complex traffic scenarios. Flexibility and extensibility are some of the core principles to handle the upcoming challenges of future maps.

Features:

  • 2D and 3D support
  • Consistent modification: if one point is modified, all owning objects see the change
  • Supports lane changes, routing through areas, etc.
  • Separated routing for pedestrians, vehicles, bikes, etc.
  • Many customization points to add new traffic rules, routing costs, parsers, etc.
  • Simple convenience functions for common tasks when handling maps
  • Accurate Projection between the lat/lon geographic world and local metric coordinates
  • IO Interface for reading and writing e.g. osm data formats (this does not mean it can deal with osm maps)
  • Python bindings for the whole C interface
  • Boost Geometry support for all thinkable kinds of geometry calculations on map primitives
  • Released under the BSD 3-Clause license
  • Support for ROS1, ROS2, Docker and Conan (see instructions below)


.
└── Lanelet2
    ├── CODEOWNERS
    ├── Dockerfile
    ├── LICENSE
    ├── README.md
    ├── conanfile.py
    ├── lanelet2
    │   ├── CHANGELOG.rst
    │   ├── CMakeLists.txt
    │   ├── clang-tidy-fixes.yaml
    │   ├── codeclimate.json
    │   └── package.xml
    ├── lanelet2_core
    │   ├── CHANGELOG.rst
    │   ├── CMakeLists.txt
    │   ├── README.md
    │   ├── doc
    │   │   ├── Architecture.md
    │   │   ├── GeometryPrimer.md
    │   │   ├── Lanelet1Compability.md
    │   │   ├── LaneletAndAreaTagging.md
    │   │   ├── LaneletPrimitives.md
    │   │   ├── LinestringTagging.md
    │   │   ├── RegulatoryElementTagging.md
    │   │   └── images
    │   │       ├── architecture.png
    │   │       ├── area.png
    │   │       ├── lanelet.png
    │   │       ├── lanelet2_example_image.png
    │   │       ├── linestring.png
    │   │       ├── max_hose_problem_small.png
    │   │       └── regulatory_element.png
    │   ├── example
    │   │   └── api_style_example.cpp
    │   ├── include
    │   │   └── lanelet2_core
    │   │       ├── Attribute.h
    │   │       ├── Exceptions.h
    │   │       ├── Forward.h
    │   │       ├── LaneletMap.h
    │   │       ├── geometry
    │   │       │   ├── Area.h
    │   │       │   ├── BoundingBox.h
    │   │       │   ├── GeometryHelper.h
    │   │       │   ├── Lanelet.h
    │   │       │   ├── LaneletMap.h
    │   │       │   ├── LineString.h
    │   │       │   ├── Point.h
    │   │       │   ├── Polygon.h
    │   │       │   ├── RegulatoryElement.h
    │   │       │   └── impl
    │   │       │       ├── Area.h
    │   │       │       ├── Lanelet.h
    │   │       │       ├── LaneletMap.h
    │   │       │       ├── LineString.h
    │   │       │       └── Polygon.h
    │   │       ├── primitives
    │   │       │   ├── Area.h
    │   │       │   ├── BasicRegulatoryElements.h
    │   │       │   ├── BoundingBox.h
    │   │       │   ├── CompoundLineString.h
    │   │       │   ├── CompoundPolygon.h
    │   │       │   ├── GPSPoint.h
    │   │       │   ├── Lanelet.h
    │   │       │   ├── LaneletOrArea.h
    │   │       │   ├── LaneletSequence.h
    │   │       │   ├── LineString.h
    │   │       │   ├── LineStringOrPolygon.h
    │   │       │   ├── Point.h
    │   │       │   ├── Polygon.h
    │   │       │   ├── Primitive.h
    │   │       │   ├── RegulatoryElement.h
    │   │       │   └── Traits.h
    │   │       └── utility
    │   │           ├── CompoundIterator.h
    │   │           ├── HybridMap.h
    │   │           ├── Optional.h
    │   │           ├── ReverseAndForwardIterator.h
    │   │           ├── TransformIterator.h
    │   │           ├── Units.h
    │   │           └── Utilities.h
    │   ├── package.xml
    │   ├── res
    │   │   ├── lanelet_gdb.py
    │   │   └── qtcreator_debugging_helpers.py
    │   ├── src
    │   │   ├── Attribute.cpp
    │   │   ├── BasicRegulatoryElements.cpp
    │   │   ├── Lanelet.cpp
    │   │   ├── LaneletMap.cpp
    │   │   ├── LaneletSequence.cpp
    │   │   ├── LineStringGeometry.cpp
    │   │   ├── PolygonTriangulationGeometry.cpp
    │   │   ├── RegulatoryElement.cpp
    │   │   └── RegulatoryElementGeometry.cpp
    │   └── test
    │       ├── lanelet_map_test_case.h
    │       ├── test_area.cpp
    │       ├── test_attribute.cpp
    │       ├── test_lanelet.cpp
    │       ├── test_lanelet_map.cpp
    │       ├── test_lanelet_map_geometry.cpp
    │       ├── test_lanelet_or_area.cpp
    │       ├── test_lanelet_sequence.cpp
    │       ├── test_linestring.cpp
    │       ├── test_point.cpp
    │       ├── test_polygon.cpp
    │       └── test_regulatory_element.cpp
    ├── lanelet2_examples
    │   ├── CHANGELOG.rst
    │   ├── CMakeLists.txt
    │   ├── README.md
    │   ├── custom.cmake
    │   ├── include
    │   │   └── lanelet2_examples
    │   │       └── internal
    │   │           └── ExampleHelpers.h
    │   ├── package.xml
    │   ├── scripts
    │   │   └── tutorial.py
    │   ├── src
    │   │   ├── 01_dealing_with_lanelet_primitives
    │   │   │   └── main.cpp
    │   │   ├── 02_regulatory_elements
    │   │   │   └── main.cpp
    │   │   ├── 03_lanelet_map
    │   │   │   └── main.cpp
    │   │   ├── 04_reading_and_writing
    │   │   │   └── main.cpp
    │   │   ├── 05_traffic_rules
    │   │   │   └── main.cpp
    │   │   └── 06_routing
    │   │       └── main.cpp
    │   └── test
    │       └── test_examples.py
    ├── lanelet2_io
    │   ├── CHANGELOG.rst
    │   ├── CMakeLists.txt
    │   ├── README.md
    │   ├── include
    │   │   └── lanelet2_io
    │   │       ├── Configuration.h
    │   │       ├── Exceptions.h
    │   │       ├── Io.h
    │   │       ├── Projection.h
    │   │       ├── internal
    │   │       └── io_handlers
    │   │           ├── BinHandler.h
    │   │           ├── Factory.h
    │   │           ├── IoHandler.h
    │   │           ├── OsmFile.h
    │   │           ├── OsmHandler.h
    │   │           ├── Parser.h
    │   │           ├── Serialize.h
    │   │           └── Writer.h
    │   ├── package.xml
    │   ├── src
    │   │   ├── BinHandler.cpp
    │   │   ├── Factory.cpp
    │   │   ├── Io.cpp
    │   │   ├── OsmFile.cpp
    │   │   ├── OsmHandlerLoad.cpp
    │   │   └── OsmHandlerWrite.cpp
    │   └── test
    │       ├── TestBinHandler.cpp
    │       ├── TestLanelet2Io.cpp
    │       ├── TestOsmFile.cpp
    │       ├── TestOsmHandler.cpp
    │       ├── TestSetup.h
    │       └── TestSimpleUsage.cpp
    ├── lanelet2_maps
    │   ├── CHANGELOG.rst
    │   ├── CMakeLists.txt
    │   ├── README.md
    │   ├── include
    │   │   └── lanelet2_maps
    │   │       └── internal
    │   ├── josm
    │   │   ├── laneletpresets.xml
    │   │   ├── lanelets.mapcss
    │   │   ├── lines.mapcss
    │   │   └── style_images.zip
    │   ├── package.xml
    │   └── res
    │       ├── mapping_example-debug.osm
    │       └── mapping_example.osm
    ├── lanelet2_matching
    │   ├── CMakeLists.txt
    │   ├── README.md
    │   ├── custom.cmake
    │   ├── include
    │   │   └── lanelet2_matching
    │   │       ├── Exceptions.h
    │   │       ├── LaneletMatching.h
    │   │       ├── Types.h
    │   │       ├── Utilities.h
    │   │       └── internal
    │   ├── package.xml
    │   ├── src
    │   │   ├── LaneletMatching.cpp
    │   │   └── Utilities.cpp
    │   └── test
    │       ├── lanelet2_matching.cpp
    │       ├── lanelet2_matching_integration.cpp
    │       └── mapping_example.osm
    ├── lanelet2_projection
    │   ├── CHANGELOG.rst
    │   ├── CMakeLists.txt
    │   ├── README.md
    │   ├── doc
    │   │   └── Map_Projections_Coordinate_Systems.md
    │   ├── include
    │   │   └── lanelet2_projection
    │   │       ├── Mercator.h
    │   │       ├── UTM.h
    │   │       └── internal
    │   ├── package.xml
    │   ├── src
    │   │   └── UTM.cpp
    │   └── test
    │       ├── test_Mercator.cpp
    │       └── test_UTM.cpp
    ├── lanelet2_python
    │   ├── CHANGELOG.rst
    │   ├── CMakeLists.txt
    │   ├── README.md
    │   ├── include
    │   │   └── lanelet2_python
    │   │       └── internal
    │   │           └── converter.h
    │   ├── package.xml
    │   ├── python_api
    │   │   ├── core.cpp
    │   │   ├── geometry.cpp
    │   │   ├── io.cpp
    │   │   ├── matching.cpp
    │   │   ├── projection.cpp
    │   │   ├── routing.cpp
    │   │   └── traffic_rules.cpp
    │   ├── scripts
    │   │   ├── create_debug_routing_graph.py
    │   │   ├── make_ids_positive.py
    │   │   └── print_ids.py
    │   └── test
    │       ├── test_lanelet2.py
    │       └── test_lanelet2_matching.py
    ├── lanelet2_routing
    │   ├── CHANGELOG.rst
    │   ├── CMakeLists.txt
    │   ├── README.md
    │   ├── doc
    │   │   ├── images
    │   │   │   ├── components.png
    │   │   │   ├── components.svg
    │   │   │   ├── lanelet_map_route.png
    │   │   │   ├── lanelet_map_route.svg
    │   │   │   ├── lanelet_map_route_oststadtkreisel_small.jpg
    │   │   │   ├── lanelet_map_routing_graph.png
    │   │   │   ├── lanelet_map_routing_graph.svg
    │   │   │   ├── max-hose.png
    │   │   │   ├── max-hose.svg
    │   │   │   ├── shortest_path_and_route.png
    │   │   │   └── shortest_path_and_route.svg
    │   │   └── lanelet2_routing.html
    │   ├── include
    │   │   └── lanelet2_routing
    │   │       ├── Exceptions.h
    │   │       ├── Forward.h
    │   │       ├── LaneletPath.h
    │   │       ├── Route.h
    │   │       ├── RoutingCost.h
    │   │       ├── RoutingGraph.h
    │   │       ├── RoutingGraphContainer.h
    │   │       ├── Types.h
    │   │       └── internal
    │   │           ├── Graph.h
    │   │           ├── GraphUtils.h
    │   │           ├── RouteBuilder.h
    │   │           ├── RoutingGraphBuilder.h
    │   │           ├── RoutingGraphVisualization.h
    │   │           └── ShortestPath.h
    │   ├── package.xml
    │   ├── res
    │   │   └── routing.mapcss
    │   ├── src
    │   │   ├── LaneletPath.cpp
    │   │   ├── Route.cpp
    │   │   ├── RouteBuilder.cpp
    │   │   ├── RoutingCost.cpp
    │   │   ├── RoutingGraph.cpp
    │   │   └── RoutingGraphBuilder.cpp
    │   └── test
    │       ├── LaneletTestMap.xml
    │       ├── test_lanelet_or_area_path.cpp
    │       ├── test_relations.cpp
    │       ├── test_route.cpp
    │       ├── test_routing.cpp
    │       ├── test_routing_graph_container.cpp
    │       ├── test_routing_map.h
    │       └── test_routing_visualization.cpp
    ├── lanelet2_traffic_rules
    │   ├── CHANGELOG.rst
    │   ├── CMakeLists.txt
    │   ├── README.md
    │   ├── include
    │   │   └── lanelet2_traffic_rules
    │   │       ├── Exceptions.h
    │   │       ├── GenericTrafficRules.h
    │   │       ├── GermanTrafficRules.h
    │   │       ├── TrafficRules.h
    │   │       ├── TrafficRulesFactory.h
    │   │       └── internal
    │   ├── package.xml
    │   ├── src
    │   │   ├── GenericTrafficRules.cpp
    │   │   ├── GermanTrafficRules.cpp
    │   │   └── TrafficRulesFactory.cpp
    │   └── test
    │       └── lanelet2_traffic_rules.cpp
    ├── lanelet2_validation
    │   ├── CHANGELOG.rst
    │   ├── CMakeLists.txt
    │   ├── README.md
    │   ├── include
    │   │   └── lanelet2_validation
    │   │       ├── BasicValidator.h
    │   │       ├── Cli.h
    │   │       ├── Issue.h
    │   │       ├── Validation.h
    │   │       ├── ValidatorFactory.h
    │   │       ├── internal
    │   │       └── validators
    │   │           ├── mapping
    │   │           │   ├── BoolTags.h
    │   │           │   ├── CurvatureTooBig.h
    │   │           │   ├── DuplicatedPoints.h
    │   │           │   ├── MandatoryTags.h
    │   │           │   ├── PointsTooClose.h
    │   │           │   ├── UnknownTagValue.h
    │   │           │   └── UnknownTags.h
    │   │           └── routing
    │   │               └── RoutingGraphIsValid.h
    │   ├── package.xml
    │   ├── src
    │   │   ├── BasicValidator.cpp
    │   │   ├── Cli.cpp
    │   │   ├── Validation.cpp
    │   │   ├── ValidatorFactory.cpp
    │   │   └── validators
    │   │       ├── CheckTags.cpp
    │   │       ├── CurvatureTooBig.cpp
    │   │       ├── DuplicatedPoints.cpp
    │   │       ├── PointsTooClose.cpp
    │   │       └── RoutingGraphIsValid.cpp
    │   ├── test
    │   │   └── lanelet2_validation.cpp
    │   └── tools
    │       └── lanelet2_validate
    │           └── main.cpp
    └── rosdoc.yaml

88 directories, 272 files