Group Buildings into Settlements


#1

Given building locations, cluster the buildings into settlements. The algorithm makes the following assumptions:

  • Household count is proportional to building count.
  • The area of a settlement is constrained by the maximum distance that a person is willing to travel from their household to the marketplace.
  • The marketplace is located near the centroid of each settlement.
  • The number of people in each household is specified in an optional Population column. If the population of each household is not specified, use the Average Population per Household to estimate the population of each settlement.

Tool Arguments

  • Building Locations ? Specify building locations and optionally specify the number of people in each building by specifying a column called Population
  • Maximum Household Distance from Marketplace in Kilometers ? Maximum distance that a person is willing to travel from their household to the marketplace (e.g. 8 km by foot and 16 km by horse)
  • Minimum Population per Settlement ? Minimum number of people per settlement
  • Average Population per Household ? Average number of people per household (used if population is undefined for a household)

Result Properties

  • Settlement Buildings in CSV format (longitude, latitude, population, settlement_id, marketplace_distance_in_km) as buildings.csv
  • Settlements in CSV format (name=settlement_id, longitude, latitude, population) as settlements.csv
  • Settlements Snapshot in PNG format
  • Settlement Count
  • Silhouette Score
  • Histogram of Maximum Household Distance from Marketplace (x-axis = Maximum Household Distance from Marketplace, y-axis = Settlement Count)

Algorithm Requirements

Functionality

  • [Done] Handle case when Population is undefined.
  • [Done] Handle case when Population is lowercase.
  • [Done] Satisfy Minimum Population per Settlement Constraint.
  • [Done] Satisfy Maximum Household Distance from Marketplace in Kilometers constraint.
  • [Done] Combine clusters, centroids, metrics into a single tool.
  • [Done] Remove axis labels and box frame from cluster plot.
  • [Done] Output the following columns for settlements.csv: name, longitude, latitude, population

Configuration

  • [Done] Use uganda-ruhiira-200306.shp.zip as the default for Building Locations.
  • [Done] Use 100 as Minimum Population per Settlement.
  • [Done] Use 5.3 as default for Average Population per Household.
  • [Done] Use 16 as default for Maximum Household Distance from Marketplace in Kilometers.