Reads agent IDs and positions from Database and initialises agents using a
GimAgentInitialiseService:
If the given context contains GMarketCellContexts and the geography
contains polygones for these market cells, agents are assigned to market
cells based on their geographical position.
If the given GimGroupInitialiser is not null agents are assigned to
groups calling the initialiser. If market cells are initialised groups are
assigned within market cells. Otherwise, groups are assigned within areas.
In case there is no GimGroupInitialiser agents are added to the
market cell contexts. In case there is no GimMarketCellInitialiser
agents are added to the PLZ contexts. Furthermore, if there is no suitable
PLZ context agents are added to the area context.
The implementation of Coordinate that is used to initialise the point
by which agents are registered at the geography is dynamically requested from
GBasicPa.COORDINATE_CLASS. Therefore, it is possible to use torus
coordinates (e.g. GTorusCoordinate).
The DB connection is established using the GMySqlService.
Determines a geographical center for the given GGroupContext on a
radius around the center of the given GimAreaContext using
GBasicPa.PLACE_GROUP_ON_RADIUS. Ensures that the neighourhood's
center is located within the area.