关于GIS,对于大量线数据,输入经纬度,返回路名

wcl1986_1 2010-08-25 09:03:28
关于GIS,对于大量线数据,输入经纬度,返回路名这种功能。
如何做到,想凯立德导航,你指到哪,会显示当下的位置。
全部数据大约500M的线路。如何做到快。
...全文
186 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wcl1986_1 2010-09-25
  • 打赏
  • 举报
回复
找到了好的方法,使用网格索引。当给出经纬度时,通过公式计算出此位置网格编号。然后网格是通过编号顺序排序。查找特定编号网格,使用二叉查找,十分快速。但全国范围都做网格不现实,数据量太大,所以只做和道路相交的网格。
其实上述方法,我们早已想过。在看了微软Bing地图切图方案后,觉得还是应该这样做。使用Bing切图方案,是四叉树切图,那样的话,网格是一级一级的,子网格有父网格,不利于做全国范围位置索引。所以,给出经纬度查询道路,和查询省,市,区。应该分开做。做2个。
借此薄记!
码农十六 2010-09-23
  • 打赏
  • 举报
回复
这基本属于道路匹配和空间检索的范畴..
wcl1986_1 2010-08-26
  • 打赏
  • 举报
回复
数据是这样的。全国的道路。要求输入经纬度,查询此经纬度下的地理信息。由于输入点往往不可能精确在线上,我们要求在20米缓冲去内,都算作道路。全国数据500M线路,速度要快。如何实现呢。

我做了2次方案了。较好的是这样实现的。使用网格索引和四叉树索引。先把全国横竖分为若干网格(大约2度一个正方形,有308个)。对每个格子做四叉树索引。每个网格是一张表,放入数据库里。全国数据量不小于50G。

我看,手机上的凯立德导航软件总共1G大。就有如上功能。而且速度不慢。手势当下的位置能显示出。城市-区县-道路。不明白到底是如何实现的。

2,142

社区成员

发帖
与我相关
我的任务
社区描述
它是一种特定的十分重要的空间信息系统。它是在计算机硬、软件系统支持下,对整个或部分地球表层(包括大气层)空间中的有关地理分布数据进行采集、储存、管理、运算、分析、显示和描述的技术系统。
社区管理员
  • 地理信息系统
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