Public transport probability
This program uses OpenStreetMap data to calculate the chance of a hashpoint lying within X kilometres of a train station or bus stop.
Usage
First, get the OpenStreetMap extract for your graticule (replace 52,13 below with your own graticule).
$ wget 'http://www.informationfreeway.org/api/0.6/node[bbox=13,52,14,53][railway=station|stop|halt|tram_stop]' $ wget 'http://www.informationfreeway.org/api/0.6/node[bbox=13,52,14,53][highway=bus_stop]'
The first command retrieves all stations and on-request halts. Usually it includes surface rail, underground services and trams. The second retrieves all bus stops.
Next, create a PHP file with the code below, editing the first few lines as appropriate. Run it to create an image file and to output the probabilities. For the first run, I suggest making the $distance very small so you can check whether the OSM data looks complete.
NB: Untested on negative graticules, let me know if you have problems!
Example
For the Berlin, Germany (52,13) graticule:
david@netman1:~/geohashing/berlin$ php process.php Graticule size: E-W: 67.6534534537 km, N-S: 111.13296 km Image resolution: 608, 1000 5km ellipse is: 89.8697655422, 89.9823058794 Total pixels: 608000 Train pixels: 417707 Bus pixels: 79080 Chance of train within 5km: 68.70% Chance of train or bus within 5km; 81.71%