Projekt

Obecné

Profil

Požadavek #80

uzavřený

Adresy při registraci zájemce o členství

Přidáno uživatelem David Kuba před více než 12 roky(ů). Aktualizováno před více než 10 roky(ů).

Stav:
Uzavřený
Priorita:
Normální
Přiřazeno:
Kategorie:
Jádro systému
Cílová verze:
Začátek:
2011-11-10
Uzavřít do:
% Hotovo:

100%

Odhadovaná doba:
12:00hod

Popis

Popis problému:
V registračním formuláři člena se adresa zadává pomocí výběru města a ulice. Číslo se ale zadává přímým zápisem

Při zadávání adresy v registračním formuláři je potřeba za ČÍSLO POPISNÉ přímým zápisem do políčka. Je zde ale problém s tím, že spousta lidí ve městě většinou zná ČÍSLO ORIENTAČNÍ a může tak dojít k přehození těchto čísel. To pak dělá zmatky v seznamu adres. V Prostějově je navíc na sídlištích uváděné číslo bloku, které může být zaměněné s číslem popisným.

Požadavky na řešení:
Pro účely samoregistrace by bylo vhodné změnit způsob zadávání čísla domu pomocí výběru podobně, jak je to u města nebo ulice. Kompletní adresy je možné předem připravit do databáze s pomocí oficiální databáze adres, která je ke stažení např. na stránkách Ministerstva vnitra http://aplikace.mvcr.cz/adresa/. Tento oficiální seznam adres obsahuje č.p./č.o. Tento tvar by pak měl být i v seznamu

Výhoda řešení:
Adresy budou jednoznačně určené v DB. Není tak nutné v registračním formuláři upřesňovat adresu pomocí GPS.


Soubory

adresa_1.png (7.47 KB) adresa_1.png David Kuba, 2013-07-08 13:09
adresa_2.png (7.47 KB) adresa_2.png David Kuba, 2013-07-08 13:09
adresa_3.png (6 KB) adresa_3.png David Kuba, 2013-07-08 13:09
adresa_4.png (6 KB) adresa_4.png David Kuba, 2013-07-08 13:09
adresa_5.png (21 KB) adresa_5.png David Kuba, 2013-07-08 13:09
adresa_1.png (6.04 KB) adresa_1.png David Kuba, 2013-07-08 13:13
adresa_3.png (6.38 KB) adresa_3.png David Kuba, 2013-07-08 13:13

Související úkoly 1 (0 otevřených1 uzavřený)

související s Chyba #803: Problém městské části shodné s městem při zapnutí freenetis-addressesUzavřenýDavid Raška2013-10-092013-10-11

Akce

Aktualizováno uživatelem Ondřej Fibich před více než 12 roky(ů)

David Kuba napsal:

Popis problému:
V registračním formuláři člena se adresa zadává pomocí výběru města a ulice. Číslo se ale zadává přímým zápisem

Při zadávání adresy v registračním formuláři je potřeba za ČÍSLO POPISNÉ přímým zápisem do políčka. Je zde ale problém s tím, že spousta lidí ve městě většinou zná ČÍSLO ORIENTAČNÍ a může tak dojít k přehození těchto čísel. To pak dělá zmatky v seznamu adres. V Prostějově je navíc na sídlištích uváděné číslo bloku, které může být zaměněné s číslem popisným.

Požadavky na řešení:
Pro účely samoregistrace by bylo vhodné změnit způsob zadávání čísla domu pomocí výběru podobně, jak je to u města nebo ulice. Kompletní adresy je možné předem připravit do databáze s pomocí oficiální databáze adres, která je ke stažení např. na stránkách Ministerstva vnitra http://aplikace.mvcr.cz/adresa/. Tento oficiální seznam adres obsahuje č.p./č.o. Tento tvar by pak měl být i v seznamu

Výhoda řešení:
Adresy budou jednoznačně určené v DB. Není tak nutné v registračním formuláři upřesňovat adresu pomocí GPS.

Upřednostňoval bych spíše implementovat možnost zadání čísla orientačního, nežli použití databáze adres a to s následující důvodů.

Seznam adres by se musel načítat z DB (má velikost kolem 43MB, takže real-time vyhledávání by bylo docela zátěž pro server), což ale vede k dalším problémům.

1) Zajištění konzistence adres - nutnost v určitém (jakém?) intervalu načítat dokument s adresami znovu kvůli možným změnám.
2) Rychlostní problém - na databázi adresních bodů jsou závislé další části systému, vložení všech adres v ČR by mohlo mít za následek zpomalení systému.
3) FreeNetIS není vázán pouze na ČR.

