Esempio n. 1
0
#!/usr/bin/python

from xml.dom.minidom import parseString
import urlgrab
from kml import kml_string

cache = urlgrab.Cache(cache=".cache")
data = cache.get("http://www.streetcar.co.uk/LocationsXml.xml").read()

tree = parseString(data)
places = {}
for table in tree.getElementsByTagName("Table"):
    places[table.getElementsByTagName("LN")[0].firstChild.data] = (
        float(table.getElementsByTagName("WLo")[0].firstChild.data),
        float(table.getElementsByTagName("WLa")[0].firstChild.data),
    )

print kml_string(places)
Esempio n. 2
0
    rs = xml.getElementsByTagName("RecordSet")[0]
    records = rs.getElementsByTagName("Record")
    for record in records:
        atm = {}
        fields = record.getElementsByTagName("Field")
        for field in fields:
            if not field.firstChild:
                content = ""
            else:
                content = field.firstChild.data
            name = field.getAttribute("name")
            atm[name] = content

            atm["lat"] = float(record.getElementsByTagName("Lat")[0].firstChild.data)
            atm["lon"] = float(record.getElementsByTagName("Lon")[0].firstChild.data)
        yield atm


def kml_gen_atms(lat=51.51856, lon=-0.14377, maxDistance=3, max_results=50):
    atms = {}
    for atm in gen_link_atms(lat=lat, lon=lon, maxDistance=maxDistance, max_results=max_results):
        if atm.has_key("surcharge_value") and int(atm["surcharge_value"]) > 0:
            continue
            # print atm
        atms[atm["institution_name"] + ", " + atm["street"]] = (atm["lon"], atm["lat"])
    return atms


if __name__ == "__main__":
    print kml_string(kml_gen_atms())