将GPS轨道与当地日期相匹配

时间:2010-02-10 11:56:46

标签: datetime timezone gps

我正在编写一个地理标记应用程序并遇到带有时区的头痛问题。基本上,我的应用程序有以下数据:

  • 具有本地时间戳的图像(即相对于时区)
  • GPS跟踪文件,包含使用UTC时间戳的条目

我的问题:我需要一种方法来获取属于给定日的所有数据,具体取决于获取数据的时区。对于图像,这很容易(我在导入时询问用户的时区并将其保存在EXIF数据中),但我不确定如何为GPS轨道执行此操作(通常每天有多个轨道,并且在导入跨越服务器日期和时区的数据时,为用户分配时区并不容易。我可以想到两种可能的解决方案:

  • 根据轨道与图像同时记录的事实使用启发式算法 - 但是在一天的第一张图像之前或者在最后一张图像之后仍然需要包含曲目 - 我是不确定如何实际处理这种边缘案例
  • 从GPS坐标确定时区 - 这将是一个理想的解决方案,但是有一个开源库可以做到这一点(理想情况下是脱机工作的那个)吗?

2 个答案:

答案 0 :(得分:1)

选项二:您可以先查看此网站:http://www.twinsun.com/tz/tz-link.htm

选项一(不太复杂,但我不确定我是否准确理解您的需求......) 所以你有输入:

  • 在已知时区TZ中定义的目标日期,从t0开始到t1结束(不包括)
  • 时间戳为t的图像在同一时区TZ(这个假设是真的吗?
  • 带有UTC时间戳tg的GPS轨道,可以跨越多个时区 我们还知道每张图片至少有一条GPS轨迹。

这是应该有用的东西:

  • 将目标日转换为UTC。您将获得值t0 / UTC和t1 / UTC
  • 将图像的时间戳转换为UTC(从已知的ti / TZ获得ti / UTC)
  • 过程图像if(t0 / UTC< = ti / UTC< t1 / UTC),即它是在您的目标日期间拍摄的。
  • 找到包含ti / UTC的GPS轨道(因为轨道以UTC为时间戳,没有问题),然后是该轨道中点列表中最接近的时间戳。这一点是您图像中最有可能的位置。

答案 1 :(得分:1)

我认为不太适用的启发式方法。

首先始终将时间存储为原点的UTC和时区,否则时间意义不大。

经过一番思考后,我认为只需要解析国家代码和查找时区即可。

根据您想要的详细信息,我认为GeoTog可以帮助您找到一个城市,因此可以帮助您从一个纬度/经度来定位一个国家/地区(尽管它需要更改为另一种方式)。

如果没有,那么Gisgraphy将适用于较大的GeoNames数据库。您可以使用Web服务或提取数据。

如果这些都不够好,那么我认为你需要获得一些GIS数据,可能是VMAP0的边界,并将其处理成多边形或可搜索的东西。