问题描述
因此,我正在与Spatialite Virtualknn一起玩耍,尝试使用开放的街道地图数据和Python进行某些路线选择。
下载澳大利亚osm数据后,我提取了道路图层并创建了一个单独的Spatialite数据库。
spatialite_osm_net.exe -o australia-latest.osm.pbf -d aus_road.sqlite -T roads
然后我从Spatialite_gui运行此查询
select ST_AsText(ref_geometry)
from knn where f_table_name = 'roads'
and ref_geometry = ST_POINT(145.61249,-38.333801)
并获得了这3个结果
POINT(145.61249 -38.333801)
POINT(145.61249 -38.333801)
POINT(145.61249 -38.333801)
然后我创建了这个快速而讨厌的Python脚本(Python 3.9.0,但我尝试了其他版本)
import spatialite
file = "./aus_road.sqlite"
db = spatialite.connect(file)
allme = db.execute("select ST_AsText(ref_geometry) from knn where f_table_name = 'roads' and ref_geometry = ST_POINT(145.61249,-38.333801)")
allme.fetchall()
我回来的就是
[]
有人知道为什么Virtualknn无法在Python中工作吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)