导航电子地图数据中POI搜索技术原理之六
基于嵌入式数据库的POI检索
前面几篇文章,都是介绍的基于文件格式的POI检索方法,本文将介绍一下,如何将基于文件格式的检索,移植到嵌入式数据库中实现。
现在比较常用的嵌入式数据库,大概就是SQLITE了。
如下图所示,基于文件的设计方法:
如果移植到数据库中,那么,可以如此设计(表结构如下):
字典表 keytable
索引表 indextable
POI数据实体表 poitable
如是,则可以通过数据库联合查询的方式,检索到对应的结果。
示例:需要检索包含“大学”的POI:
Select id, poiname, address
From poitable
Where id in (
Select a.poiid
From
(Select poiid,pos from indextable where keyedin (Select id from keytable where keyid = “大”)) a,
(Select poiid,pos from indextable where keyedin (Select id from keytable where keyid = “学”)) b
Where a.poiid = b.poiid and a.pos <b.pos
)
这样,就检索到,所有包含“大学”字样的POI对象了。
待续。。。。