我正在使用SQlite和Python构建我的第一个flask应用程序。在
我正在使用索引RTree使用下面提到的方法将从Arduino接收到的GPS坐标存储到SQlite数据库中 http://janmatuschek.de/LatitudeLongitudeBoundingCoordinates#UsingIndex
Sqlite虚拟表如下所示:
节点编号|纬度|经度
下面的查询正在尝试获取具有给定raduis(KMs)的节点_id。在
这里的列名:纬度和经度。在
变量包括:lat、lng、边界(包括lat_min、lat_max、lg_min)和raduis。在
"""
SELECT * FROM Userdata WHERE (LATITUDE >={lt_min} AND LATITUDE <= {lt_max}) AND (LONGITUDE >= {lg_min} AND LONGITUDE <= {lg_min})
AND acos(sin({lt}) * sin(LATITUDE) + cos({lt}) * cos(LATITUDE) * cos(LONGITUDE-(-{lg}))) <={dist}
""".format(lt=lat,lt_min=boundaries[0],lt_max=boundaries[1],
lg=lng,lg_min=boundaries[2],lg_max=boundaries[3],
dist=radius)
虽然我在1KM的raduis中存储了足够的坐标,但当我执行SELECT语句时,我得到的匹配行数始终为“0”。 但程序不会抛出任何错误。在
我找不到太多关于参数化SELECT语句的信息。在
我使用SELECT语句的方式是否错误? 如何使用SQlite的prepareStatement?在
首先检查documentation。在
下面是一个例子:
相关问题 更多 >
编程相关推荐