district_heating_network_an.../README.md

43 lines
1.5 KiB
Markdown
Raw Permalink Normal View History

2024-06-10 22:52:34 -04:00
# District Heating Network Creator
## Overview
The `DistrictHeatingNetworkCreator` class is designed to create a district heating network based on building and road data. It processes GeoJSON files containing building and road data, finds the nearest roads to each building, and generates a network using NetworkX. The final network is represented as a Minimum Spanning Tree (MST) that connects building centroids to the nearest points on the road network.
## Installation
Ensure you have the necessary dependencies installed:
```bash
pip install shapely matplotlib networkx rtree
```
## Usage
To use the `DistrictHeatingNetworkCreator`, follow these steps:
1. Initialize the class with paths to your GeoJSON files containing building data road data.
2. Call the `run` method to process the data and create the network graph.
3. Optionally, call the `plot_network_graph` method to visualize the network.
Example:
2024-06-10 22:52:34 -04:00
```python
from scripts.district_heating_network_creator import DistrictHeatingNetworkCreator
2024-06-10 22:52:34 -04:00
# Initialize the class
network_creator = DistrictHeatingNetworkCreator('path/to/buildings.geojson', 'path/to/montreal_roads.shp')
# Create the network graph
network_graph = network_creator.run()
# Plot the network graph (optional)
network_creator.plot_network_graph(network_graph)
```
## Notes
1. Ensure your GeoJSON files are correctly formatted and contain the necessary building and road data.
2. The resulting NetworkX graph supports manual addition or removal of nodes and edges, allowing for further customization and adjustments.