将GPS坐标映射到某个区域

时间:2012-10-30 01:06:08

标签: map gps theory geospatial concept

我有设备在整个国家/地区移动,向我报告他们的GPS位置。我想要做的是有一个系统将这些坐标映射到命名区域。

我看到两种方法:

  • 建立一个数据库,将区域定义为在各种GPS坐标之间拉伸的多边形。
  • 使用可以为我提供信息的某种形式的网络服务。

要么没事。它根本不需要非常准确,因为我只需要知道所涉及的区域,以便我知道如果设备出现错误,应拨打哪个区域办事处。

在第一种方法中,您将如何构建包含数据的SQL表?您将GPS坐标与其中一个定义区域匹配的方法是什么?没有很多区域可以定义,而且它们非常大,因此手动输入定义区域的值不会有问题。

对于第二种方法,是否有人知道以编程方式从网络上按需提取此信息的方式? (在这种情况下,我可能会选择Perl WWW :: Mechanize)。 “接近Somecity”就够了。

-

PS:这不是“为我做的工作”这样的问题,而是更多的头脑风暴要求。伪代码很好。关于这个问题的一般理论也很好。

2 个答案:

答案 0 :(得分:1)

  

在第一种方法中,您将如何构建包含的SQL表   数据?那么匹配GPS的方法是什么?   坐标到一个定义的区域?

Asume:区域被定义为闭合多边形 只需调用多边形方法中的点,即匹配GPS坐标,如

boolean isInside =  polygon.contains(latitude, longitude);

如果您的多边形很少,则可以对所有现有多边形进行强力搜索。 如果你有很多点和每个(十万)点,你想要使用空间网格,如四叉树或k-d树,以减少对相关多边形的搜索。

方法

答案 1 :(得分:0)

此过程称为反向地理编码,许多服务提供商(如google,yahoo和esri)都提供允许执行此操作的服务

他们将返回最近的兴趣点或地址,但您可以保留您感兴趣的管理级别

检查使用条款,了解哪种服务与您的预期用途兼容