Geodatenbank für zeitliche Daten entwerfen? [geschlossen]


11

Ich arbeite an einer wetterbasierten GIS-App.

Ich habe die Daten von mehreren Wetterstationen und diese Daten werden täglich aktualisiert (von einem Webdienst).

Die Hindernisse, denen ich gegenüberstehe, sind:

  • Derzeit gibt es 40 Aufnahmestationen, dies kann sich jedoch ändern
  • Verschiedene Stationen zeichnen unterschiedliche Anzahl von Parametern auf, einige Datensatz 5, einige Datensatz 7. ect
  • Einige der Parameter werden täglich aufgezeichnet (z. B. Max. Temperatur), einige werden stündlich aufgezeichnet (aktuelle Temperatur), während andere wöchentlich aufgezeichnet werden.
  • Einige Einrichtungen an einer bestimmten Aufnahmestation werden möglicherweise außer Betrieb genommen (z. B.: Eine Station, die derzeit 7 Parameter meldet, meldet im nächsten Jahr möglicherweise nur 5).
  • Manchmal wird ein Parameter aufgrund technischer Probleme möglicherweise nicht gemeldet. Daher sollte ich in der Lage sein, zwischen Wert = 0, Nullwert und nicht aufgezeichnetem Wert zu unterscheiden.

Ich arbeite mit ArcGIS (Desktop & Server) für den räumlichen Teil dieser Webanwendung und die Verwendung von ArcSDE ist kein Problem, aber ich denke, dass diese Art von Datenbank am besten als reine Datenbank belassen wird und ArcSDE nicht in sie einbindet.

Kann jemand Bücher oder Links vorschlagen, die mir helfen würden?

Antworten:


7

Der einfachste Ansatz scheint drei Tabellen zu sein:

  • Station (ID, Name, Position, ...)
  • Parameter (ID, Name, Einheit, ...)
  • Lesen (station_id, parameter_id, Zeitstempel, Wert, ...)
  • Derzeit gibt es 40 Aufnahmestationen, dies kann sich jedoch ändern

Sie können beliebig viele Stationen hinzufügen. Es kann interessant sein, der Tabelle Informationen zur Betriebszeit einer Station hinzuzufügen.

  • Verschiedene Stationen zeichnen unterschiedliche Anzahl von Parametern auf, einige Datensatz 5, einige Datensatz 7. ect.
  • Einige Einrichtungen an einer bestimmten Aufnahmestation werden möglicherweise außer Betrieb genommen

Kein Problem, da die Beziehung zwischen aufgezeichneten Parametern und Stationen implizit in der Lesetabelle gespeichert ist.

  • Einige der Parameter werden täglich aufgezeichnet (z. B. Max. Temperatur), einige werden stündlich aufgezeichnet (aktuelle Temperatur), während andere wöchentlich aufgezeichnet werden.

Jede Lesung wird durch einen Eintrag in der Lesetabelle dargestellt. Unterschiedliche Intervalle sind kein Problem.

  • Manchmal wird ein Parameter aufgrund technischer Probleme möglicherweise nicht gemeldet

In diesem Fall würde es einfach keinen Eintrag in der Lesetabelle geben.

Außerdem würde ich vorschlagen, den OGC Sensor Observation Standard zu untersuchen . Es gibt viele Beispiele für Wetterstationsaufzeichnungen. Implementierungen wie 52 ° Nord enthalten ein gutes generisches Datenbankschema (in diesem Fall für PostGIS). Obwohl dieser Standard (und die anderen SWE-Standards) einige Anstrengungen erfordern, bin ich davon überzeugt, dass sich die Investition auszahlt.


7

Ich habe diese Woche meine eigenen Forschungen zu zeitlichen Datenbanken durchgeführt. Ich fand diese Antwort auf StackOverflow sehr hilfreich. Für ein grundlegendes Verständnis der Prinzipien lohnt es sich, die einleitenden Kapitel der Entwicklung zeitorientierter Datenbankanwendungen in SQL von Snodgrass zu lesen . Ich finde, dass echte zeitliche Datenbanken ziemlich komplex sind, aber eine einfachere Lösung - wie es Underdark vorschlägt - könnte ausreichen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.