Matrix1123 2019-02-28 19:10 采纳率: 100%
浏览 660

已知某位置坐标和大量城市坐标(均用经纬度表示),有没有高效的方法判断该位置处于哪个城市?

如题,目标点和城市坐标都用经纬度表示,城市数量大约在30至50左右。有没有
什么高效的算法判断出该目标点位于哪个城市(不考虑不在其中的情况)?

城市的坐标只用一组经纬度表示,并没有城市大小和范围等信息

  • 写回答

1条回答 默认 最新

  • threenewbee 2019-02-28 23:30
    关注
    假设城市的范围是100km,你可以把城市所在位置的经纬度和相关区域以经纬度整数的形式存放在数据库里。
    比如对应北京市,北纬39”26’至41”03’,东经115”25’至 117”30’
    那么 
    city x y
    北京 115 39
    北京 115 40
    北京 115 41
    北京 116 39
    北京 116 40
    ...
    北京 117 41
    <别的城市类似>
    
    这样,你有一个坐标,直接整除以后查表就可以了。
    
    如果觉得1度(大约110km)还太粗糙,可以用0.5度,0.25度...
    那么这个索引的数据大4倍、8倍。
    
    像北京这么大的城市,用0.5精度的话,也就是几十个点,50个城市也就几千条数据,加上索引,很快的。
    
    评论

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?