.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:
ZoningWriterType:SHAPE
generates aGeometryZoningWriter
instance to persist a zoning in shape file formatZoningWriterType:PLANIT
generates aPlanitZoningWriter
instance to persist a zoning in the native PLANit format
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