在好例子网,分享、交流、成长!
您当前所在位置:首页C/C++ 开发实例C/C++游戏开发 → 高精地图-车道级对象模型-Lanelet实现

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

C/C++游戏开发

下载此实例
  • 开发语言:C/C++
  • 实例大小:13.00M
  • 下载次数:7
  • 浏览次数:320
  • 发布时间:2021-11-30
  • 实例类别:C/C++游戏开发
  • 发 布 人:sunlb
  • 文件格式:.tar
  • 所需积分:2
 相关标签: MAP Lane

实例介绍

【实例简介】高精地图-车道级对象模型-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)

【实例截图】from clipboard
【核心代码】.
└── 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



标签: MAP Lane

实例下载地址

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

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警