Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Analyse and design internal API for data select functions #8

Open
Mintaka opened this issue Mar 1, 2021 · 3 comments
Open

Analyse and design internal API for data select functions #8

Mintaka opened this issue Mar 1, 2021 · 3 comments

Comments

@Mintaka
Copy link
Owner

Mintaka commented Mar 1, 2021

When we have measurements data, we can use them many ways.

(API = Application Programming Interface)
Description API in Czech (V kontextu naší aplikace, API popisuje, jak se daná funkce volá a co provede (resp. co vrátí jako výsledek)).
To have good designed API is proven way how to keep program less complicated, easier readable and better usable.

How we will use that data?
How we design functions headers, which attributes we should use?

@OpposedOak
Copy link
Collaborator

#19

@Mintaka
Copy link
Owner Author

Mintaka commented Mar 3, 2021

[In Czech Language]
Asi to můžeme vzít česky.

Možná vycházet z toho, co by naše výběrové funkce měly dělat.
Odpíchnout se můžeme od toho, jaká data máme a zohlednit, jak asi budou vypadat, až přidáme tabulku stanic.

V jedné tabulce to bude:
id_stanice;datum;teplota;

V tabulce stanic:
id_stanice;oznaceni_kraje;oznaceni_stanice;gps_souradnice;(a asi ještě něco přibude)

Jednotlivé funkce by mohly vracet:

denni_data
zprumerovane_tydenni_data
zprumerovane_mesicni_data
zprumerovane_rocni_data

Bez uvedení parametrů by mohly vracet všechna dostupná data.
Další parametry by sloužily k omezení množiny výběru.

Atributy funkcí by tedy mohly být:
cursor = (pokud funkce nepoužijeme pouze k sestavení SQL dotazu)
datum_od
datum_do
kraje = seznam 0 až n krajů, což by mělo být navázano na další funkci, která podle nazvu kraje vráti seznam stanic
(kraji by se dalo vyhnout, pokud bychom brali, že je to duplicitní omezovač k vyčtu stanic)
stanice = seznam stanic 0 až n nazvu stanic, nebo idčka stanic, pak by byla třeba funkce na převod mezi označením stanic a jejich id.
limit = pro umělé omezení maximálního počtu vrácených záznamů

get_daily_average_temperatures(cursor, date_from=None, date_to=None, meteostations=None, limit=None)

Vracet by ty funkce mohly buď pouze sestavený SQL dotaz, který by se následně předal k vykonání (pak by nepotřebovaly kurzor), nebo by vracely výstup z databáze, nebo by vracely už data, přeskládané do nějaké struktury. (Jaké?)

Data by měla být v takové formě, abychom s nimi mohli snadno pracovat dál.
Například z nich generovat grafy, nebo nad nimi provádět další vyhledávání a výpočty.

@DarthProvader
Copy link
Collaborator

V commitu 5cee051 do větve issue_8 jsme přidali jednu funkci, která by měla vyplivnout denní průměry. Máme připravenou další na roční, ale chceme dneska na srazu ještě prodiskutovat jak bychom měli postupovat dál.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants