Add some friendly name/duplicate subsitution rules
[bus.git] / displayroutes.kml.php
blob:a/displayroutes.kml.php -> blob:b/displayroutes.kml.php
  <?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";
  ?>