58 oc.
addDescription(
"output-file",
"Output",
"The generated net will be written to FILE");
61 oc.
addSynonyme(
"plain-output-prefix",
"plain-output");
63 oc.
addDescription(
"plain-output-prefix",
"Output",
"Prefix of files to write plain xml nodes, edges and connections to");
67 "Writes information about joined junctions to FILE (can be loaded as additional node-file to reproduce joins");
70 oc.
addDescription(
"prefix",
"Output",
"Defines a prefix for edge and junction names");
75 oc.
addDescription(
"proj.plain-geo",
"Projection",
"Write geo coordinates in plain-xml");
80 oc.
addDescription(
"amitran-output",
"Output",
"The generated net will be written to FILE using Amitran format");
83 oc.
addDescription(
"matsim-output",
"Output",
"The generated net will be written to FILE using MATsim format");
86 oc.
addDescription(
"opendrive-output",
"Output",
"The generated net will be written to FILE using OpenDRIVE format");
89 oc.
addDescription(
"dlr-navteq-output",
"Output",
"The generated net will be written to dlr-navteq files with the given PREFIX");
92 oc.
addDescription(
"dlr-navteq.precision",
"Output",
"The network coordinates are written with the specified level of output precision");
95 oc.
addDescription(
"output.street-names",
"Output",
"Street names will be included in the output (if available)");
98 oc.
addDescription(
"output.original-names",
"Output",
"Writes original names, if given, as parameter");
101 oc.
addDescription(
"street-sign-output",
"Output",
"Writes street signs as POIs to FILE");
105 oc.
addDescription(
"ptstop-output",
"Output",
"Writes public transport stops to FILE");
107 oc.
addDescription(
"ptline-output",
"Output",
"Writes public transport lines to FILE");
109 oc.
addDescription(
"ptline-clean-up",
"Output",
"Clean-up pt stops that are not served by any line");
112 oc.
addDescription(
"parking-output",
"Output",
"Writes parking areas to FILE");
115 oc.
addDescription(
"railway.topology.output",
"Output",
"Analyse topology of the railway network");
120 oc.
addDescription(
"opendrive-output.straight-threshold",
"Output",
"Builds parameterized curves whenever the angular change between straight segments exceeds FLOAT degrees");
129 if (!oc.
isSet(
"output-file")
130 && !oc.
isSet(
"plain-output-prefix")
131 && !oc.
isSet(
"amitran-output")
132 && !oc.
isSet(
"matsim-output")
133 && !oc.
isSet(
"opendrive-output")
134 && !oc.
isSet(
"dlr-navteq-output")) {
135 std::string net =
"net.net.xml";
136 if (oc.
isSet(
"configuration-file")) {
142 if (oc.
isSet(
"opendrive-output") && oc.
getBool(
"no-internal-links")) {
143 WRITE_ERROR(
"OpenDRIVE export needs internal links computation.");
146 if (oc.
isSet(
"opendrive-output") && oc.
isDefault(
"no-internal-links")) {
147 oc.
set(
"no-internal-links",
"false");
149 if (oc.
isSet(
"opendrive-output") && oc.
isDefault(
"rectangular-lane-cut")) {
150 oc.
set(
"rectangular-lane-cut",
"true");
152 if (oc.
isSet(
"opendrive-output") && !oc.
getBool(
"rectangular-lane-cut")) {
153 WRITE_WARNING(
"OpenDRIVE cannot represent oblique lane cuts and should use option 'rectangular-lane-cut'.");
155 if (oc.
isSet(
"dlr-navteq-output") && oc.
isDefault(
"numerical-ids")) {
156 oc.
set(
"numerical-ids",
"true");
158 if (oc.
isSet(
"dlr-navteq-output") && oc.
isDefault(
"osm.all-attributes")) {
159 oc.
set(
"osm.all-attributes",
"true");
161 if (oc.
exists(
"ptline-output") && oc.
isSet(
"ptline-output") && !oc.
isSet(
"ptstop-output")) {
162 WRITE_ERROR(
"public transport lines output requires 'ptstop-output' to be set");
165 if (oc.
exists(
"ptline-clean-up") && oc.
getBool(
"ptline-clean-up") && !oc.
isSet(
"ptline-output")) {
166 WRITE_WARNING(
"'ptline-clean-up' only works in conjunction with 'ptline-output'. Ignoring invalid option.");
void doRegister(const std::string &name, Option *v)
Adds an option under the given name.
OutputDevice & writeAttr(const SumoXMLAttr attr, const T &val)
writes a named attribute
static bool checkOptions()
Checks set options from the OptionsCont-singleton for being valid.
static std::string getConfigurationRelative(const std::string &configPath, const std::string &path)
Returns the second path as a relative path to the first file.
static void writeNetwork(const OptionsCont &oc, NBNetBuilder &nb)
Writes the network into a Amitran-file.
double z() const
Returns the z-position.
double y() const
Returns the y-position.
double x() const
Returns the x-position.
bool getBool(const std::string &name) const
Returns the boolean-value of the named option (only for Option_Bool)
bool isDefault(const std::string &name) const
Returns the information whether the named option has still the default value.
#define WRITE_WARNING(msg)
static OptionsCont & getOptions()
Retrieves the options.
void addSynonyme(const std::string &name1, const std::string &name2, bool isDeprecated=false)
Adds a synonyme for an options name (any order)
bool isSet(const std::string &name, bool failOnNonExistant=true) const
Returns the information whether the named option is set.
#define PROGRESS_TIME_MESSAGE(before)
static void writeNetwork(const OptionsCont &oc, NBNetBuilder &nb)
Writes the network into a SUMO-file.
static void writeNetwork(const OptionsCont &oc, NBNetBuilder &nb)
Writes the network into a openDRIVE-file.
bool setDefault(const std::string &name, const std::string &value)
Sets the given value for the named option as new default value.
A point in 2D or 3D with translation and scaling methods.
std::string getString(const std::string &name) const
Returns the string-value of the named option (only for Option_String)
bool exists(const std::string &name) const
Returns the information whether the named option is known.
#define PROGRESS_BEGIN_MESSAGE(msg)
static void writeNetwork(const OptionsCont &oc, NBNetBuilder &nb)
Writes the network into XML-files (nodes, edges, connections, traffic lights)
static void writePositionLong(const Position &pos, OutputDevice &dev)
Writes the given position to device in long format (one attribute per dimension)
static void writeNetwork(const OptionsCont &oc, NBNetBuilder &nb)
Writes the network into XML-files (nodes, edges, connections, traffic lights)
static void writeNetwork(const OptionsCont &oc, NBNetBuilder &nb)
Writes the network stored in the given net builder.
bool set(const std::string &name, const std::string &value)
Sets the given value for the named option.
Instance responsible for building networks.
A storage for options typed value containers)
Static storage of an output device and its base (abstract) implementation.
void addDescription(const std::string &name, const std::string &subtopic, const std::string &description)
Adds a description for an option.
static void fillOptions(bool forNetgen)
Inserts options used by the network writer.
static long getCurrentMillis()
Returns the current time in milliseconds.
static const std::string MAJOR_VERSION
The version number for written files.
static void writeNetwork(const OptionsCont &oc, NBNetBuilder &nb)
Writes the network into a MATSim-file.