设计用于时态数据的空间数据库?[关闭]


11

我正在开发基于天气的GIS应用程序。

我有几个气象站的数据,并且这些数据每天都会更新(通过Web服务)。

我面临的障碍是:

  • 目前有40个录音站,但可能会改变
  • 不同的站记录不同数量的参数,一些记录5,一些记录7。
  • 每天记录一些参数(例如:最高温度),每小时记录一些参数(当前温度),而每周记录一些参数。
  • 特定记录站的某些设施可能已停用(例如:当前报告7个参数的站,明年可能仅报告5个参数)
  • 有时由于技术问题,可能不会报告参数;因此,我应该能够区分value = 0,空值和未记录的值。

我正在与ArcGIS(台式机和服务器)一起使用此Web应用程序的空间部分,并且使用ArcSDE并不是问题,但是我认为最好将这种数据库保留为纯数据库,而不要将ArcSDE引入其中。

有人可以建议任何对我有帮助的书或链接吗?

Answers:


7

最简单的方法似乎是三个表:

  • 站(id,名称,位置等)
  • 参数(ID,名称,单位等)
  • 读取(station_id,parameter_id,时间戳,值等)
  • 目前有40个录音站,但可能会改变

您可以添加任意数量的电台。将有关工作站运行时间的信息添加到表中可能会很有趣。

  • 不同的站记录不同数量的参数,一些记录5,一些记录7。
  • 特定记录站的某些设施可能已停用

没问题,因为记录的参数和测站之间的关系隐式存储在读取表中。

  • 每天记录一些参数(例如:最高温度),每小时记录一些参数(当前温度),而每周记录一些参数。

每个读数将由读数表中的一个条目表示。不同的间隔没有问题。

  • 有时由于技术问题可能不会报告参数

在这种情况下,阅读表中根本没有任何条目。

另外,我建议您参考OGC传感器观测标准。有很多例子覆盖了气象站的记录。像52°North这样的实现带有良好的通用数据库架构(在这种情况下为PostGIS)。尽管此标准(其他SWE标准)需要花费一些精力来学习,但我坚信投资会有所回报。


7

我本周一直在对时态数据库进行研究。我发现StackOverflow上的答案非常有帮助。为了对这些原理有基本的了解,有必要阅读Snodgrass的“ 用SQL开发面向时间的数据库应用程序”的介绍性章节。我发现真正的时态数据库相当复杂,但是一个简单的解决方案(如Underdark建议)可能就足够了。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.