Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I am working on a Weather based GIS App.

I have the data from several weather stations, and this data will updated daily (by a web service). The obstacles I am facing are:

  • There are currently 40 recording stations, but that might change

  • Different Stations record different number of parameter, some record 5, some record 7. ect

  • Some of the parameters are recorded daily (ex: Max Temperature), some are recorded hourly (current temperature) while others are recorded Weekly.
  • Some facilities at a particular recording station might be decommissioned (for eg: A station that is currently reporting 7 parameters, might report only 5 next year)
  • Sometimes a parameter might not be reported due to technical issues; Hence I should be able to differentiate between, value=0, null value & value not recorded.

I am working with ArcGIS (desktop & Server) for the spatial part of this web app & using ArcSDE is not a problem , but I think that this kind of database is best left as a pure Database & not bring ArcSDE into it.

Can anybody suggest any books or links that would help me?

share|improve this question
add comment

2 Answers

up vote 6 down vote accepted

The simplest approach seems to be three tables:

  • station (id, name, position, ...)
  • parameter (id, name, unit, ...)
  • reading (station_id, parameter_id, timestamp, value, ...)
  • There are currently 40 recording stations, but that might change

You can add any number of stations. It might be interesting to add information about operating time of a station to the table.

  • Different Stations record different number of parameter, some record 5, some record 7. ect.
  • Some facilities at a particular recording station might be decommissioned

Not a problem, as relationship between recorded parameters and stations is implicitly stored in reading table.

  • Some of the parameters are recorded daily (ex: Max Temperature), some are recorded hourly (current temperature) while others are recorded Weekly.

Every reading will be represented by one entry in reading table. Different intervals are no problem.

  • Sometimes a parameter might not be reported due to technical issues

In that case, there would simply be no entry in reading table.

Additionally, I'd suggest looking into OGC Sensor Observation Standard. There are many examples covering weather station recordings. Implementations like 52°North come with a good generic database schema (for PostGIS in this case). While this standard (an the other SWE standards) take some effort to learn, I'm convinced that the investment will pay back.

share|improve this answer
    
Thanks for the great Answer! You have given me such an simple and easy solution. –  Devdatta Tengshe Feb 5 '11 at 10:13
add comment

I've been doing my own research on temporal databases this week. I found this answer on StackOverflow very helpful. For a fundamental understanding of the principles, it's worthwhile to read the introductory chapters of Developing Time-Oriented Database Applications in SQL by Snodgrass. I'm finding that true temporal databases are rather complex, but a simpler solution - such as underdark suggests - might suffice.

share|improve this answer
2  
+1 that book looks really good. –  Kirk Kuykendall Feb 4 '11 at 16:48
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.