Advertisement
Guest User

Untitled

a guest
Aug 15th, 2014
250
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.44 KB | None | 0 0
  1. # -*- coding: utf8 -*-
  2. import csv
  3. from xml.dom import minidom
  4. import codecs
  5.  
  6. housedb_filename = "adressen.txt"
  7. reader = csv.reader(open(housedb_filename, 'r'), delimiter=";")
  8. my_houses = {}
  9. for row in reader:
  10.     #print row
  11.     k = row[0]
  12.     v = row[1]
  13.     if k not in my_houses.keys():
  14.         my_houses[k] = []
  15.     my_houses[k].append(v)
  16.        
  17. # my_houses[Straße] = [Nummer1,Nummer2,NummerN]
  18.  
  19. osmfile = "map.osm"
  20. osmfile_out = "map_mod.osm" ## Achtung, wird überschrieben
  21.  
  22.  
  23. xmldoc = minidom.parse(osmfile)
  24. itemlist = xmldoc.getElementsByTagName('way')
  25. for one_way in itemlist :
  26.     tags = one_way.getElementsByTagName('tag')
  27.     way_street = ''
  28.     way_housenumber = ''
  29.     for one_tag in tags:
  30.         if (one_tag.attributes['k'].value == u'addr:street'):
  31.             way_street = one_tag.attributes['v'].value
  32.         if (one_tag.attributes['k'].value == u'addr:housenumber'):
  33.             way_housenumber = one_tag.attributes['v'].value
  34.     if way_street != '' and way_housenumber != '':
  35.         if way_street in my_houses.keys() and way_housenumber in my_houses[way_street]:
  36.             #print "Ich habe %s %s gebaut" % (way_street, way_housenumber)
  37.             el = minidom.Element('tag')
  38.             el.setAttribute('k','built_by')
  39.             el.setAttribute('v','vaddern')
  40.             one_way.appendChild(el)
  41.             #print one_way.toxml()
  42.  
  43. xmldoc.writexml(codecs.open(osmfile_out,encoding='utf8',mode="w"))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement