Workflow Type: Docker
Stable

Description

The Settlement Delineation and Analysis (SDA) workflows generates a settlement network from geospatial settlement data. It can process geotiff and shapefile inputs and was originally designed to operate on the World Settlement Footprint dataset. Through multiple workflow stages, a settlement network is constructed, contracted (i.e. clustered) and ultimately analysed with centrality measures. The output shapefile stores the aggregated settlement (multi-)polygons and their centrality values in fields. Optionally, the edges of the settlement graph can be visualized in a separate file as well.

Implementation

The workflow comprises four main stages, each implemented as a standalone executable, with the interface wrapped in a CWL definition file.

  • Filter: At first, the raster input is polygonized, and settlements not fulfilling the user-specified filter condition are dropped
  • Neighbours: The adjacencies of the settlements are computed according to a user-configurable criterion. The graph is stored in a central graph database.
  • Contraction: The settlement graph is contracted with edges fulfilling the contraction criterion being removed from the graph and the incident vertices merged. The connectivity to former neighbors of aggregated vertices is restored afterwards.
  • Analysis: The final stage computes selected centrality measures on the contracted graph and writes the centrality values in the output shapefile. Optionally, this stage can visualize the graph's edges in a separate output file.

Additionally, three orchestrational task are needed:

  • Split: Splits the input geotiff or shapefile to enable concurrent processing.
  • Components: Identifies connected components in the settlement graph, which are the unit of parallelization for the Contraction and Analysis stage.
  • Merge: Merges the output files of the Analysis stage into a single file.

The Job Generator creates CWL jobs for the aformentionend tasks and models their dependencies in a directed acyclic graph (DAG). The Scheduler queues the jobs according to the DAG and submits them to an CWL executor, which runs the job in a separate child process. Both the job generator and scheduler are utilized by the workflow's main file (SettlementDelineation.h/cpp).

Deployment

To run the Settlement Delineation and Analysis workflow, the easiest way is to use SettlementDelineationAnalysis.py, which wraps the command line interface of the main binary and executes it in a container using docker-compose.

Software Requirements

  • Docker Compose
  • Python 3.x

Running the Workflow

python3 SettlementDelineationAnalysis.py -i INPUT_FILE -c CONFIG_FILE.json -o OUTPUT_FILE.shp
  • Input: Input GIS file (GeoTIFF | Shapefile) on settlement location (e.g. WSF)
  • Config: JSON file containing the config for the workflow run (e.g. Example Config )
  • Output: Path of output shapefile

The input, config, intermediate and final result files will be mounted on the host system, which is by default: ${HOME}/.fishnet/.

Please refer to Version 1.1 of the Workflow: https://doi.org/10.48546/WORKFLOWHUB.WORKFLOW.1308.2

Version History

1.1 (latest) Created 15th Jul 2025 at 12:18 by Lorenz Gruber

Python Wrapper


Frozen main 1d451bb

1.0 (earliest) Created 25th Feb 2025 at 08:41 by Lorenz Gruber

Initial commit


Frozen 1.0 6b3a1b7
help Creators and Submitter
Creator
Submitter
Citation
Gruber, L. (2025). Settlement Delineation and Analysis. WorkflowHub. https://doi.org/10.48546/WORKFLOWHUB.WORKFLOW.1308.2
License
Activity

Views: 1367   Downloads: 293

Created: 25th Feb 2025 at 08:41

Last updated: 15th Jul 2025 at 12:34

help Attributions

None

Total size: 159 MB
Powered by
(v.1.17.0-main)
Copyright © 2008 - 2025 The University of Manchester and HITS gGmbH