.create_writer(+)
DemandsConverter writer factory method
Description
The factory method that allows you to create (manufacture) demands writer instances of a chosen type. Currently, the following options are supported:
DemandsWriterType:PLANIT
generates aPlanitDemandsWriter
instance to persist demands in the native PLANit format
Each demands reader can be configured further via its settings, where each reader exposes different settings depending on its type.
Signature
.create_writer(demands_writer_type: DemandsWriterType)
with
Parameter | Type | Unit | Compulsory | Description |
---|---|---|---|---|
demands_writer_type |
DemandsWriterType.<enum> |
None |
YES | Type of demands writer to create |
Return type
DemandsWriter
implementation
Example 1
from planit import *
# create a demands converter
planit_instance = Planit()
demands_converter = planit_instance.converter_factory.create(ConverterType.DEMANDS)
# TNTP demands reader requires compatible zones. These can be configured via a TNTP zoning reader
# For this example, it is assumed this has been configured already (see ZoningConverter to see how to do this)
tntp_zoning_reader # a presumed configured TNTP zoning reader
# example TNTP demands reader
tntp_dem_reader = demands_converter.create_reader(DemandsReaderType.TNTP, tntp_zoning_reader)
tntp_dem_settings = tntp_dem_reader.settings
tntp_dem_settings.set_demand_file_location(DEMAND_FILE_PATH)
tntp_dem_settings.set_start_time_since_midnight(8.0, TimeUnits.HOURS)
tntp_dem_settings.set_time_period_duration(1.0, TimeUnits.HOURS)
# example PLANit demands writer
planit_writer = demand_converter.create_writer(DemandsWriterType.PLANIT)
planit_writer.settings.set_output_directory("<path_to_output_dir>")
planit_writer.settings.set_country("<country_name>")
# perform conversion
demands_converter.convert(tntp_dem_reader, planit_writer)
See also
DemandsWriterType.<enum>
for the various demands writer types available
PlanitDemandsWriter
for more information on the PLANit demands writer
Source code
Class DemandsConverter
in converter.py