use Geo::BoundingBox; use Geo::OSM::Overpass; use Geo::OSM::Overpass::Plugin; use Geo::OSM::Overpass::Plugin::FetchTrafficLights; use Geo::OSM::Overpass::Plugin::ParseXML; my $engine = Geo::OSM::Overpass->new(); $engine->verbosity(2); $engine->output_filename('xyz'); my $bbox = Geo::BoundingBox->new(); $bbox->centred_at(30.0, 23.0, 100); # centre at (lat=30,lon=23), 100m x 100m square box $engine->bounding_box($bbox); my $tfp = Geo::OSM::Overpass::Plugin::FetchTrafficLights->new({'engine'=>$engine}); # fetch the data $tfp->run() or die; # save XML result to disk $engine->save() or die; # convert XML result to a perl hashtable my $xmlp = Geo::OSM::Overpass::Plugin::ParseXML->new({'engine'=>$engine}); my $hashmap_of_traffic_lights = $xmlp->run();