Aktualizováno uživatelem David Kuba před asi 12 roky(ů)

Freenetis v registračním formuláři nemá žádnou možnost, jak by mohl uživatel zadat město a ulici. Tyto informace musí být stejně zadané do Freenetisu předem správcem. A nikdo nedokáže dopředu říct, jestli náš budoucí člen nemá trvalé bydliště např. v Praze. Z toho plyne, že se do DB musí stejně vložit kompletní seznam měst a jejich ulic. To, jestli tam přidáme předem i čísla nebo ne, už na tom nic nezmění.

Ten soubor, který má 43MB, je XML soubor a obsahuje spoustu testových tagů. Když se tyto tagy vyhodí, tak z toho zůstane pouhých 13MB dat a většina z nich stejně musí být to Freenetis vložená předem (města a ulice). Tozdíl tak zůstává pouze v tom, že freenetis neobsahuje čísla domu.

Jinak by tady byla ještě jiná možnost a tou je validace adres pomocí některého veřejně dostupného validátoru. Uživatelem zadaná adresa by se ověřila pomocí této služby a do DB by se vložila až po ověření. V případě, že by uživatel zadal špatnou adresu, tak by mu ji to odmítlo a pokud je ta služba schopná vrátit podobné adresy, tak by freenetis uživateli nabídl k výběru tyto adresy.

Aktualizováno uživatelem Ondřej Fibich před téměř 12 roky(ů)

  • Přiřazeno nastaven na Ondřej Fibich

Číslo popisné bude ve verzi 1.0 řešené jako řetězec, takže se do něj bude moct uložit číslo orientační.

Načítání adres bude vyřešeno možností v administraci ve verzi 1.1, kde bude moct admin načíst města z vybraných regionů a ulice z vybraných měst a uložit je v DB FreeNetisu. U čísel popisných a orientačních tato možnost asi nebude.

Aktualizováno uživatelem Ondřej Fibich před téměř 12 roky(ů)

  • Cílová verze nastaven na 1.0

Aktualizováno uživatelem Ondřej Fibich před téměř 12 roky(ů)

  • Cílová verze změněn z 1.0 na 1.1
  • % Hotovo změněn z 0 na 10

Aktualizováno uživatelem Ondřej Fibich před více než 11 roky(ů)

  • Odhadovaná doba nastaven na 15:00hod

Aktualizováno uživatelem Pavel Kocourek před více než 11 roky(ů)

Ondřej Fibich napsal:

Číslo popisné bude ve verzi 1.0 řešené jako řetězec, takže se do něj bude moct uložit číslo orientační.

Načítání adres bude vyřešeno možností v administraci ve verzi 1.1, kde bude moct admin načíst města z vybraných regionů a ulice z vybraných měst a uložit je v DB FreeNetisu. U čísel popisných a orientačních tato možnost asi nebude.

Co kdyby se seznam ulic načetl z centrální databáze až po vybrání města při registraci ? Nemusela by se tak hned načítat celá ČR, ale pouze opravdu užitá města nebo vesnice, kde jsou ulice pojmenovány.

Aktualizováno uživatelem Ondřej Fibich před více než 11 roky(ů)

To by šlo. Jediný háček by mohl nastat v rychlosti operace, ale to se musí otestovat až po částečné implementaci.

Aktualizováno uživatelem Ondřej Fibich před téměř 11 roky(ů)

Použil bych asi ověřovací službu, v registraci vy zmizeli selectboxy a byly by nahrazeny obyčejnými políčky. Po odeslání by se zvalidovala proti DB ČÚZK.

http://vdp.cuzk.cz/vdp/ruian/overeniadresy/vyhledej?as.nazevUl=<navev ulice>&as.cisDom=<CP>&as.cisOr.cisloOrientacniText=<CO>&as.nazevCo=<navev meststke casti>&as.nazevOb=<navev mesta>%C3%ADn&as.psc=76321&asg.sort=UZEMI&search=Vyhledat

Výsledek je v HTML, takže je nutné udělat parser. Celou službu by chtělo zabalit do knihovny, aby mohla být v budoucnu užita i v jiné části systému.

Pokud by byla služba ČÚZK nedostupná, nebo by se adresa vyhodnotila jako chybná, pokusil by se systém ještě vyhledat, zda se nenachází tato adresa v DB.

Aktualizováno uživatelem Ondřej Fibich před téměř 11 roky(ů)

  • Přiřazeno změněn z Ondřej Fibich na David Raška
  • Odhadovaná doba změněn z 15:00hod na 12:00hod

