{ "info": { "author": "Technical University of Munich", "author_email": "commonroad-i06@in.tum.de", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: MacOS", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Operating System :: Unix", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# OpenDRIVE 2 Lanelet - Converter\n\nWe provide the code for an OpenDRIVE ([www.opendrive.org](http://www.opendrive.org)) to lanelets ([www.mrt.kit.edu/software/liblanelet](https://www.mrt.kit.edu/software/libLanelet/libLanelet.html)) converter, which has been introduced in our [paper](https://mediatum.ub.tum.de/doc/1449005/1449005.pdf): M. Althoff, S. Urban, and M. Koschi, \"Automatic Conversion of Road Networks from OpenDRIVE to Lanelets,\" in Proc. of the IEEE International Conference on Service Operations and Logistics, and Informatics, 2018.\n\n[![Documentation Status](https://readthedocs.org/projects/opendrive2lanelet/badge/?version=latest)](https://opendrive2lanelet.readthedocs.io/en/latest/?badge=latest)\n[![PyPI version](https://badge.fury.io/py/opendrive2lanelet.svg)](https://badge.fury.io/py/opendrive2lanelet)\n[![Supported python versions](https://img.shields.io/pypi/pyversions/opendrive2lanelet.svg)](https://pypi.org/project/opendrive2lanelet/)\n[![License](https://img.shields.io/pypi/l/opendrive2lanelet.svg)](https://www.gnu.org/licenses/gpl-3.0.de.html)\n\n## Installation\n\n### Installing from source\n\n```bash\ngit clone https://gitlab.lrz.de/tum-cps/opendrive2lanelet.git\ncd opendrive2lanelet\npython setup.py install\n```\n\n### Using pip:\n\n```bash\npip install opendrive2lanelet\n```\n\nOptionally, for using the gui packages:\n\n```bash\npip install opendrive2lanelet[GUI]\n```\n\n## Example OpenDRIVE Files\n\nDownload example files from: http://opendrive.org/download.html\n\n## Usage\n\n### Using our provided GUI\n\nStart the GUI with ```opendrive2lanelet-gui```\n\n![GUI screenshot](gui_screenshot.png \"Screenshot of converter GUI\")\n\n### Converting a file with the command line\n\nExecute ```opendrive2lanelet-convert input_file.xodr -o output_file.xml```\n\nIf you want to visualize the Commonroad file, use the ```opendrive2lanelet-visualize``` command.\n\n### Using the library in your own scripts\n\n```python\nfrom lxml import etree\nfrom opendrive2lanelet.opendriveparser.parser import parse_opendrive\nfrom opendrive2lanelet.network import Network\nfrom from commonroad.common.file_writer import CommonRoadFileWriter\n\n# Import, parse and convert OpenDRIVE file\nwith open(\"{}/opendrive-1.xodr\".format(os.path.dirname(os.path.realpath(__file__))), \"r\") as fi:\n\topen_drive = parse_opendrive(etree.parse(fi).getroot())\n\nroad_network = Network()\nroad_network.load_opendrive(open_drive)\n\nscenario = road_network.export_commonroad_scenario()\n# Write CommonRoad scenario to file\nfrom commonroad.common.file_writer import CommonRoadFileWriter\ncommonroad_writer = CommonRoadFileWriter(\n scenario=scenario,\n planning_problem_set=None,\n author=\"\",\n affiliation=\"\",\n source=\"OpenDRIVE 2 Lanelet Converter\",\n tags=\"\",\n )\nwith open(\"{}/opendrive-1.xml\".format(os.path.dirname(os.path.realpath(__file__))), \"w\") as fh:\n\tcommonroad_writer.write_scenario_to_file_io(file_io=fh)\n```\n\n### Just parsing the OpenDrive .xodr file\n```python\nfrom lxml import etree\nfrom opendrive2lanelet.opendriveparser.parser import parse_opendrive\n\nwith open(\"input_opendrive.xodr\", 'r') as fh:\n\topen_drive = parse_opendrive(etree.parse(fh).getroot())\n\n# Now do stuff with the data\nfor road in open_drive.roads:\n\tprint(\"Road ID: {}\".format(road.id))\n```\n\n## Documentation\n\nThe documentation is published on [Read the Docs](https://opendrive2lanelet.readthedocs.io/en/latest/).\n\n\nTo generate the documentation from source, first install the necessary dependencies with pip:\n```bash\npip install -r docs_requirements.txt\n```\n\nThen you can run\n```bash\ncd docs && make html\n```\nfor example.\n\n\n\n## Known Problems\n\n- When trying to use the gui.py under Wayland, the following error occurs:\n ```\n This application failed to start because it could not find or load the Qt platform plugin \"wayland\" in \"\".\n Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.\n Reinstalling the application may fix this problem.\n ```\n Set the platform to *xcb* using this command: ```export QT_QPA_PLATFORM=\"xcb\"```\n\n## Authors\n\nBenjamin Orthen (current maintainer) \nStefan Urban\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://commonroad.in.tum.de/", "keywords": "", "license": "GNU General Public License v3.0", "maintainer": "", "maintainer_email": "", "name": "opendrive2lanelet", "package_url": "https://pypi.org/project/opendrive2lanelet/", "platform": "", "project_url": "https://pypi.org/project/opendrive2lanelet/", "project_urls": { "Homepage": "https://commonroad.in.tum.de/" }, "release_url": "https://pypi.org/project/opendrive2lanelet/1.1.0/", "requires_dist": [ "numpy (>=1.16.4)", "lxml (>=4.3.4)", "commonroad-io (>=2019.1)", "pyproj (>=2.2.0)", "scipy (>=1.3.0)", "PyQt5 (>=5.12.2) ; extra == 'gui'", "matplotlib (>=3.1.0) ; extra == 'gui'" ], "requires_python": ">=3.6", "summary": "Parser and converter from OpenDRIVE to lanelets", "version": "1.1.0" }, "last_serial": 5391612, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "0a35175cd05c8873c511678730afbbb2", "sha256": "148b372f855018bbbb8b0689d37c6ae903701c9c320e2aa75d21b4f869795de9" }, "downloads": -1, "filename": "opendrive2lanelet-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "0a35175cd05c8873c511678730afbbb2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 74466, "upload_time": "2019-01-28T22:47:18", "url": "https://files.pythonhosted.org/packages/cc/60/c6d24d9a246a2c9a683ec3ac2ddc39597b863660218fe1928c29e4913533/opendrive2lanelet-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "99b3c9343e8c5d7dc35ef4b1863b2238", "sha256": "9acd33df774812379e76bde8cac558f425d7b66cb227f0f72ea9aaa863e91eb9" }, "downloads": -1, "filename": "opendrive2lanelet-1.0.0.tar.gz", "has_sig": false, "md5_digest": "99b3c9343e8c5d7dc35ef4b1863b2238", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 45746, "upload_time": "2019-01-28T22:47:22", "url": "https://files.pythonhosted.org/packages/b5/6a/3be7d60445ef5719478a9b771ef88c6c2eba29803027865099a15d1d5ebf/opendrive2lanelet-1.0.0.tar.gz" }, { "comment_text": "", "digests": { "md5": "0346a4507fc6dd2d7e3cf75655938818", "sha256": "5bd02b1cd3a06cb165c066a316fba59338da8e0548668cf1997cb4917fd02755" }, "downloads": -1, "filename": "opendrive2lanelet-1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "0346a4507fc6dd2d7e3cf75655938818", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 70991, "upload_time": "2019-01-28T22:47:21", "url": "https://files.pythonhosted.org/packages/2b/45/55fd69735d051c0c98a1a9f71472ad64fb26f5bb05d6c0bb8a3a39f5ffb5/opendrive2lanelet-1.0-py3-none-any.whl" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "f91217dcff15055d7a52d9d38e73ab77", "sha256": "87688446a7ad23f13c3f6b629de6803ec683ca4720fddd78f1d4f1258c4c71ae" }, "downloads": -1, "filename": "opendrive2lanelet-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f91217dcff15055d7a52d9d38e73ab77", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 73562, "upload_time": "2019-03-13T20:42:34", "url": "https://files.pythonhosted.org/packages/bc/23/f82bac9780fb63ac7cb2eb27a6de4fd2edfbe8dbe28fd84795e521a3cc8b/opendrive2lanelet-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f0fc69999bb8d207d774473d3f957556", "sha256": "ecbc691d85f709d9e7d5d57817ceb07c6b1af4fdc5accc4b0c301582b19a2bb5" }, "downloads": -1, "filename": "opendrive2lanelet-1.0.1.tar.gz", "has_sig": false, "md5_digest": "f0fc69999bb8d207d774473d3f957556", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 45676, "upload_time": "2019-03-13T20:42:36", "url": "https://files.pythonhosted.org/packages/d9/e9/efd70d90724caeda1ca6f32c3f057b0ba54f11e246151241ce5441dd7fe2/opendrive2lanelet-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "b98134fcb5be120e905ccd9e75b5ed9b", "sha256": "0ba620df84fef86f8183ad8c36be9086825e7bf2e54e572a2551ad843f996fbb" }, "downloads": -1, "filename": "opendrive2lanelet-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "b98134fcb5be120e905ccd9e75b5ed9b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 73819, "upload_time": "2019-05-07T14:55:50", "url": "https://files.pythonhosted.org/packages/80/0c/b12441893bc51cd2865c82c5073d2ecdc3dd2a1fc7afb197a368599f714c/opendrive2lanelet-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fd8fae67bd2160dc2a936608983a7c7b", "sha256": "b68d1b4288e3961d3b8803950db0aff27c772562c683dbaa289033519db4561d" }, "downloads": -1, "filename": "opendrive2lanelet-1.0.2.tar.gz", "has_sig": false, "md5_digest": "fd8fae67bd2160dc2a936608983a7c7b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 45947, "upload_time": "2019-05-07T14:55:52", "url": "https://files.pythonhosted.org/packages/85/01/082a1ec9c66531f8308be880add5380908e51856342ccbe581086a66ac82/opendrive2lanelet-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "8ce35e0c71da07492a07df3b531098c0", "sha256": "dbd8858c721d4759712ae2b3c83509a0f11e73a35191019445b4252975547251" }, "downloads": -1, "filename": "opendrive2lanelet-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "8ce35e0c71da07492a07df3b531098c0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 80137, "upload_time": "2019-05-28T11:25:46", "url": "https://files.pythonhosted.org/packages/1a/7e/003511743994a4c7d3842410fb38b536f56908123a2ca50d44939dead82a/opendrive2lanelet-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fdc2b9202edc5167cab218c72cb9dfa8", "sha256": "dd9a27dafbb4b0c28ca1b63169980513919753af8e0f7b2f1b8b29f72ecb8597" }, "downloads": -1, "filename": "opendrive2lanelet-1.0.3.tar.gz", "has_sig": false, "md5_digest": "fdc2b9202edc5167cab218c72cb9dfa8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 49777, "upload_time": "2019-05-28T11:25:48", "url": "https://files.pythonhosted.org/packages/1a/11/d7c334e619a5a7bd1628a5e60808809f02ce21f2fda10f2cbbc3a055f2ff/opendrive2lanelet-1.0.3.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "17a4d79a9bd39364d37a91cf4e4ebb69", "sha256": "2758e65f9469b24ab16b86fc2a629325bac13979dcf6c85d667d938cdd57b6fb" }, "downloads": -1, "filename": "opendrive2lanelet-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "17a4d79a9bd39364d37a91cf4e4ebb69", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 85740, "upload_time": "2019-06-12T15:04:45", "url": "https://files.pythonhosted.org/packages/1f/6e/c711dfdf2d39d11d791823b3a2f22d6966ecaf0ccfb131aace66fc8b8a14/opendrive2lanelet-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8a893b5b7f090a045d3331bc75428b7a", "sha256": "1cf26641a822833acedd1ea82a1be183237c468c5849ebab7fb5be9e4d4f2cb5" }, "downloads": -1, "filename": "opendrive2lanelet-1.1.0.tar.gz", "has_sig": false, "md5_digest": "8a893b5b7f090a045d3331bc75428b7a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 54490, "upload_time": "2019-06-12T15:04:46", "url": "https://files.pythonhosted.org/packages/49/15/d55581f60927f85f124dba20269df87364eac303f49d80df8dac10b5ce2f/opendrive2lanelet-1.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "17a4d79a9bd39364d37a91cf4e4ebb69", "sha256": "2758e65f9469b24ab16b86fc2a629325bac13979dcf6c85d667d938cdd57b6fb" }, "downloads": -1, "filename": "opendrive2lanelet-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "17a4d79a9bd39364d37a91cf4e4ebb69", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 85740, "upload_time": "2019-06-12T15:04:45", "url": "https://files.pythonhosted.org/packages/1f/6e/c711dfdf2d39d11d791823b3a2f22d6966ecaf0ccfb131aace66fc8b8a14/opendrive2lanelet-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8a893b5b7f090a045d3331bc75428b7a", "sha256": "1cf26641a822833acedd1ea82a1be183237c468c5849ebab7fb5be9e4d4f2cb5" }, "downloads": -1, "filename": "opendrive2lanelet-1.1.0.tar.gz", "has_sig": false, "md5_digest": "8a893b5b7f090a045d3331bc75428b7a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 54490, "upload_time": "2019-06-12T15:04:46", "url": "https://files.pythonhosted.org/packages/49/15/d55581f60927f85f124dba20269df87364eac303f49d80df8dac10b5ce2f/opendrive2lanelet-1.1.0.tar.gz" } ] }