Class OpenDriveNetworkLaneParser

  • All Implemented Interfaces:
    java.io.Serializable

    public final class OpenDriveNetworkLaneParser
    extends java.lang.Object
    implements java.io.Serializable

    Copyright (c) 2013-2020 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
    BSD-style license. See OpenTrafficSim License.

    $LastChangedDate: 2015-07-24 02:58:59 +0200 (Fri, 24 Jul 2015) $, @version $Revision: 1147 $, by $Author: averbraeck $, initial version Jul 23, 2015

    Author:
    Alexander Verbraeck
    See Also:
    Serialized Form
    • Method Detail

      • build

        public static OTSRoadNetwork build​(java.lang.String filename,
                                           OTSRoadNetwork otsNetwork,
                                           OTSSimulatorInterface simulator)
                                    throws javax.xml.bind.JAXBException,
                                           java.net.URISyntaxException,
                                           NetworkException,
                                           OTSGeometryException,
                                           OpenDriveParserException,
                                           org.xml.sax.SAXException,
                                           javax.xml.parsers.ParserConfigurationException,
                                           SimRuntimeException,
                                           GTUException
        Parse the OpenDRIVE XML file and build the network.
        Parameters:
        filename - String; the name of the file to parse
        otsNetwork - OTSRoadNetwork; the network to insert the parsed objects in
        simulator - OTSSimulatorInterface; the simulator
        Returns:
        the network that contains the parsed objects
        Throws:
        javax.xml.bind.JAXBException - when the parsing fails
        java.net.URISyntaxException - when the filename is not valid
        NetworkException - when the objects cannot be inserted into the network due to inconsistencies
        OTSGeometryException - when the design line of a link is invalid
        OpenDriveParserException - when the stripe type cannot be recognized
        javax.xml.parsers.ParserConfigurationException - on error with parser configuration
        org.xml.sax.SAXException - on error creating SAX parser
        SimRuntimeException - in case of simulation problems building the car generator
        GTUException - when construction of the Strategical Planner failed
      • build

        public static Experiment.TimeDoubleUnit<OTSSimulatorInterface> build​(java.io.InputStream xmlStream,
                                                                             OTSRoadNetwork otsNetwork,
                                                                             OTSSimulatorInterface simulator)
                                                                      throws javax.xml.bind.JAXBException,
                                                                             java.net.URISyntaxException,
                                                                             NetworkException,
                                                                             OTSGeometryException,
                                                                             OpenDriveParserException,
                                                                             org.xml.sax.SAXException,
                                                                             javax.xml.parsers.ParserConfigurationException,
                                                                             SimRuntimeException,
                                                                             GTUException
        Parse the OpenDRIVE XML input stream and build the network.
        Parameters:
        xmlStream - InputStream; the xml input stream
        otsNetwork - OTSRoadNetwork; the network to insert the parsed objects in
        simulator - OTSSimulatorInterface; the simulator
        Returns:
        the experiment based on the information in the RUN tag
        Throws:
        javax.xml.bind.JAXBException - when the parsing fails
        java.net.URISyntaxException - when the filename is not valid
        NetworkException - when the objects cannot be inserted into the network due to inconsistencies
        OTSGeometryException - when the design line of a link is invalid
        OpenDriveParserException - when the stripe type cannot be recognized
        javax.xml.parsers.ParserConfigurationException - on error with parser configuration
        org.xml.sax.SAXException - on error creating SAX parser
        SimRuntimeException - in case of simulation problems building the car generator
        GTUException - when construction of the Strategical Planner failed
      • parseXML

        public static OpenDRIVE parseXML​(java.net.URL xmlURL)
                                  throws javax.xml.bind.JAXBException,
                                         org.xml.sax.SAXException,
                                         javax.xml.parsers.ParserConfigurationException
        Parse an OpenDRIVE XML input stream and build an OTS object.
        Parameters:
        xmlURL - URL; the URL for the xml file or stream
        Returns:
        OpenDRIVE; the constructed OpenDRIVE object
        Throws:
        javax.xml.bind.JAXBException - when the parsing fails
        javax.xml.parsers.ParserConfigurationException - on error with parser configuration
        org.xml.sax.SAXException - on error creating SAX parser
      • parseXML

        public static OpenDRIVE parseXML​(java.io.InputStream xmlStream)
                                  throws javax.xml.bind.JAXBException,
                                         org.xml.sax.SAXException,
                                         javax.xml.parsers.ParserConfigurationException
        Parse an OpenDRIVE XML input stream and build an OTS object.
        Parameters:
        xmlStream - inputStream; the xml stream
        Returns:
        OpenDRIVE; the constructed OpenDRIVE object
        Throws:
        javax.xml.bind.JAXBException - when the parsing fails
        javax.xml.parsers.ParserConfigurationException - on error with parser configuration
        org.xml.sax.SAXException - on error creating SAX parser
      • build

        public static Experiment.TimeDoubleUnit<OTSSimulatorInterface> build​(java.net.URL xmlURL,
                                                                             OTSRoadNetwork otsNetwork,
                                                                             OTSSimulatorInterface simulator)
                                                                      throws javax.xml.bind.JAXBException,
                                                                             java.net.URISyntaxException,
                                                                             NetworkException,
                                                                             OTSGeometryException,
                                                                             OpenDriveParserException,
                                                                             org.xml.sax.SAXException,
                                                                             javax.xml.parsers.ParserConfigurationException,
                                                                             SimRuntimeException,
                                                                             GTUException
        Parse the OpenDRIVE XML file and build the network.
        Parameters:
        xmlURL - URL; the URL for the xml input file
        otsNetwork - OTSRoadNetwork; the network to insert the parsed objects in
        simulator - OTSSimulatorInterface; the simulator
        Returns:
        the experiment based on the information in the RUN tag
        Throws:
        javax.xml.bind.JAXBException - when the parsing fails
        java.net.URISyntaxException - when the filename is not valid
        NetworkException - when the objects cannot be inserted into the network due to inconsistencies
        OTSGeometryException - when the design line of a link is invalid
        OpenDriveParserException - when the stripe type cannot be recognized
        javax.xml.parsers.ParserConfigurationException - on error with parser configuration
        org.xml.sax.SAXException - on error creating SAX parser
        SimRuntimeException - in case of simulation problems building the car generator
        GTUException - when construction of the Strategical Planner failed
      • build

        public static Experiment.TimeDoubleUnit<OTSSimulatorInterface> build​(OpenDRIVE openDrive,
                                                                             OTSRoadNetwork otsNetwork,
                                                                             OTSSimulatorInterface simulator)
                                                                      throws javax.xml.bind.JAXBException,
                                                                             java.net.URISyntaxException,
                                                                             NetworkException,
                                                                             OTSGeometryException,
                                                                             OpenDriveParserException,
                                                                             org.xml.sax.SAXException,
                                                                             javax.xml.parsers.ParserConfigurationException,
                                                                             SimRuntimeException,
                                                                             GTUException
        Build the network from an OpenDRIVE object (probably constructed by parsing an OpenDRIVE XML file; e.g. the parseXML method).
        Parameters:
        openDrive - OpenDRIVE; the OpenDRIVE object
        otsNetwork - OTSRoadNetwork; the network to insert the parsed objects in
        simulator - OTSSimulatorInterface; the simulator
        Returns:
        the experiment based on the information in the RUN tag
        Throws:
        javax.xml.bind.JAXBException - when the parsing fails
        java.net.URISyntaxException - when the filename is not valid
        NetworkException - when the objects cannot be inserted into the network due to inconsistencies
        OTSGeometryException - when the design line of a link is invalid
        OpenDriveParserException - when the stripe type cannot be recognized
        javax.xml.parsers.ParserConfigurationException - on error with parser configuration
        org.xml.sax.SAXException - on error creating SAX parser
        SimRuntimeException - in case of simulation problems building the car generator
        GTUException - when construction of the Strategical Planner failed