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

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