UTK-PROV is a provenance-aware extension of the Urban Toolkit (UTK) that captures, stores, queries, and analyzes the evolution of grammar-based urban visualizations. The system records user operations performed during visualization construction and represents them using the W3C PROV model, enabling workflow reconstruction, auditing, reproducibility analysis, and exploration-pattern discovery.
Urban visualizations are commonly developed through iterative workflows involving the addition, removal, and modification of visualization components. Traditional visualization systems typically preserve only the final specification, making it difficult to understand how a visualization evolved over time.
UTK-PROV addresses this limitation by automatically recording visualization-development activities and transforming them into provenance records. These records can then be queried to recover information about:
- Contributors involved in a project
- Evolution of visualization specifications
- User interaction histories
- Workflow strategies
- Temporal development patterns
- Unique exploration behaviors
The system integrates provenance capture directly into the visualization-construction process and stores provenance information in a relational database for efficient querying and analysis.
- W3C PROV-compliant provenance model
- Automatic capture of visualization operations
- Tracking of additions, removals, and modifications
- Provenance graph generation
- Workflow reconstruction
- User activity analysis
- Temporal workflow analysis
- Exploration-pattern identification
- SQL-based provenance querying
- Support for grammar-based urban visualizations
UTK-PROV represents visualization workflows using the three core PROV concepts:
Users responsible for creating or modifying visualization specifications.
Operations performed during visualization construction, including:
- Add
- Remove
- Modify
Artifacts generated or modified during visualization development, such as:
- Visualization specifications
- Layers
- Knots
- Maps
- Plots
The provenance graph captures relationships including:
wasGeneratedByusedwasAssociatedWithwasDerivedFrom
User
│
▼
UTK Interface
│
▼
Visualization Specification
│
▼
Change Detection
│
▼
Provenance Capture Layer
│
▼
PROV Representation
│
▼
Database Storage
│
▼
Query Engine
│
▼
Workflow Analysis
UTK-PROV relies on the following Python packages:
pysolar==0.*
geopy==2.*
osmium==3.*
overpass==0.7.*
numpy==1.*
pandas==2.*
scipy==1.*
geopandas==0.13.*
tqdm==4.*
mapbox_earcut==1.0.1
shapely==1.8.*
pyproj==3.*
pytz==2023.*
timezonefinder==6.*
pythonnet==3.*
pygeos==0.14.*
ipywidgets==8.*
geojson==3.*
flask==2.3.*
vedo==2023.*
netCDF4==1.6.*
requests==2.*
psutil==5.9.*
watchdog==3.0.*
Install the dependencies using:
pip install -r requirements.txtClone the repository:
git clone https://github.com/UFFeScience/UTK-PROV.git
cd UTK-PROVCreate a virtual environment:
python -m venv venvActivate the environment:
Linux/macOS
source venv/bin/activateWindows
venv\Scripts\activateInstall dependencies:
pip install -r requirements.txtSee the LICENSE file for licensing information.
UTK-PROV was developed as part of research on provenance-aware urban visualization systems and extends the Urban Toolkit ecosystem with provenance capture, storage, and analysis capabilities.