64 oc.
addDescription(
"output-file",
"Output",
"The generated net will be written to FILE");
67 oc.
addSynonyme(
"plain-output-prefix",
"plain-output");
69 oc.
addDescription(
"plain-output-prefix",
"Output",
"Prefix of files to write plain xml nodes, edges and connections to");
73 "Writes information about joined junctions to FILE (can be loaded as additional node-file to reproduce joins");
78 oc.
addDescription(
"proj.plain-geo",
"Projection",
"Write geo coordinates in plain-xml");
83 oc.
addDescription(
"amitran-output",
"Output",
"The generated net will be written to FILE using Amitran format");
86 oc.
addDescription(
"matsim-output",
"Output",
"The generated net will be written to FILE using MATsim format");
89 oc.
addDescription(
"opendrive-output",
"Output",
"The generated net will be written to FILE using OpenDRIVE format");
92 oc.
addDescription(
"dlr-navteq-output",
"Output",
"The generated net will be written to dlr-navteq files with the given PREFIX");
95 oc.
addDescription(
"dlr-navteq.precision",
"Output",
"The network coordinates are written with the specified level of output precision");
98 oc.
addDescription(
"output.street-names",
"Output",
"Street names will be included in the output (if available)");
101 oc.
addDescription(
"output.original-names",
"Output",
"Writes original names, if given, as parameter");
104 oc.
addDescription(
"street-sign-output",
"Output",
"Writes street signs as POIs to FILE");
108 oc.
addDescription(
"ptstop-output",
"Output",
"Writes public transport stops to FILE");
110 oc.
addDescription(
"ptline-output",
"Output",
"Writes public transport lines to FILE");
112 oc.
addDescription(
"ptline-clean-up",
"Output",
"Clean-up pt stops that are not served by any line");
115 oc.
addDescription(
"parking-output",
"Output",
"Writes parking areas to FILE");
118 oc.
addDescription(
"osm.stop-output.footway-access-distance",
"Output",
"The search radius for finding suitable road accesses for rail stops");
121 oc.
addDescription(
"osm.stop-output.footway-max-accesses",
"Output",
"The maximum roud accesses registered per rail stops");
126 oc.
addDescription(
"opendrive-output.straight-threshold",
"Output",
"Builds parameterized curves whenever the angular change between straight segments exceeds FLOAT degrees");
135 if (!oc.
isSet(
"output-file")
136 && !oc.
isSet(
"plain-output-prefix")
137 && !oc.
isSet(
"amitran-output")
138 && !oc.
isSet(
"matsim-output")
139 && !oc.
isSet(
"opendrive-output")
140 && !oc.
isSet(
"dlr-navteq-output")) {
141 std::string net =
"net.net.xml";
142 if (oc.
isSet(
"configuration-file")) {
148 if (oc.
isSet(
"opendrive-output") && oc.
getBool(
"no-internal-links")) {
149 WRITE_ERROR(
"OpenDRIVE export needs internal links computation.");
152 if (oc.
isSet(
"opendrive-output") && oc.
isDefault(
"no-internal-links")) {
153 oc.
set(
"no-internal-links",
"false");
155 if (oc.
isSet(
"opendrive-output") && oc.
isDefault(
"rectangular-lane-cut")) {
156 oc.
set(
"rectangular-lane-cut",
"true");
158 if (oc.
isSet(
"opendrive-output") && !oc.
getBool(
"rectangular-lane-cut")) {
159 WRITE_WARNING(
"OpenDRIVE cannot represent oblique lane cuts and should use option 'rectangular-lane-cut'.");
161 if (oc.
isSet(
"dlr-navteq-output") && oc.
isDefault(
"numerical-ids")) {
162 oc.
set(
"numerical-ids",
"true");
164 if (oc.
isSet(
"dlr-navteq-output") && oc.
isDefault(
"osm.all-attributes")) {
165 oc.
set(
"osm.all-attributes",
"true");
167 if (oc.
exists(
"ptline-output") && oc.
isSet(
"ptline-output") && !oc.
isSet(
"ptstop-output")) {
168 WRITE_ERROR(
"public transport lines output requires 'ptstop-output' to be set");
171 if (oc.
exists(
"ptline-clean-up") && oc.
getBool(
"ptline-clean-up") && !oc.
isSet(
"ptline-output")) {
172 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.