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.
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/elementSfor 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.
Metadata
Release files for pyxodr-omega-prime 0.1.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyxodr_omega_prime-0.1.5.tar.gz | 32.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyxodr_omega_prime-0.1.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 69.7 kB
Release files / pyxodr_omega_prime-0.1.5.tar.gz
| Download URL | pyxodr_omega_prime-0.1.5.tar.gz |
|---|---|
| Size | 32.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
67e9745e93e08f0ec007ed1711d36d69b4b22bfdc04a8cdde0f42bb073b7fbb2
|
|
BLAKE2b-256 checksum How to use checksums |
86e8b89017296f79f0994ba7379918446ca689f19ea0cd60c1044d5efab0d6a0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.5
|
Release files / pyxodr_omega_prime-0.1.5-py3-none-any.whl
| Download URL | pyxodr_omega_prime-0.1.5-py3-none-any.whl |
|---|---|
| Size | 37.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b41fecdfa2a9ae91e2fea69d7b63650aebac400c7d3e7dfe6b19135d629e5f55
|
|
BLAKE2b-256 checksum How to use checksums |
2bb2f1ee0e652802245ff403bf860b70f9134daab4a9cd52893dfa6fcc42f211
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.5
|