Hallo,
ich habe mal eine kleine Fingerübung in python gemacht und versucht mit
nominatim die OSM-Ids der Wege zu bekommen. In Anhang sowohl ein Liste
mit gefunden OSM-Ids sowohl auch das benzutzte python Skript. Zu einigen
Straßen habe ich keine Straße in OSM gefunden. Kann es sein das diese
bereits seit erstellen der Liste geändert wurden?
Viele Grüße
Stefan
Am 19.12.2012 13:59, schrieb Josias Polchau (HBT):
Hallo Hamburger,
im Rahmen der Arbeit mit OSM-Daten sind der Hamburger Hochbahn (HHA) einige
fehlerhafte Straßennamen in Hamburg und Umgebung aufgefallen, die sie der
Comunity gerne übermitteln möchte.
Bei der im Anhang befindlichen Liste handelt es sich um eine Dokumentation der
Ersetzungen, die intern vorgenommen wurden.
Wir hoffen, dass die Liste bei der Verbesserung der Daten behilflich ist.
Mit freundlichem Gruß
Josias Polchau
Softwareentwickler, GIS
E-Mail: [email protected]
Tel.: +49 40 369779-72
HBT Hamburger Berater Team GmbH
Stadthausbrücke 3, 20355 Hamburg
Geschäftsführer:
Ilse Habermann, Hans-Joachim Habermann,
Arne Habermann, Daniel Hoffmann
Handelsregister:
HRB 31629 Hamburg
_______________________________________________
Hamburg mailing list
[email protected]
http://lists.openstreetmap.de/mailman/listinfo/hamburg
# -*- coding: utf-8 -*-
import csv
import json
import urllib
import urllib2
def queryNominatim(options):
options["format"] = "json"
options["email"] = insertemailhere
para = urllib.urlencode(options)
url = "http://nominatim.openstreetmap.org/search?{0}".format(para)
return json.load(urllib2.urlopen(url))
def osmidOfStreet(street, boundingBox):
j = queryNominatim({ 'q' : street, 'viewbox' : boundingBox, 'bounded' : 1 })
j = filter(lambda s: s['display_name'].encode('utf-8').startswith(street), j)
# if list is emty, try without bounding box
if len(j) == 0:
j = queryNominatim({ 'q' : street })
j = filter(lambda s: s['display_name'].encode('utf-8').startswith(street), j)
return [i['osm_id'] for i in j]
# TODO make the ISO-8859-1 decoding transperent in open
with open('HHA-korrekteSchreibweiseOSMStraennamen.csv', 'rb') as csvfile:
with open('HHA-OSMIds.csv', 'w') as output:
csvwriter = csv.writer(output, delimiter=';')
csvreader = csv.reader(csvfile, delimiter=';')
csvreader.next() # skip Header
for row in csvreader:
street = row[0].decode('ISO-8859-1').encode('utf-8')
print street
if len(row) < 3:
comment = ''
else:
comment = row[2]
ids = osmidOfStreet(street, '9,54.5,11,53')
csvwriter.writerow([row[0], row[1], comment] + ids)
# if row[0].decode('ISO-8859-1').encode('utf-8') == "Achtern Krankenhus":
# exit()
_______________________________________________
Hamburg mailing list
[email protected]
http://lists.openstreetmap.de/mailman/listinfo/hamburg