Assignment models have demand (e.g. OD matrices) typically expressed with zones, and these are connected with connector links to the road network. How does MATSim handle this situation?
The easiest way is to just provide coordinates, i.e. something along the lines of
<act type=“shop” x=“56.1” y=“7.6” endTime=“19:00:00” />
MATSim will then automatically attach this activity to a link (if needed; for some modes this may not even be necessary). The algorithm to attach to a link is a simple heuristic, and it may produce implausible results (such as attaching directly to a limited access motorway, or to a ferry line). If this becomes a problem, one can still program one’s own link attachment algorithm at some later point in the project.
The coordinates need to come from the zone. Just using a central zone coordinate (such as the zone centroid) is an option, but typically loads too many trips onto a single links and thus generates artificial congestion there. A better alternative is to distribute the activities randomly within the zone. This is described somewhere in the MATSim tutorial (if someone has the link, please provide); in principle, it works by randomly selecting a coordinate in the bounding box of the zone, and then to check if it falls within the shape (for which there is geotools support).
If shape files are to difficult, we also have ok experiences with assigning coordinates randomly within a circle with a certain radius, e.g. just a constant plausible value (if large enough, this will just smooth the spatial density distribution), or some distance to the nearest neighboring zone centroid.
Do not convert the zone connector links from other assignment models to matsim network links since they will lead to “black holes” in the network (vehicles using the connector links as shortcuts).