moonstarsky37 / pyxodr

Pyxodr - Read opendrive with python parser
MIT License
9 stars 2 forks source link
autonomous-driving cxx opendrive python-parser python3 xodr

Pyxodr - Read opendrive with python/c++ parser

This project is fork from here with some modification for utf-8 based user. Also, test building the python API with python 3.8 (built test with VS2017, VS2019 in Windows 10).

C++ library for Parsing OpenScenario (1.0.0) & OpenDrive format files (1.6) with Python bindings for 3.+

Introduction

This repository provides a library for reading ASAM's OpenStandards OpenScenario & OpenDrive Data files, the parsing conforms to

ASAM OpenDRIVE 1.6 Specification

ASAM OpenScenario 1.0.0 Specification

Image of asam-logo

Inspiration

Getting started

The project is compiled with c++14 enabled compiler, choose your stack accordingly .

Build from Source for C++ and pybind

git clone https://github.com/moonstarsky37/ad-xolib
cd ad-xolib
git submodule update --init --recursive 
# build by cmake, if you not link a alias, the default is "C:\Program Files\CMake\bin\cmake.exe"
# i.e below command can be using as 
# "C:\Program Files\CMake\bin\cmake.exe" . -B build 
cmake . -B build # it will create a folder named "build", if not, created by "mkdir build"
cmake . --target build

Build for python

To now, you will create a folder named build with following code.

Open the "ad-xolib.sln" with VS. And Click the "Local Window Debugger" will create the pybind result python API. That is, after building the src, it will create some folder like this the API file is under the folder named "pybind".

In my case, the builted result under python 3.8 will like following:

If you missing any of *.dll in this folder, just copy

1. ./build/src/xosc/Debug/xosc.dll
2. ./build/src/xodr/Debug/xodr.dll
3. ./build/deps/pugixml/Debug/pugixml.dll

to ./build/pybind folder.

Finally, you can import pyxodr now and read opendrive file

Alternatives