.create_writer(+)

ZoningConverter writer factory method
Description

The factory method that allows you to create (manufacture) zoning writer instances of a chosen type. Currently, the following options are supported:

Each zoning writer can be configured further via its settings, where each type of zoning writer exposes different settings depending on its type

Signature

.create_writer(zoning_writer_type: ZoningWriterType)

with

Parameter Type Unit Compulsory Description
zoning_writer_type ZoningWriterType.<enum> None YES Type of zoning writer to create

Return type

ZoningWriter implementation

Example 1

from planit import *

zoning_converter = planit.converter_factory.create(ConverterType.ZONING)

####### NETWORK PREP
#
# TNTP net reader
tntp_net_reader: TntpNetworkReaderWrapper = 
  planit.converter_factory.create(ConverterType.NETWORK).create_reader(NetworkReaderType.TNTP)
network_settings = tntp_net_reader.settings
network_settings.set_network_file(NETWORK_FILE_PATH)
network_settings.set_node_coordinate_file(NODE_COORD_FILE_PATH)
network_settings.set_network_file_columns(create_tntp_network_file_cols())

network_settings.set_speed_units(SpeedUnits.MILES_H)
network_settings.set_length_units(LengthUnits.MILES)
network_settings.set_capacity_period(1, TimeUnits.HOURS)
network_settings.set_free_flow_travel_time_units(TimeUnits.MINUTES)
network_settings.set_default_maximum_speed(DEFAULT_MAXIMUM_SPEED_KM_H)
network_settings.set_coordinate_reference_system("EPSG:26971")

# TNTP zoning reader - (pass in net_reader)
tntp_reader: TntpNetworkReaderWrapper = zoning_converter.create_reader(ZoningReaderType.TNTP, tntp_net_reader)
zoning_settings = tntp_reader.settings
zoning_settings.set_network_file_location(NETWORK_FILE_PATH)

# PLANit writer
planit_writer = zoning_converter.create_writer(ZoningWriterType.PLANIT)
planit_writer.settings.set_output_directory(OUTPUT_PATH)
planit_writer.settings.set_country(AUSTRALIA)

# perform conversion
zoning_converter.convert(tntp_reader, planit_writer)

See also

ZoningWriterType.<enum> for the various network writer types available
GeometryZoningWriter for more information on the Shape file zoning writer
PlanitZoningWriter for more information on the PLANit zoning writer

Source code

Class ZoningConverter in converter.py