Python + Spatialite + Virualknn

问题描述

因此,我正在与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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...