if event == 'start': if n.tag == 'node': lon = float(n.get('lon', 0)) lat = float(n.get('lat', 0)) if point_in_box(lon, lat, aoi_box) and point_in_poly(lon, lat, aoi_poly): cid = n.get('changeset') nid = n.get('id', -1) nids.add(nid) ntags = n.findall(".//tag[@k]") addr_tags = getaddresstags(ntags) version = int(n.get('version')) # Capture address changes if version != 1: if hasaddresschange(nid, addr_tags, version, 'node'): addchangeset(n, cid, changesets, '') changesets[cid]['nids'].add(nid) changesets[cid]['addr_chg_nd'].add(nid) stats['addresses'] += 1 elif len(addr_tags): addchangeset(n, cid, changesets, '') changesets[cid]['nids'].add(nid) changesets[cid]['addr_chg_nd'].add(nid) stats['addresses'] += 1 # Clear memory n.clear() root.clear() # Exit function if nids is empty, this will not send email #if len(nids) == 0: # sys.exit("No nodes from day's changesets fall within"+aoi_file)
if event == 'start': if n.tag == 'node': lon = float(n.get('lon', 0)) lat = float(n.get('lat', 0)) if point_in_box(lon, lat, aoi_box) and point_in_poly(lon, lat, aoi_poly): cid = n.get('changeset') nid = n.get('id', -1) nids.add(nid) ntags = n.findall(".//tag[@k]") addr_tags = getaddresstags(ntags) version = int(n.get('version')) # Capture address changes if version != 1: if hasaddresschange(nid, addr_tags, version, 'node'): addchangeset(n, cid, changesets) changesets[cid]['nids'].add(nid) changesets[cid]['addr_chg_nd'].add(nid) stats['addresses'] += 1 elif len(addr_tags): addchangeset(n, cid, changesets) changesets[cid]['nids'].add(nid) changesets[cid]['addr_chg_nd'].add(nid) stats['addresses'] += 1 n.clear() root.clear() sys.stderr.write('finding changesets\n') # Find ways that contain nodes that were previously determined to fall within specified area context = iter(etree.iterparse(osc_file, events=('start', 'end')))