How smog-chalmers/pst works
PST combines a QGIS plugin with the Pstalgo C++ analysis library and its Python interface. The principal workflow is to choose an analysis in QGIS, provide network and optional destination data, run the corresponding Pstalgo operation, and display or write results as QGIS layers and columns. The library supports network construction, accessibility and centrality analyses, segment grouping, and visibility/isovist work. The graph preserves these documented capabilities; source excerpts are partial, so only explicit wiring is shown and unsampled subsystem links are omitted.
Main entry points: __init__.py Python interface · main.py PST plugin · attractiondistanceanalysis.py QGIS analysis runs · analysisdelegate.py Analysis delegates
Components 20
QGIS interface
- PST plugin
pstqgis/src/pst/main.py - Analysis wizards
pstqgis/src/pst/ui/wizards - Processing provider
pstqgis/src/pst/processing/pst_processing_provider.py - Isovist map tools
pstqgis/src/pst/maptools/isovist - Analysis delegates
pstqgis/src/pst/analyses/analysisdelegate.py
GIS data handling
- QGIS model
pstqgis/src/pst/model/model.py - QGIS analysis runs
pstqgis/src/pst/analyses/attractiondistanceanalysis.py
Analysis library
- Python interface
pstalgo/python/pstalgo/__init__.py - Network construction
pstalgo/src/analyses/CreateGraph.cpp - Network preparation
pstalgo/src/analyses - Reach and distance
pstalgo/src/analyses/Reach.cpp - Integration and betweenness
pstalgo/src/analyses/NetworkIntegration.cpp - Segment analyses
pstalgo/src/analyses/SegmentGrouping.cpp - Visibility analyses
pstalgo/src/analyses/CalculateIsovists.cpp
Graph and geometry
- Axial graph
pstalgo/src/graph/AxialGraph.cpp - Network traversal
pstalgo/src/BFS.cpp - Multi-distance graph
pstalgo/src/experimental/DirectedMultiDistanceGraph.cpp - Geometry algorithms
pstalgo/src/geometry
Other components
- QGIS user
- QGIS
Connections 21
- QGIS user → PST plugin: uses
- PST plugin → Analysis wizards: opens
- PST plugin → Processing provider: registers
- PST plugin → Isovist map tools: enables tools
- Analysis wizards → Analysis delegates: dispatches
- Processing provider → Analysis delegates: delegates
- Analysis delegates → QGIS analysis runs: runs
- QGIS analysis runs → QGIS model: reads inputs
- QGIS analysis runs → QGIS model: writes results
- QGIS analysis runs → Python interface: calls
- Python interface → Network construction: invokes
- Python interface → Reach and distance: invokes
- Python interface → Integration and betweenness: invokes
- Python interface → Segment analyses: invokes
- Python interface → Visibility analyses: invokes
- Network construction → Axial graph: builds
- Reach and distance → Network traversal: traverses
- Integration and betweenness → Network traversal: traverses
- Visibility analyses → Geometry algorithms: uses
- Isovist map tools → Python interface: uses
- PST plugin → QGIS: integrates with