54 oc.
addDescription(
"output-file",
"Output",
"The generated net will be written to FILE");
57 oc.
addSynonyme(
"plain-output-prefix",
"plain-output");
59 oc.
addDescription(
"plain-output-prefix",
"Output",
"Prefix of files to write plain xml nodes, edges and connections to");
63 "Writes information about joined junctions to FILE (can be loaded as additional node-file to reproduce joins");
66 oc.
addDescription(
"prefix",
"Output",
"Defines a prefix for edge and junction names");
71 oc.
addDescription(
"proj.plain-geo",
"Projection",
"Write geo coordinates in plain-xml");
76 oc.
addDescription(
"amitran-output",
"Output",
"The generated net will be written to FILE using Amitran format");
79 oc.
addDescription(
"matsim-output",
"Output",
"The generated net will be written to FILE using MATsim format");
82 oc.
addDescription(
"opendrive-output",
"Output",
"The generated net will be written to FILE using OpenDRIVE format");
85 oc.
addDescription(
"dlr-navteq-output",
"Output",
"The generated net will be written to dlr-navteq files with the given PREFIX");
88 oc.
addDescription(
"dlr-navteq.precision",
"Output",
"The network coordinates are written with the specified level of output precision");
91 oc.
addDescription(
"output.street-names",
"Output",
"Street names will be included in the output (if available)");
94 oc.
addDescription(
"output.original-names",
"Output",
"Writes original names, if given, as parameter");
97 oc.
addDescription(
"street-sign-output",
"Output",
"Writes street signs as POIs to FILE");
101 oc.
addDescription(
"ptstop-output",
"Output",
"Writes public transport stops to FILE");
103 oc.
addDescription(
"ptline-output",
"Output",
"Writes public transport lines to FILE");
105 oc.
addDescription(
"ptline-clean-up",
"Output",
"Clean-up pt stops that are not served by any line");
108 oc.
addDescription(
"parking-output",
"Output",
"Writes parking areas to FILE");
111 oc.
addDescription(
"railway.topology.output",
"Output",
"Analyze topology of the railway network");
115 oc.
addDescription(
"polygon-output",
"Output",
"Write shapes that are embedded in the network input and that are not supported by polyconvert (OpenDRIVE)");
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(
TL(
"OpenDRIVE export needs internal links computation."));
146 if (oc.
isSet(
"opendrive-output") && oc.
isDefault(
"no-internal-links")) {
149 if (oc.
isSet(
"opendrive-output") && oc.
isDefault(
"rectangular-lane-cut")) {
150 oc.
setDefault(
"rectangular-lane-cut",
"true");
152 if (oc.
isSet(
"opendrive-output") && !oc.
getBool(
"rectangular-lane-cut")) {
153 WRITE_WARNING(
TL(
"OpenDRIVE cannot represent oblique lane cuts and should use option 'rectangular-lane-cut'."));
155 if (oc.
isSet(
"dlr-navteq-output") && oc.
isDefault(
"numerical-ids")) {
158 if (oc.
isSet(
"dlr-navteq-output") && oc.
isDefault(
"osm.all-attributes")) {
161 if (oc.
exists(
"ptline-output") && oc.
isSet(
"ptline-output") && !oc.
isSet(
"ptstop-output")) {
162 WRITE_ERROR(
TL(
"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(
TL(
"'ptline-clean-up' only works in conjunction with 'ptline-output'. Ignoring invalid option."));
#define WRITE_WARNING(msg)
#define PROGRESS_BEGIN_TIME_MESSAGE(msg)
#define PROGRESS_TIME_MESSAGE(before)
static std::string getConfigurationRelative(const std::string &configPath, const std::string &path)
Returns the second path as a relative path to the first file.
Instance responsible for building networks.
static void writeNetwork(const OptionsCont &oc, NBNetBuilder &nb)
Writes the network stored in the given net builder.
static void fillOptions(bool forNetgen)
Inserts options used by the network writer.
static void writePositionLong(const Position &pos, OutputDevice &dev)
Writes the given position to device in long format (one attribute per dimension)
static bool checkOptions()
Checks set options from the OptionsCont-singleton for being valid.
static void writeNetwork(const OptionsCont &oc, NBNetBuilder &nb)
Writes the network into a Amitran-file.
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 into a MATSim-file.
static void writeNetwork(const OptionsCont &oc, NBNetBuilder &nb)
Writes the network into a openDRIVE-file.
static void writeNetwork(const OptionsCont &oc, NBNetBuilder &nb)
Writes the network into a SUMO-file.
static void writeNetwork(const OptionsCont &oc, const std::string &prefix, NBNetBuilder &nb)
Writes the network into XML-files (nodes, edges, connections, traffic lights)
A storage for options typed value containers)
void addDescription(const std::string &name, const std::string &subtopic, const std::string &description)
Adds a description for an option.
void doRegister(const std::string &name, Option *v)
Adds an option under the given name.
bool isSet(const std::string &name, bool failOnNonExistant=true) const
Returns the information whether the named option is set.
std::string getString(const std::string &name) const
Returns the string-value of the named option (only for Option_String)
void addSynonyme(const std::string &name1, const std::string &name2, bool isDeprecated=false)
Adds a synonyme for an options name (any order)
bool isDefault(const std::string &name) const
Returns the information whether the named option has still the default value.
bool setDefault(const std::string &name, const std::string &value)
Sets the given value for the named option as new default value.
bool exists(const std::string &name) const
Returns the information whether the named option is known.
bool getBool(const std::string &name) const
Returns the boolean-value of the named option (only for Option_Bool)
static OptionsCont & getOptions()
Retrieves the options.
Static storage of an output device and its base (abstract) implementation.
OutputDevice & writeAttr(const SumoXMLAttr attr, const T &val)
writes a named attribute
A point in 2D or 3D with translation and scaling methods.
double x() const
Returns the x-position.
double z() const
Returns the z-position.
double y() const
Returns the y-position.