所以,我正在使用Spatialite Virtualknn尝试使用开放街道地图数据和Python进行一些路由
下载完澳大利亚osm数据后,我提取了一个roads图层并创建了一个单独的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中工作吗
目前没有回答
相关问题 更多 >
编程相关推荐