Aktualizováno uživatelem Ondřej Fibich před téměř 11 roky(ů)

  • Předmět změněn z Adresy členů na Adresy při registraci zájemce o členství
  • Stav změněn z Nový na Čeká se
  • Přiřazeno smazán (David Raška)
  • Cílová verze smazán (1.1)

Aktualizováno uživatelem David Kuba před téměř 11 roky(ů)

Ahoj,

to s tím ověřením adresy zní celkem dobře. Ale není to ještě úplně ono. Zkousil jsem si tam zadat nějakou adresu, např.

Sídliště Svornosti 5
Prostějov

To je minimum informací, které je schopný ten registr ověřit (ulice, číslo popisné/orientační a obec). A bohužel mě to vrátilo, že tato adresa neexistuje. Má pravdu, protože správně je to

sídl. Svornosti 5
Prostějov

Jenomže to ten registr neřekne. On akorát ověří existuje/neexistuje. A to je pro zadání adersy málo. Pokud ta adresa neexistuje, tak by jsme měli nabídnout členovi nějakou správnou adresu. Jednoduše ho popostrčit a říct, že je pako, a že správná adresa vypadá tak a tak, jinak u toho bude sedět a nadávat, že je ten Freenetis na prd, protože mu nechce vzít jeho jedinečnou úžasnou adresu. A nebude vědět proč.

Dobrý nápad byl taky ověření v existujících adresách, ale zase jsme u toho, že jde jenom o ověření a pokud to tam někdo zadá blbě, tak jsem tam, kde jsme byli. Takže i když jsem to tvoje řešení chtěl na začátku pochválit, tak bohužel bych se dál přikláněl k tomu, aby se tam nabízela správná adresa.

Jako dobrý nápad vidím ty zapisovací pole, ale doplnil bych to o predikci adresy. Dá se to naprogramovat tak, že člověk klikne do fieldu a začne psát obec a na pozadí se provede select podle prvních písmen a nabídne to seznam obcí, které začínají na P, potom Pr, atd. Zkus si to třeba zde: https://www.cd.cz/eshop/

Když zadá obec, tak se totéž provede pro ulici a protože už se hledá v rámci jednoho města, tak by to nemuselo být až tak velký objem dat, aby se to nedalo zvládnou. Stejným postupem pak nabídnout číslo orientační/popisné.

Toto řešení samozřejmě znamená, že budeme držet databázi adres, kterou si budeme pravidelně aktualizovat. Podobny služby jsou zřejmě všechny placeny. Nicméně tato databáze by nemusela být v každé instalaci, ale mohla by být někde centrálně a Freenetis by si to ověřoval např. přes web service.

Aktualizováno uživatelem David Kuba před téměř 11 roky(ů)

Teď jsem na jednom webu narazil na moc pěkny zadávání adres.

Začal jsem psát do pole Ulice a vyběhl tam seznam ulic.

Vybral jsem příslušnou ulici a zadal první cifru z čísla domu

Po výběru řádku se správnou adresou se vyplnil celý formulář.

Všechno proběhlo online, bez jedinyho zadrhnutí. Evidentně to načetlo seznam všech ulic v republice. Po vybrání konkrétní ulice to pak načetlo všechny adresy v ulici. Krásně je to vidět třeba na ulici Brněnská, ta je skoro všude :-)


Aktualizováno uživatelem Ondřej Fibich před téměř 11 roky(ů)

Ok, tak bychom to mohli udělat takto:

  • periodicky by se stahovali adresy z http://aplikace.mvcr.cz/adresy/ - např. týdně ve večerních hodinách (je tam možnost zjistit datum poslední změny)
  • neukládalo by se to DB struktury adres FreenetISu, ale vytvořila by se samostatná tabulka, která by obsahovala data z XML souboru
  • pokud by adresa nebyla v oné nové tabulce, byla by adresa vyhodnocena jako chybná
  • našeptávač by fungoval podobně jako v příkladu na obrázcích

Pokud by synchronizace měla neblahý účinek na vytížení FN, muselo by se sáhnout po samostatné REST aplikaci. (z hlavy nedokážu odhadnout, jak dlouho bude synchronizace adres probíhat)

Aktualizováno uživatelem David Kuba před téměř 11 roky(ů)

jj, to zni dobre.

Akorat ten XML soubor bude mozna lepsi dat do vice tabulek, ale to chce jeste promyslet. Tezko ted z hlavy rict, co bude lepsi.

Aktualizováno uživatelem David Kuba před téměř 11 roky(ů)

Ondřej Fibich napsal:

  • pokud by adresa nebyla v oné nové tabulce, byla by adresa vyhodnocena jako chybná

Toto je docela dobry. Jednoduse by se hledalo podle naseptavace, ale pokud by to nenasel, tak by se do formulare mohla zadat v podstate jakakoliv adresa, akorat by se spravcum oznacila jako neautorizovana a ti by potvrdili, jestli je OK a nebo to opravi na spravnou adresu.

Myslim, ze takhle je to super reseni.

Aktualizováno uživatelem David Kuba před téměř 11 roky(ů)

Jenom jeste doplnim pro inspiraci zdroj. Doporucuju se podivat na kod te stranky. Maji tam mimo jine osetreno, ze pokud adresa neni validni, tak napise message, jestli se ma urcite ulozit ;) Krom toho naseptavac funguje tak, ze pokud se napred vyplni mesto, tak nabizi adresy pouze z toho mesta. No, maji to moc pekne udelany :)

https://www.dtest.cz/platby/objednavka.php?data=kp6Nn%252B7nbGhrU9O4xNbdpZySU5%252FHn6quVGJhYpaBlqSWbaNrYpSOh%252BPjlZWlkM%252FJ2OiWbZlrYp%252FHn6WuVJmVU5%252FHn6auVGNhaYaP2K2pbFKho83B1JWvm2pibNeOma2Wk5uUloaP2K2sbFKho9O42t7oq1JspJ6Mn5Xqk6KaktLIxpWvpWpja4a335WvpWppa4bE1ObooaafloaP2K2mbFJkYYaP2K2lZGpTodPH2eLqoJWQldS8h67nbGRrU5SCl6SWbaNrZ5522OjWn5mlU5%252FHn6WlbFKAk865yeE306b00tF01eXjUqOWk8l2oPA%253D

Aktualizováno uživatelem David Kuba před téměř 11 roky(ů)

Ještě mě tak napadlo, že pro začátek by ten našeptávač mohl vzít adresy z Freenetisu, které tam už jsou zadané a jsou označené jako autorizované. Pokud by tam adresa neexistovala, tak by zájemce zadal jakoukoliv adresu ručně, ale adresa by se správcům zobrazila jako neautorizovaná. Ti by pak adresu zkontrolovali a označili jako autorizovanou.

Tímto by se využila již naplněná databáze adres ve Freenetisu a nemuseli by jsme řešit stahování oficiálních adres. Na druhou stranu by to ale přinášelo v některých případech detektivní práci s ověřováním neúplných adres.

Aktualizováno uživatelem Ondřej Fibich před téměř 11 roky(ů)

  • Přiřazeno nastaven na David Raška
  • Cílová verze nastaven na 1.1

Aktualizováno uživatelem Ondřej Fibich před téměř 11 roky(ů)

  • Stav změněn z Čeká se na Nový

Aktualizováno uživatelem Ondřej Fibich před téměř 11 roky(ů)

Narazili jsme na problém u seznamu adresních bodů na http://aplikace.mvcr.cz/adresy/. PSČ jsou tam zadané v rozsahu u městských částí a u jednotlivých adresních bodů není tedy zřejmé, jakou vlastně PSČ mají.

Aktualizováno uživatelem David Kuba před téměř 11 roky(ů)

Trošku jsem se na to podíval a zjistil jsem, že ten registr je stejne už zřejmě zastaralý a byl nahrazený regitrem RÚIAN. Ten je dostupný na http://nahlizenidokn.cuzk.cz/StahniAdresniMistaRUIAN.aspx a dá se stáhnout i jako export v csv http://vdp.cuzk.cz/vymenny_format/csv/20130630_OB_ADR_csv.zip.

Dobrá zpráva je, že tento registr obsahuje přesnou adresu včetně přesného směrovacího čísla.

A tím jsme se překvapivě dostali k něčemu co už tady bylo http://vdp.cuzk.cz/ :-)

Aktualizováno uživatelem Ondřej Fibich před více než 10 roky(ů)

  • Kategorie nastaven na Jádro systému

Aktualizováno uživatelem Ondřej Fibich před více než 10 roky(ů)

  • Stav změněn z Nový na Uzavřený
  • % Hotovo změněn z 10 na 100

Požadavek je z implementačního hlediska splněn. Není zatím otestován v ostrém provozu, ale aby nezdržoval vydání, rozhodl jsem se ho uzavřít.
Případné chyby a jejich záplaty se budou řešit již v samostatných úkolech a opravných verzí větve 1.1.

Také k dispozici: Atom PDF