我怀疑我误解了 imposm 的 XMLParser 的含义,并且我的 XML 格式错误。这是代码(Python):
from imposm.parser.xml.parser import XMLParser
def parseExits(ways):
print 'hello!'
print ways
p = XMLParser(ways_callback=parseExits)
p.parse('osm.xml')
这是osm.xml:
<?xml version="1.0" encoding="UTF-8"?>
<osm version="0.6" generator="Overpass API">
<note>The data included in this document is from www.openstreetmap.org. The data is made available under ODbL.</note>
<meta osm_base="2014-05-06T15:36:02Z"/>
<node id="633064865" lat="35.9654701" lon="-83.9331538">
<tag k="highway" v="motorway_junction"/>
<tag k="ref" v="387"/>
</node>
<node id="633073161" lat="35.9671764" lon="-83.9308793">
<tag k="exit_to" v="Convention Center;East Tennessee History Center;Museum of Art"/>
<tag k="highway" v="motorway_junction"/>
<tag k="ref" v="388"/>
</node>
<node id="633073540" lat="35.9696598" lon="-83.9263839">
<tag k="highway" v="motorway_junction"/>
<tag k="ref" v="387A"/>
</node>
<node id="633079780" lat="35.9733917" lon="-83.9321537">
<tag k="highway" v="motorway_junction"/>
<tag k="noref" v="yes"/>
</node>
<node id="633135831" lat="35.9754882" lon="-83.9337192">
<tag k="highway" v="motorway_junction"/>
<tag k="ref" v="1A"/>
</node>
</osm>
我从这个链接中获取了那个文件:
http://overpass-api.de/api/interpreter?data=node[\"highway\"=\"motorway_junction\"](35.96225504283211,-83.9349889755249,35.976043972301575,-83.92046213150024);out;
这是python脚本的输出:
hello!
[]
显然,XMLParser 无法解析文件。是不是格式不正确?XMLParser 的文档要么很差,要么文档隐藏得非常好,因为我找不到任何关于它的信息。任何提示都会非常有帮助!谢谢!