.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:SHAPEgenerates aGeometryZoningWriterinstance to persist a zoning in shape file formatZoningWriterType:PLANITgenerates aPlanitZoningWriterinstance 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