I have an algorithm, that generates random points with in a given polygon (Generate random points in polygon. Algorithm question). The Polygons the points are generated in are communities or districts of germany. So instead of just randomly placing the points somewhere in the Polygon I would like to place them near cities, town etc. since a Point should represent a person.
So my Idea was to use OpenStreetMap data to query cities, town etc., but I yet have to find out which data from OSM I need to use. Under the assumption that the data is available how do I influence the algorithm to generate the Random points near the cities?