.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:PLANITgenerates aPlanitDemandsWriterinstance 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