obce icon indicating copy to clipboard operation
obce copied to clipboard

Přidat okres

Open zoul opened this issue 5 years ago • 5 comments

Pro rozlišení obcí se stejným názvem (například Nová Ves je v datech 14✕) by se nám velmi hodil okres. (Kraj je pro rozlišení nedostatečný.) Dá se nějak odvodit z toho, co už máme, nebo kde ho vezmeme? (Wikidata? Viz #28.)

zoul avatar Aug 05 '20 08:08 zoul

Okres se da vytahnout pres wikidata nejak takto:

SELECT DISTINCT (REPLACE(STR(?lua), "CZ", "") as ?kodObce) ?ico ?population ?area ?localArea ?firstRecord ?CoA ?flag ?website ?district (?item as ?wikiLink) WHERE {
  SERVICE wikibase:label {
    bd:serviceParam wikibase:language "cs".
    ?website  rdfs:label ?websiteLabel.
  }
  #{ ?czechMunicipality wdt:P31 wd:Q5153359 . }
  OPTIONAL {
    # Select Municipalites with propper RÚIAN
    { ?item wdt:P31 wd:Q5153359; wdt:P7606 ?lua;  . }  
    UNION
    # as some of them don't have it, select Municipalities with Czech LUA (NUTS4)
    # !!! beware that in some cases data marked as LUA are districts
    #  => select only LUA with length greater then RUIAN ("CZxxxxxx")
    { ?item wdt:P31 wd:Q5153359; wdt:P782 ?lua . FILTER (STRLEN(STR(?lua)) > 6) }
  }
  # Select Municipalities in Czech republic
  OPTIONAL { ?item wdt:P4156 ?ico . }
  OPTIONAL { ?item wdt:P1082 ?population . }
  OPTIONAL { ?item wdt:P2046 ?area . }
  OPTIONAL { ?item wdt:P131 ?district . } # tady je okres
}
#FILTER ( ?lua = 599100 || ?lua = "CZ599140" ) #Find specific result
#OFFSET 10000
LIMIT 10000

srdecny avatar Aug 05 '20 08:08 srdecny

Super. Nezkusil bys to projet pro celý dataset, abysme měli představu, jestli je kombinace název obce + okres skutečně unikátní?

zoul avatar Aug 05 '20 08:08 zoul

Nemá smysl jít přímo po kódech obcí (možná na separátní issue)? Z toho budou přímé vazby na kraje, atd. Navíc je to oficiální výstup csoz, wikidata jsou až sekundární zdroj (pro start tu: https://apl.czso.cz/iSMS/cisdet.jsp?kodcis=43)

tkopecek avatar Sep 30 '21 16:09 tkopecek

Nemá smysl jít přímo po kódech obcí (možná na separátní issue)? Z toho budou přímé vazby na kraje, atd. Navíc je to oficiální výstup csoz, wikidata jsou až sekundární zdroj (pro start tu: https://apl.czso.cz/iSMS/cisdet.jsp?kodcis=43)

? Něco jako:

const CZSO_URL = "https://apl.czso.cz/iSMS/cisexp.jsp";

const input_helper = (name, value) => {
    const hiddenField = document.createElement('input');
    hiddenField.type = 'hidden';
    hiddenField.name = name;
    hiddenField.value = value;
    hiddenField.checked = true;
    return hiddenField;
};

const request_info = (id) => {
    const form = document.createElement('form');
    form.action = CZSO_URL;

    form.appendChild(input_helper("kodcis", `${id}`));
    // CONTEXT:Ciselnik
    form.appendChild(input_helper("typdat", "0")); 
    // DATE:dd.mm.yyyy
    form.appendChild(input_helper("datpohl", "02.10.2021"));
    // LANG:CS
    form.appendChild(input_helper("cisjaz", "203"));
    // FORMAT:XML
    form.appendChild(input_helper("format", "0")); 
  
    document.body.appendChild(form);
    form.submit();
};

// ...
request_info(43);

michto01 avatar Oct 03 '21 10:10 michto01

jj, ale spíš jsem to myslel jako reakci na původní problém. Jakože mi přijde zbytečné duplikovat státní open data. Navíc s kódem obce se pak dají dobře párovat státní open data. Hierarchie obcí je třeba tady.

tkopecek avatar Oct 04 '21 09:10 tkopecek