-2

我正在尝试绘制一张上面有很多标记的地图。仅说超过 3000 个标记,这需要很长时间来处理并且使用大量内存。

但我在谷歌地球上有同样的地图,而且打开得很快。有人知道使用 gmLib 加快进程的方法吗?

4

1 回答 1

2

看看RTree 结构

R-树是用于空间访问方法的树数据结构,即用于索引多维信息,例如地理坐标、矩形或多边形。

R-tree 在现实世界中的一个常见用途可能是存储空间对象,例如餐厅位置或构成典型地图的多边形:街道、建筑物、湖泊轮廓、海岸线等,然后快速找到查询的答案例如“查找我当前位置 2 公里范围内的所有博物馆”、“检索我所在位置 2 公里范围内的所有路段”

像您期望的那样的查询将几乎立即成为... :)

我使用SQLite3 中可用的 RTree 扩展。我们的开源框架将这种虚拟表与 Delphi 类连接起来。顺便说一句,它适用于 Delphi 6 到 XE5。

如果您害怕使用 RTree,只需按顺序排列数据将有助于大量搜索,例如通过二分搜索算法

于 2014-01-20T21:57:48.760 回答