Projektowanie przestrzennej bazy danych dla danych czasowych? [Zamknięte]

11

Pracuję nad aplikacją GIS opartą na pogodzie.

Mam dane z kilku stacji pogodowych, które będą aktualizowane codziennie (przez serwis internetowy).

Przeszkody, które napotykam to:

  • Obecnie jest 40 stacji nagraniowych, ale to może się zmienić
  • Różne stacje zapisują inną liczbę parametrów, niektóre zapisują 5, niektóre zapisują 7. ect
  • Niektóre parametry są rejestrowane codziennie (np. Temperatura maksymalna), niektóre są rejestrowane co godzinę (aktualna temperatura), a inne co tydzień.
  • Niektóre urządzenia na konkretnej stacji nagrywającej mogą zostać wycofane z eksploatacji (np. Stacja, która obecnie zgłasza 7 parametrów, może zgłosić tylko 5 w przyszłym roku)
  • Czasami parametr może nie zostać zgłoszony z powodu problemów technicznych; Dlatego powinienem być w stanie rozróżnić między wartością = 0, wartością zerową i wartością niezapisaną.

Pracuję z ArcGIS (komputer stacjonarny i serwer) dla przestrzennej części tej aplikacji internetowej i używanie ArcSDE nie stanowi problemu, ale myślę, że tego rodzaju bazę danych najlepiej pozostawić jako czystą bazę danych i nie wprowadzać do niej ArcSDE.

Czy ktoś może zasugerować książki lub linki, które pomogłyby mi?

Devdatta Tengshe
źródło

Odpowiedzi:

7

Najprostszym podejściem wydają się być trzy tabele:

  • stacja (identyfikator, nazwa, stanowisko, ...)
  • parametr (identyfikator, nazwa, jednostka, ...)
  • odczyt (identyfikator_ stacji, identyfikator_parametru, znacznik czasu, wartość, ...)
  • Obecnie jest 40 stacji nagraniowych, ale to może się zmienić

Możesz dodać dowolną liczbę stacji. Interesujące może być dodanie do tabeli informacji o czasie działania stacji.

  • Różne stacje zapisują inną liczbę parametrów, niektóre zapisują 5, niektóre zapisują 7. ect.
  • Niektóre urządzenia w określonej stacji nagrywającej mogą zostać wycofane z eksploatacji

Nie stanowi to problemu, ponieważ związek między zarejestrowanymi parametrami a stacjami jest domyślnie zapisywany w tabeli odczytu.

  • Niektóre parametry są rejestrowane codziennie (np. Temperatura maksymalna), niektóre są rejestrowane co godzinę (aktualna temperatura), a inne co tydzień.

Każde czytanie będzie reprezentowane przez jeden wpis w tabeli do czytania. Różne interwały nie stanowią problemu.

  • Czasami parametr może nie zostać zgłoszony z powodu problemów technicznych

W takim przypadku po prostu nie byłoby wpisu w tabeli do czytania.

Dodatkowo sugerowałbym przyjrzenie się standardowi obserwacji czujnika OGC . Istnieje wiele przykładów obejmujących nagrania ze stacji pogodowych. Implementacje takie jak 52 ° Północ mają dobry ogólny schemat bazy danych (w tym przypadku dla PostGIS). Chociaż ten standard (a także inne standardy SWE) wymaga trochę wysiłku, aby się go nauczyć, jestem przekonany, że inwestycja się zwróci.

podmrok
źródło
7

W tym tygodniu prowadziłem własne badania dotyczące tymczasowych baz danych. Uważam, że ta odpowiedź na StackOverflow jest bardzo pomocna. Aby uzyskać podstawowe zrozumienie zasad, warto przeczytać wstępne rozdziały dotyczące programowania aplikacji bazodanowych w języku SQL przez Snodgrass. Uważam, że prawdziwe tymczasowe bazy danych są raczej złożone, ale prostsze rozwiązanie - jak sugeruje podmrok - może wystarczyć.

nw1
źródło