🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.misc.meteorologia
9 messages
9 total messages Started by Szymon Thu, 26 Jan 2012 14:17
GSOD-FRSHTT
#30704
Author: Szymon
Date: Thu, 26 Jan 2012 14:17
14 lines
1408 bytes
Witam,

Przeglądając bazę GSOD natknąłem sie na dziwny zapis jeśli chodzi FRSHTT. 
Poniżej przykład:
10000
100000
Jak to odczytać? Powinno być 6 liczb i tak właśnie jest w 2 przypadku co 
oznacza, że wystąpił opad deszczu, a pozostałe zjawiska nie wystąpiły. A w 1 
przykładzie jak to rozumieć? Czy też opad deszczu, a może śniegu skoro 
brakuje jednej cyfry...? I to nie jest jeden przypadek, takich jak ten tutaj 
przedstawiony są setki.
______________
Pozdrawiam
Szymon 
Re: GSOD-FRSHTT
#30706
Author: giq
Date: Thu, 26 Jan 2012 17:37
22 lines
1974 bytes
Cześć,

W dokumentacji rzecze:

FRSHTT  Indicators (1 = yes, 0 = no/not reported) for the occurrence during the day of:
Fog ('F' - 1st digit).
Rain or Drizzle ('R' - 2nd digit).
Snow or Ice Pellets ('S' - 3rd digit).
Hail ('H' - 4th digit).
Thunder ('T' - 5th digit).
Tornado or Funnel Cloud ('T' - 6th digit).

Więc po pierwsze - deszcz to druga, nie pierwsza cyfa.

Ale do rzeczy: Z tego wynika, że jeżeli n-tej liczby nie ma, to znaczy że zjawisko nie wystąpiło.

...jednak lata przepracowane w branży IT podpowiadają mi, że jest szansa na to, że system z którego ciągniesz te dane traktuje je jako liczby stałoprzecinkowe, więc 010000 jest dla niego równoważne z 10000. 
Czy gdziekolwiek w Twojej bazie masz tam wpis z zerem z przodu? Jeżeli tak, to zapis 10000 oznacza Fog, jeżeli nie to Rain.

--
Pozdrowienia z Wrocławia
Giq
Re: GSOD-FRSHTT
#30707
Author: Szymon
Date: Fri, 27 Jan 2012 10:55
6 lines
1346 bytes
No właśnie w bazie nigdzie nie ma wpisu z 0 z przodu. I o to właśnie chodzi.
W takim razie co będzie oznaczał wpis 100 oraz 1000? To samo czyli mgłę? 
Podejrzanie to wygląda. Nie bardzo wiem jak to ugryźć.
______________
Pozdrawiam
Szymon 
Re: GSOD-FRSHTT
#30708
Author: PiotrD
Date: Fri, 27 Jan 2012 11:02
12 lines
1754 bytes
On 27 Sty, 11:55, "Szymon" <stormcha...@onet.eu> wrote:
> No właśnie w bazie nigdzie nie ma wpisu z 0 z przodu. I o to właśnie chodzi.
> W takim razie co będzie oznaczał wpis 100 oraz 1000? To samo czyli mgłę?
> Podejrzanie to wygląda. Nie bardzo wiem jak to ugryźć.
> ______________
> Pozdrawiam
> Szymon

Raczej 000100. Dodawaj zera z przodu aż długość ciągu nie będzie równa
wymaganej.

Pzdr
Re: GSOD-FRSHTT
#30709
Author: Szymon
Date: Fri, 27 Jan 2012 12:16
4 lines
1277 bytes
Dzięki za odpowiedź:) Teraz wszystko jasne.
___________________
Pozdrawiam
Szymon 
Re: GSOD-FRSHTT
#30710
Author: mysz leśna
Date: Fri, 27 Jan 2012 15:49
21 lines
2453 bytes
a jakiego rodzaju jest to pole - tekstowe czy jakaś liczba ?

Bo jeżeli liczba (np. Integer, Long) to dodanie zer na początku nie
jest możliwe. No chyba że w okienku do oglądania liczba jest jakoś
formatowana, tak żeby miała zawsze tyle samo cyfr. Czyli np. jak ma 5
cyfr zamiast 6-u to na początku dodawane jest zero (ale nie w tabeli,
tylko w okienku na które patrzy użytkownik). Czyli:
10000
100000
byłoby przekształcane do:
010000
100000
(chwilowo, dla patrzącego). Chyba raczej trudno sobie wyobrazić, żeby
dodawało brakujące zera z tyłu. Bo to by oznaczało, że na początku nie
może być zera.

Natomiast jeżeli tekstowe czy podobne (Text, chyba też jakiś Vachart
czy coś w tym rodzaju w MySQL, Memo w Access) to można wstawiać
dowolne znaki, w tym zera na początku.

Nie mam pojęcia co to takiego FRSHTT i ta baza, ale tam mi się wydaje.
Re: GSOD-FRSHTT
#30711
Author: Szymon
Date: Sat, 28 Jan 2012 10:03
8 lines
1677 bytes
Jeśli taka baza jest już skonwertowana do Excela to jak nanieść poprawki? Bo 
raczej tysiąca a nawet miliona danych poprawiać nie bede:) No chyba, że 
zastosuję jakąś konkretną funkcję do tego i sam program będzie rozpoznawał 
np.: funkcja jeżeli 100000 to mgła, jeżeli 10000 to deszcz itd. Da radę coś 
takiego w Excelu zrobić?
______________
Pozdrawiam
Szymon 
Re: GSOD-FRSHTT
#30712
Author: mysz leśna
Date: Sat, 28 Jan 2012 21:33
25 lines
2992 bytes
Tutaj:
http://darekk.com/temp/FRSHTT.zip
są dwa pliki z taką funkcją getFRSHTT:
FRSHTT.xls (Excel):
- opcja View Code pod zakładkami Sheet albo
- Tools - Macro - Visual Basic Editor
Funkcja getFRSHTT i dodatkowa procedura są w Module1.
FRSHTT.mdb (Access):
- np. Tools - Macro - Visual Basic Editor i jak wyżej.
W Accesie trzeba wpisać dane do tabeli Table1, a następnie otworzyć
kwerendę Query1.
Jeżeli w danej wersji Office nie ma Accessa, plik prawdopodobnie można
otworzyć przy pomocy Access Runtime dostępnego w internecie.

Co najmniej plik mdb trzeba przed otwarciem odblokować (pod prawym
przyciskiem myszy na ikonie pliku).
Funkcja zmienia np. 1011 na "- - S - T T"
Jak się wpisze w edytorze VBA kodzie funkcji w cudzysłowiach coś
innego zamiast tych -, S , T itd, będzie wyświetlać tamto. Cokolwiek
co się wpisze w takich sześciu linijkach które łatwo zauważyć. Gdyby
chodziło o dodawanie samych zer, można by napisać coś prostszego.
Tą funkcję utworzyć na wiele sposobów, bardzo możliwe że ta konkretna
nie jest najszybsza i najzręczniejsza.
To jest pierwsza funkcja, którą napisałem w życiu również do Excela,
ale udało się ją znaleźć w jakimś spisie funkcji i nawet przekształca.
Re: GSOD-FRSHTT
#30713
Author: mysz leśna
Date: Tue, 31 Jan 2012 10:52
2 lines
2023 bytes
Jeszcze raz to samo, ale zupełnie inaczej zrobione, pliki do pobrania
są pod linkiem jak wyżej.
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads