根据经纬度查询地名,

就是车辆卫星定位时,客户不用打开地图,就能知道车辆的地点,
就是根据经纬度获取地名的问题,
比如 读得地名:“广西省南宁市武鸣”
或者读得地名:“广西省南宁火车站”
或者读得地名:“广西省南宁友爱路宾华酒店”

这个很麻烦,
但分析一下,也就不是很麻烦了,
平面地图分三种图形:点、线、面
所以做三种测试就行:
1. 是否落在点上(或者点的周围)
2. 是否落在线上(或者线的左右)
3. 是否落在面上

第一步:点的测试,就是寻找 经纬度 最临近的点,

采用两点间坐标来测试的方式,但是全国的地名数量巨大,
一个一个测试速度存在问题,那如何优化呢?
那就是让测试的点尽可能少,但又要准确。
这里可以采用逐级搜索的方式,逐级搜索,
就是根据 经纬度 指定一个范围,在这个范围内搜索,没有搜索出结果,
再放大范围,这样一步一步放大。而范围的确定,却是靠经验值,
总之,准则是“测试的点尽可能少,而且不能遗漏”

第二步:线的测试

寻找 经纬度 最临近的线,

这里先要了解 地图 是如何表示线的,
因为 地图里的线,通常都是曲线,比如 公路、铁路、河流 等.
所以地图 是通过很多个连续的线段 来连接成一条线的,
线是由线段组成,所以存储 线段 的两个点坐标就行了。

线的测试,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值