--- a/displayroutes.kml.php +++ b/displayroutes.kml.php @@ -1,1 +1,65 @@ +<?php +header('Content-Type: application/vnd.google-earth.kml+xml'); +echo '<?xml version="1.0" encoding="UTF-8"?> +<kml xmlns="http://www.opengis.net/kml/2.2"><Document>'; +echo ' + <Style id="yellowLineGreenPoly"> + <LineStyle> + <color>7f00ff00</color> + <width>4</width> + </LineStyle> + <PolyStyle> + <color>7f00ffff</color> + </PolyStyle> + </Style>'; +$conn = pg_connect("dbname=openstreetmap user=postgres password=snmc"); +if (!$conn) { + echo "An error occured.\n"; + exit; +} + +$result_route = pg_query($conn, "SELECT * from current_relation_tags, (Select id FROM current_relation_tags WHERE k = 'route' AND v = 'bus') as a +where a.id = current_relation_tags.id and k = 'ref';"); +if (!$result_route) { + echo "An route retirieve error occured.\n"; + exit; +} + +while ($route = pg_fetch_assoc($result_route)) { + echo "\n<Placemark>\n"; + echo "<name>".$route['v']." position at ".$route['id']."</name>"; + echo "<description>".$route['v']." position at ".$route['id']."</description>"; +echo "<styleUrl>#yellowLineGreenPoly</styleUrl>"; +echo " <LineString> + <extrude>1</extrude> + <coordinates> "; +$result_way = pg_query($conn, 'SELECT member_id, sequence_id FROM "current_relation_members" WHERE "id" = '.$route['id'].' order by "sequence_id" +ASC'); +if (!$result_way) { + echo "An way retirieve error occured.\n"; + exit; +} + $count = 0; + +while ($way = pg_fetch_assoc($result_way)) { + $result_node = pg_query($conn, 'SELECT * FROM current_nodes INNER JOIN current_way_nodes ON current_way_nodes.node_id=current_nodes.id WHERE +current_way_nodes.id = '.$way['member_id'].' order by "sequence_id" ASC'); + if (!$result_node) { + echo "An node retirieve error occured.\n"; + exit; + } + + while ($node = pg_fetch_assoc($result_node)) { + $count++; + echo ($node['longitude']/10000000).",".($node['latitude']/10000000).",600 \n"; + } +} + if ($count == 0) echo (0).",".(0).",600 \n"; +echo " </coordinates> + </LineString>"; +echo '</Placemark>'; +} + +echo "\n</Document></kml>\n"; +?>