Concevoir une base de données spatiale pour des données temporelles? [fermé]

11

Je travaille sur une application SIG basée sur la météo.

J'ai les données de plusieurs stations météorologiques, et ces données seront mises à jour quotidiennement (par un service Web).

Les obstacles auxquels je suis confronté sont:

  • Il y a actuellement 40 stations d'enregistrement, mais cela pourrait changer
  • Différentes stations enregistrent un nombre différent de paramètres, certains enregistrent 5, certains enregistrent 7. ect
  • Certains paramètres sont enregistrés quotidiennement (ex: température maximale), certains sont enregistrés toutes les heures (température actuelle) tandis que d'autres sont enregistrés toutes les semaines.
  • Certaines installations d'une station d'enregistrement particulière pourraient être mises hors service (par exemple: une station qui rapporte actuellement 7 paramètres, pourrait n'en déclarer que 5 l'année prochaine)
  • Parfois, un paramètre peut ne pas être signalé en raison de problèmes techniques; Par conséquent, je devrais pouvoir faire la différence entre, valeur = 0, valeur nulle et valeur non enregistrée.

Je travaille avec ArcGIS (ordinateur de bureau et serveur) pour la partie spatiale de cette application Web et l'utilisation d'ArcSDE n'est pas un problème, mais je pense qu'il vaut mieux laisser ce type de base de données en tant que base de données pure et ne pas y intégrer ArcSDE.

Quelqu'un peut-il suggérer des livres ou des liens qui pourraient m'aider?

Devdatta Tengshe
la source

Réponses:

7

L'approche la plus simple semble être de trois tableaux:

  • station (identifiant, nom, position, ...)
  • paramètre (id, nom, unité, ...)
  • lecture (station_id, parameter_id, horodatage, valeur, ...)
  • Il y a actuellement 40 stations d'enregistrement, mais cela pourrait changer

Vous pouvez ajouter n'importe quel nombre de stations. Il peut être intéressant d'ajouter des informations sur le temps de fonctionnement d'une station au tableau.

  • Différentes stations enregistrent un nombre différent de paramètres, certains enregistrent 5, certains enregistrent 7. ect.
  • Certaines installations d'une station d'enregistrement particulière pourraient être mises hors service

Pas de problème, car la relation entre les paramètres enregistrés et les stations est implicitement stockée dans la table de lecture.

  • Certains paramètres sont enregistrés quotidiennement (ex: température maximale), certains sont enregistrés toutes les heures (température actuelle) tandis que d'autres sont enregistrés toutes les semaines.

Chaque lecture sera représentée par une entrée dans le tableau de lecture. Différents intervalles ne posent aucun problème.

  • Parfois, un paramètre peut ne pas être signalé en raison de problèmes techniques

Dans ce cas, il n'y aurait tout simplement pas d'entrée dans le tableau de lecture.

De plus, je suggère de se pencher sur la norme d'observation des capteurs OGC . Il existe de nombreux exemples couvrant les enregistrements de stations météorologiques. Des implémentations comme 52 ° North sont fournies avec un bon schéma de base de données générique (pour PostGIS dans ce cas). Bien que cette norme (et les autres normes SWE) demande un certain effort d'apprentissage, je suis convaincu que l'investissement sera rentable.

obscur
la source
7

J'ai fait ma propre recherche sur les bases de données temporelles cette semaine. J'ai trouvé cette réponse sur StackOverflow très utile. Pour une compréhension fondamentale des principes, il vaut la peine de lire les chapitres d'introduction du développement d'applications de bases de données temporelles en SQL par Snodgrass. Je trouve que les vraies bases de données temporelles sont assez complexes, mais une solution plus simple - comme le suggère Underdark - pourrait suffire.

nw1
la source