Ich sitze z.Zt. an einem Projekt in dem ich eine Open Street Map parsen soll, z.B. nach Straßenbahn Linien. Das ganze passiert natürlich in Python.
Zur Durchführung des ganzen hab ich mir osmread ausgeguckt. Die Installation per pip gibt keine Fehlermeldung:
Meine Python Version (Ubuntu 13.10):Requirement already satisfied (use --upgrade to upgrade): osmread in /usr/local/lib/python2.7/dist-packages/osmread-0.1dev-py2.7.egg
Requirement already satisfied (use --upgrade to upgrade): argparse in /usr/lib/python2.7 (from osmread)
Requirement already satisfied (use --upgrade to upgrade): protobuf in /usr/lib/python2.7/dist-packages (from osmread)
Requirement already satisfied (use --upgrade to upgrade): lxml in /usr/lib/python2.7/dist-packages (from osmread)
Cleaning up...
Wenn ich nun das Beispiel Programm von der offiziellen Website auf eine kleine eigene map.osm ausführe erhalte ich folgenden Fehler:python -V
Python 2.7.5+
Das Programm:python2 osm.py
Traceback (most recent call last):
File "osm.py", line 4, in <module>
for entity in parse_file('map2.osm'):
File "/usr/local/lib/python2.7/dist-packages/osmread-0.1dev-py2.7.egg/osmread/__init__.py", line 25, in parse_file
for e in parser.parse_file(filename):
File "/usr/local/lib/python2.7/dist-packages/osmread-0.1dev-py2.7.egg/osmread/parser/__init__.py", line 18, in parse_file
for e in self.parse(fp):
File "/usr/local/lib/python2.7/dist-packages/osmread-0.1dev-py2.7.egg/osmread/parser/xml.py", line 34, in parse
for event, elem in context:
File "iterparse.pxi", line 484, in lxml.etree.iterparse.__next__ (src/lxml/lxml.etree.c:114140)
File "iterparse.pxi", line 537, in lxml.etree.iterparse._read_more_events (src/lxml/lxml.etree.c:114720)
File "parser.pxi", line 627, in lxml.etree._raiseParseError (src/lxml/lxml.etree.c:84615)
lxml.etree.XMLSyntaxError: None
Code: Alles auswählen
from osmread import parse_file, Way
highway_count = 0
for entity in parse_file('map.osm'):
if isinstance(entity, Way) and 'highway' in entity.tags:
highway_count += 1
print "%d highways found" % highway_count
Danke schonmal!
Edit: die Map die ich nutze funktioniert bei einem Kumpel mit dem gleichen Programm problemlos