Skip to main content

Read OpenDRIVE files.

Project description

pyxodr-omega-prime

This is a fork from pyxodr created for use in omega-prime

Included there are fixes based on the handle-exceptions branch with modifications for our purposes.

Tests Python 3.7+

Read OpenDRIVE files into a class structure that represents road objects as arrays of (x,y,z) coordinates rather than parameterised functions.

This class structure implements an API which should act as a middle layer between OpenDRIVE files and other applications, used to create road networks from their coordinates.

               

Installation

Install with pip:

pip install pyxodr-omega-prime

Testing

Testing is done on the OpenDRIVE example files. I have not included them in this repository as ASAM requires you enter your details to access them, so I assume they don't want them publically distributed through any means other than their own website. You can access them here.

You can also test on the networks for the OpenSCENARIO example files, obtainable here.

Once you've downloaded these files, create an example_networks subdirectory under tests and place them there.

.
├── docs
├── pyxodr
│   ├── geometries
│   ├── road_objects
│   └── utils
└── tests
    ├── example_networks
       ├── Ex_Lane-Border
          ...
       └── UC_Simple-X-Junction-TrafficLights
    ├── output_plots

and then you should be able to run the (Pytest) tests as normal:

pytest tests

Note: with version 1.7.0 of the OpenDRIVE spec, the Ex_LHT-Complex-X-Junction file throws a connection position ValueError on plotting with this module. I think this is due to a mistake in the file; older versions of this file work without throwing an error, and I believe that the direction of the reference line of road id==3 was reversed without swapping the corresponding contactPoint(s) - e.g. in road id==34, where it is listed as a successor with contactPoint=="start" despite the reference lines now traveling in opposite directions. If I'm incorrect about this and this is an error with the code, please raise an issue.

TODO

Large components of the OpenDRIVE spec are not currently supported, including:

  • Super Elevation / Road Shape (8.4.2 & 8.4.3)
  • Road surfaces (8.5)
  • Road markings (9.6)
  • Junction groups (10.7)
  • Objects (11)
  • Signals (12)
  • Railroads (13)
  • elementDir / elementS for road & junction linking.

Some of these will be supported in the future. Pull requests implementing (or partially implementing) any of these are welcome. Additionally if you find anything else unsupported by this repo which is not covered by the above list (and there will be lots), please raise an issue.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyxodr_omega_prime-0.1.5.tar.gz (32.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyxodr_omega_prime-0.1.5-py3-none-any.whl (37.6 kB view details)

Uploaded Python 3

File details

Details for the file pyxodr_omega_prime-0.1.5.tar.gz.

File metadata

  • Download URL: pyxodr_omega_prime-0.1.5.tar.gz
  • Upload date:
  • Size: 32.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.5

File hashes

Hashes for pyxodr_omega_prime-0.1.5.tar.gz
Algorithm Hash digest
SHA256 67e9745e93e08f0ec007ed1711d36d69b4b22bfdc04a8cdde0f42bb073b7fbb2
MD5 1e397e4a5cb0b72ac4e713b9a1f6be2a
BLAKE2b-256 86e8b89017296f79f0994ba7379918446ca689f19ea0cd60c1044d5efab0d6a0

See more details on using hashes here.

File details

Details for the file pyxodr_omega_prime-0.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for pyxodr_omega_prime-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 b41fecdfa2a9ae91e2fea69d7b63650aebac400c7d3e7dfe6b19135d629e5f55
MD5 0d1467daf0cecf91f50b4615d2888b8e
BLAKE2b-256 2bb2f1ee0e652802245ff403bf860b70f9134daab4a9cd52893dfa6fcc42f211

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page