Territory Analysis Tool v1.2.0
Overview
This tool provides a complete pipeline for processing and analyzing territory data. It takes raw address and boundary data, combines them, and then generates analytical reports in markdown and interactive HTML map formats.
The workflow is managed by a command-line script that gives the user fine-grained control over the execution process.
Installation
This tool requires Python 3 and has a few dependencies.
- Install dependencies:
Navigate to this directory in your terminal and run the following command to install the required Python libraries:
pip install -r requirements.txt
File Structure
All necessary files are located in this directory.
run_all.py: The main command-line script to run the workflow.process_territories.py: A module that combines address and boundary data.analysis.py: A module that performs general territory analysis.category_analysis.py: A module that performs category-specific analysis.requirements.txt: A list of Python dependencies.
Input Data Files
The tool requires two CSV files: an "addresses" file and a "boundaries" file. These can be exported directly from NW Scheduler.
Usage
The entire workflow is managed through run_all.py. You can see all commands by running:
python run_all.py --help
Full Pipeline Run
To run the entire process from start to finish in memory, use the full-run command.
Command:
python run_all.py full-run --addresses <path_to_addresses.csv> --boundaries <path_to_boundaries.csv>
Example:
python run_all.py full-run --addresses "Okinawa Territory Jan 2026 - Addresses.csv" --boundaries "Okinawa Territory Jan 2026 - Boundaries.csv"
Running Steps Individually
Step 1: Process Raw Files
To combine the address and boundary files and save the result to a CSV, use the process command.
Command:
python run_all.py process --addresses <path_to_addresses.csv> --boundaries <path_to_boundaries.csv>
Step 2: Analyze a Processed File
To run analysis from a "Final" CSV file, use the analyze command.
Command:
python run_all.py analyze --input <path_to_final_file.csv>
Changelog
v1.2.0 (Current)
- Refactored the tool from a collection of separate scripts into a single, integrated Python application.
- Replaced
subprocesscalls with direct function imports for improved performance and reliability. - Integrated the
pandaslibrary for more efficient in-memory data processing. - The
full-runcommand now processes data in memory without writing an intermediate CSV file. - Added a
requirements.txtfile for easier dependency management.
v1.1.0
- Introduced a command-line interface with
argparseto replace the interactive menu. - Added
process,analyze, andfull-runcommands. - Allowed for dynamic input file paths via command-line arguments.
v1.0.0
- Initial release with separate scripts for processing and analysis.
- Workflow managed by an interactive
run_all.pyscript. - Project structure consolidated into a single directory.
- Git repository initialized.