Settings

Every user-configurable UNA parameter is a field on the Settings dataclass. See Settings reference for the full field-by-field reference; this page documents the class-level methods.

class Settings(_version: str = '1.0', name: str = 'Default', data_folder: str = '', network_file: str = 'Network.feather', origins_file: str = 'origins.feather', destinations_file: str = 'destinations.feather', network_weight_column: str = 'Geometric', network_weight_default: float = 1.0, network_precision: int = 3, network_saved_nodes: bool = False, network_load_nodes: bool = True, calculate_reach: bool = True, calculate_exponential_gravity: bool = True, calculate_logistic_gravity: bool = True, calculate_knn_access: bool = True, origin_weight_column: str = 'Count', destination_weight_column: str = 'Count', origin_uid_column: str = None, origin_destination_id_column: str = '', destination_id_column: str = '', default_cost: float = 1.0, use_nearest_destination: bool = False, search_radius: int = 1500, clasters: int = 1, cluster_parallel: bool = False, cluster_workers: int = 1, gravity_beta: float = 0.001, gravity_logistic_midpoint: int = 500, gravity_plateau: int = 0, gravity_decay_constant: float = 4.59511985013459, knn_weights: tuple = (1.0, 1.0, 0.5), knn_decay: Literal['none', 'exponential', 'logistic'] = 'logistic', elevation: bool = False, elevation_penalty: int = 4, turns: bool = False, turn_threshold: int = 45, turn_penalty: int = 32, output_folder: str = None, output_wStamp: bool = True, output_copy_source_data: bool = False, output_geojson: bool = True, output_feather: bool = True, output_csv: bool = False, output_shp: bool = False, csv_delimiter: str = ',', result_prefix: str = '', output_file_name: str = 'Results', flow_engine: Literal['k_alternatives', 'aggregate_flow'] = 'aggregate_flow', flow_detour_ratio: float = 1.05, flow_detour_buffer: float = 100.0, flow_detour_mode: Literal['ratio', 'buffer', 'min'] = 'ratio', flow_decay: bool = True, flow_decay_curve: Literal['exponential', 'logistic'] = 'exponential', flow_decay_method: Literal['closest', 'gravity_cap'] = 'closest', flow_gravity_cap: float = 1.0, flow_path_detour_penalty: Literal['equal', 'exponential', 'logistic'] = 'logistic', flow_route_enumeration_beta: float = 0.0, flow_route_enumeration_logistic_midpoint: float = 150.0, flow_origin_weights: bool = True, flow_destination_weights: bool = True, flow_return_directional: bool = False, observer_points_file: str | None = None, observer_points_uid_column: str | None = None, observer_points_snap_to: Literal['edge', 'node'] = 'edge', obstacle_points_file: str | None = None, obstacle_points_uid_column: str | None = None, obstacle_points_penalty_column: str = 'penalty', obstacle_points_direction_column: str | None = None, obstacle_points_snap_to: Literal['edge', 'node'] = 'edge', flow_track_obstacle_points_usage: bool = False, flow_k_nearest_destinations: int = 0, flow_max_destinations_per_origin: int = 0, flow_n_alternatives: int = 30, flow_alternative_penalty_factor: float = 1.01, flow_route_id_column: str | None = None, flow_output_routes: bool = False, flow_debug_print_paths: bool = False, flow_track_origins_per_destination: bool = False, flow_compute_node_flow: bool = False, batch_composite_output: bool = False, batch_composite_result_column: Literal['reach', 'gravity_exponential', 'gravity_logistic', 'knn_access', 'edge_flow', 'node_flow'] = 'knn_access', batch_composite_column_prefix: str = '', batch_composite_sum_column_name: str = 'composite_sum', progressbar: bool = True, logger_verbosity: int = 1)[source]

Bases: object

Parameters:
  • _version (str)

  • name (str)

  • data_folder (str)

  • network_file (str)

  • origins_file (str)

  • destinations_file (str)

  • network_weight_column (str)

  • network_weight_default (float)

  • network_precision (int)

  • network_saved_nodes (bool)

  • network_load_nodes (bool)

  • calculate_reach (bool)

  • calculate_exponential_gravity (bool)

  • calculate_logistic_gravity (bool)

  • calculate_knn_access (bool)

  • origin_weight_column (str)

  • destination_weight_column (str)

  • origin_uid_column (str)

  • origin_destination_id_column (str)

  • destination_id_column (str)

  • default_cost (float)

  • use_nearest_destination (bool)

  • search_radius (int)

  • clasters (int)

  • cluster_parallel (bool)

  • cluster_workers (int)

  • gravity_beta (float)

  • gravity_logistic_midpoint (int)

  • gravity_plateau (int)

  • gravity_decay_constant (float)

  • knn_weights (tuple)

  • knn_decay (Literal['none', 'exponential', 'logistic'])

  • elevation (bool)

  • elevation_penalty (int)

  • turns (bool)

  • turn_threshold (int)

  • turn_penalty (int)

  • output_folder (str)

  • output_wStamp (bool)

  • output_copy_source_data (bool)

  • output_geojson (bool)

  • output_feather (bool)

  • output_csv (bool)

  • output_shp (bool)

  • csv_delimiter (str)

  • result_prefix (str)

  • output_file_name (str)

  • flow_engine (Literal['k_alternatives', 'aggregate_flow'])

  • flow_detour_ratio (float)

  • flow_detour_buffer (float)

  • flow_detour_mode (Literal['ratio', 'buffer', 'min'])

  • flow_decay (bool)

  • flow_decay_curve (Literal['exponential', 'logistic'])

  • flow_decay_method (Literal['closest', 'gravity_cap'])

  • flow_gravity_cap (float)

  • flow_path_detour_penalty (Literal['equal', 'exponential', 'logistic'])

  • flow_route_enumeration_beta (float)

  • flow_route_enumeration_logistic_midpoint (float)

  • flow_origin_weights (bool)

  • flow_destination_weights (bool)

  • flow_return_directional (bool)

  • observer_points_file (str | None)

  • observer_points_uid_column (str | None)

  • observer_points_snap_to (Literal['edge', 'node'])

  • obstacle_points_file (str | None)

  • obstacle_points_uid_column (str | None)

  • obstacle_points_penalty_column (str)

  • obstacle_points_direction_column (str | None)

  • obstacle_points_snap_to (Literal['edge', 'node'])

  • flow_track_obstacle_points_usage (bool)

  • flow_k_nearest_destinations (int)

  • flow_max_destinations_per_origin (int)

  • flow_n_alternatives (int)

  • flow_alternative_penalty_factor (float)

  • flow_route_id_column (str | None)

  • flow_output_routes (bool)

  • flow_debug_print_paths (bool)

  • flow_track_origins_per_destination (bool)

  • flow_compute_node_flow (bool)

  • batch_composite_output (bool)

  • batch_composite_result_column (Literal['reach', 'gravity_exponential', 'gravity_logistic', 'knn_access', 'edge_flow', 'node_flow'])

  • batch_composite_column_prefix (str)

  • batch_composite_sum_column_name (str)

  • progressbar (bool)

  • logger_verbosity (int)

