Majid Rezaei
b92767a9eb
Adding error handling and loggings. Also refactors the names and locations. Reviewed-on: https://nextgenerations-cities.encs.concordia.ca/gitea/a_rezaei/district_heating_network_analysis/pulls/4
43 lines
1.5 KiB
Markdown
43 lines
1.5 KiB
Markdown
# 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:
|
|
|
|
```python
|
|
from scripts.district_heating_network_creator import DistrictHeatingNetworkCreator
|
|
|
|
# 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. |