Historia cen na prawdziwych danych: ogloszenia, NBP i GUS
Deploy Polska Lokalnie / deploy (push) Successful in 12s
Deploy Polska Lokalnie / deploy (push) Successful in 12s
Strona /historia-cen pokazywala pusty wykres (wczesniej zmyslony). Teraz:
Ceny ofertowe z ogloszen:
- Tabela price_snapshots: codzienny zapis srednich cen za m2 z opublikowanych
ogloszen per miasto i dzielnica, typ (mieszkanie/dom) i rynek. Zapis co noc
(02:30) i przy starcie, gdy brakuje dzisiejszego. Historii sprzed pierwszego
zapisu nie odtwarzamy.
Ceny transakcyjne ze zrodel publicznych (porownanie, cale miasto, mieszkania):
- NBP: plik ceny_mieszkan.xlsx (baza BaRN) - 17 miast, rynek pierwotny
i wtorny, od III kw. 2006. Odczyt XLSX bez nowych zaleznosci.
- GUS: API Banku Danych Lokalnych (temat P3794) - miasta na prawach powiatu,
kwartalnie od 2010, z opoznieniem ok. roku.
- Import raz w tygodniu i przy starcie, gdy dane sa starsze niz tydzien;
blad zrodla nie kasuje poprzednich danych.
- GET /api/price-history (publiczny): historia, biezaca srednia z ogloszen,
od kiedy zbieramy dane oraz serie NBP i GUS.
Frontend:
- Okresy "Ostatnie 5 lat" (domyslny), "Od 2006 (NBP)", "2026 do dzis";
trzy serie z legenda, dymek ze wszystkimi zrodlami, statystyki i wnioski
z prawdziwych liczb, porownanie cen ofertowych z NBP i GUS oraz roznica
i srednia, gdy zrodla sie roznia. Ceny w "Porownaj lokalizacje".
- Poprawione dopasowanie lokalizacji ("Warszawa" otwierala "Warszawa,
Mokotów"), usuniete resztki zmyslonych cen i opcja "Lokal uzytkowy".
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -8586,6 +8586,67 @@ a.city-card:hover {
|
||||
stroke-width: 4;
|
||||
}
|
||||
|
||||
/* Zrodla porownawcze: NBP (niebieska) i GUS (pomaranczowa, przerywana) - ceny transakcyjne. */
|
||||
.history-line-nbp {
|
||||
stroke: #2f6fd6;
|
||||
stroke-width: 2.5;
|
||||
}
|
||||
|
||||
.history-line-gus {
|
||||
stroke: #e08a1e;
|
||||
stroke-dasharray: 7 5;
|
||||
stroke-width: 2.5;
|
||||
}
|
||||
|
||||
.history-dot-nbp {
|
||||
stroke: #2f6fd6;
|
||||
}
|
||||
|
||||
.history-dot-gus {
|
||||
stroke: #e08a1e;
|
||||
}
|
||||
|
||||
.history-tooltip small {
|
||||
color: #3f4d61;
|
||||
font-size: 11px;
|
||||
font-weight: 700;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.history-tooltip small strong {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.history-legend {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 8px 18px;
|
||||
margin: 4px 0 14px;
|
||||
}
|
||||
|
||||
.history-legend span {
|
||||
align-items: center;
|
||||
color: #4b5a6e;
|
||||
display: inline-flex;
|
||||
font-size: 12px;
|
||||
font-weight: 700;
|
||||
gap: 7px;
|
||||
}
|
||||
|
||||
.history-legend span::before {
|
||||
border-top: 3px solid #0aa35f;
|
||||
content: '';
|
||||
width: 22px;
|
||||
}
|
||||
|
||||
.history-legend .nbp::before {
|
||||
border-top-color: #2f6fd6;
|
||||
}
|
||||
|
||||
.history-legend .gus::before {
|
||||
border-top: 3px dashed #e08a1e;
|
||||
}
|
||||
|
||||
.history-guide {
|
||||
stroke: #cfd9e5 !important;
|
||||
stroke-dasharray: 5 5;
|
||||
|
||||
Reference in New Issue
Block a user