name: str = 'Default'
data_folder: str = ''
network_file: str = 'Network.feather'
origins_file: str = 'origins.feather'
destinations_file: str = 'destinations.feather'
network_weight_column: str = 'Geometric'
network_weight_default: float = 1.0
network_precision: int = 3
network_saved_nodes: bool = False
network_load_nodes: bool = True
calculate_reach: bool = True
calculate_exponential_gravity: bool = True
calculate_logistic_gravity: bool = True
calculate_knn_access: bool = True
origin_weight_column: str = 'Count'
destination_weight_column: str = 'Count'
origin_uid_column: str = None
origin_destination_id_column: str = ''
destination_id_column: str = ''
default_cost: float = 1.0
use_nearest_destination: bool = False
search_radius: int = 1500
clasters: int = 1
cluster_parallel: bool = False
cluster_workers: int = 1
gravity_beta: float = 0.001
gravity_logistic_midpoint: int = 500
gravity_plateau: int = 0
gravity_decay_constant: float = 4.59511985013459
knn_weights: tuple = (1.0, 1.0, 0.5)
knn_decay: Literal['none', 'exponential', 'logistic'] = 'logistic'
elevation: bool = False
elevation_penalty: int = 4
turns: bool = False
turn_threshold: int = 45
turn_penalty: int = 32
output_folder: str = None
output_wStamp: bool = True
output_copy_source_data: bool = False
output_geojson: bool = True
output_feather: bool = True
output_csv: bool = False
output_shp: bool = False
csv_delimiter: str = ','
result_prefix: str = ''
output_file_name: str = 'Results'
flow_engine: Literal['k_alternatives', 'aggregate_flow'] = 'aggregate_flow'
flow_detour_ratio: float = 1.05
flow_detour_buffer: float = 100.0
flow_detour_mode: Literal['ratio', 'buffer', 'min'] = 'ratio'
flow_decay: bool = True
flow_decay_curve: Literal['exponential', 'logistic'] = 'exponential'
flow_decay_method: Literal['closest', 'gravity_cap'] = 'closest'
flow_gravity_cap: float = 1.0
flow_path_detour_penalty: Literal['equal', 'exponential', 'logistic'] = 'logistic'
flow_route_enumeration_beta: float = 0.0
flow_route_enumeration_logistic_midpoint: float = 150.0
flow_origin_weights: bool = True
flow_destination_weights: bool = True
flow_return_directional: bool = False
observer_points_file: str | None = None
observer_points_uid_column: str | None = None
observer_points_snap_to: Literal['edge', 'node'] = 'edge'
obstacle_points_file: str | None = None
obstacle_points_uid_column: str | None = None
obstacle_points_penalty_column: str = 'penalty'
obstacle_points_direction_column: str | None = None
obstacle_points_snap_to: Literal['edge', 'node'] = 'edge'
flow_track_obstacle_points_usage: bool = False
flow_k_nearest_destinations: int = 0
flow_max_destinations_per_origin: int = 0
flow_n_alternatives: int = 30
flow_alternative_penalty_factor: float = 1.01
flow_route_id_column: str | None = None
flow_output_routes: bool = False
flow_debug_print_paths: bool = False
flow_track_origins_per_destination: bool = False
flow_compute_node_flow: bool = False
batch_composite_output: bool = False
batch_composite_result_column: Literal['reach', 'gravity_exponential', 'gravity_logistic', 'knn_access', 'edge_flow', 'node_flow'] = 'knn_access'
batch_composite_column_prefix: str = ''
batch_composite_sum_column_name: str = 'composite_sum'
progressbar: bool = True
logger_verbosity: int = 1
ApplyRow(row)[source]

Reset to defaults then apply one row of a pairing CSV/TSV.

Column names must match Settings field names exactly; unknown columns are silently ignored (e.g. flow_name, destination_name). Empty / NaN cells are skipped so the Settings default is kept.

Parameters:

row (dict)

Return type:

None

Load(file_path)[source]
Parameters:

file_path (str)

Save(file_path)[source]
Parameters:

file_path (str)

Validation()[source]
Reset()[source]
ToDict(compact=True)[source]

Serialise settings to a plain dict suitable for JSON export.

Parameters:

compact (bool) – If True (default), only fields that differ from their default value are included. If False, all fields are included — useful for documentation / self-describing files.

Return type:

dict