Synthetic Population Generation - swise5/takamatsu GitHub Wiki

The model is based around the movement of individual residents. Therefore, we need to create synthetic individuals for use in the simulation. The framework can incorporate as much or as little data as is available. In particular, the following sources of information are important to the model:


The simulation can either take building data in, for use to house the population, or else it can synthetically generate buildings along the road network.

If building data is available

The framework will read in a shapefile. The shapefile should contain a column called fid, which is a unique key for each geometry (that is, each building has its own unique identifier called fid). The household populations will then be associated with these fid values, so that they can be connected to the right house during the simulation setup.

If building information is not available

The framework will generate houses along the roads. The framework currently restricts houses to occur along roads with a 'residential' tag. It imposes a 15 meter distance between houses, with a 5 meter offset from both the beginning and end of the road (Note: it would be easy to override this value, or to generalise it).

The population synthesis process will export the generated houses to a delimited text file called dummyHouses.txt, which can be easily read into QGIS or a python script and converted into a shapefile for use in the simulation itself.


The road network is used to create synthetic buildings if building data is absent. It's important for the roads to have a field explaining the road use (eg the highway tag from OpenStreetMap). This currently requires a bit of manual manipulation in the generateHousesFromScratch function.


As with building data, if demographic data is available, the framework can use it to create more representative synthetic data. By default, this includes features like the size of the overall population and its breakdown by age/sex categories.


Household structure is an important aspect of decision-making. For example, a household of six unrelated adults will likely choose to evacuate in a different way than would a single parent with five small children. We can incorporate this kind of information with census information regarding household composition, especially in regard to the presence of seniors, children, or other vulnerable populations.

This is currently implemented for our Takamatsu demo, but not our Canberra demo.