GPS souÅ™adnice Äeských mÄ›st a obcÃ
Pro zobrazovánà poloh dopadů meteosond na IRC jsem potÅ™eboval v jednoduchém CSV formátu seznam souÅ™adnic Äeských mÄ›st, ale ukázalo se, že je pÅ™ekvapivÄ› obtÞné nÄ›co takového zÃskat. Sice existuje tabulka na jednom astronomickém webu, výbÄ›r tam zahrnutých obcà je ale docela divný, nÄ›kde je mÃsto obce jen jejà Äást, atd.
Nakonec jsem zvolil postup “udÄ›lej si sám”, a to kombinacà seznamu na Wikipedii, Google Geocoding API a trochy XPath.
Seznam rozumné podmnožiny mÄ›st mohu zÃskat tÅ™eba pomocÃ:
curl 'http://cs.wikipedia.org/w/index.php?title=Seznam_obc%C3%AD_s_roz%C5%A1%C3%AD%C5%99enou_p%C5%AFsobnost%C3%AD&action=edit' | sed -ne 's/^# \[\[\([^]|]*|\)*\([^]]*\)\]\].*/\2/p' | sort
Mám-li zase jméno obce, jejà souÅ™adnice mohu zÃskat tÃmto zaklÃnadlem:
m=AÅ¡; curl -s 'http://maps.googleapis.com/maps/api/geocode/xml?address='"${m// /+},+CZ"'&sensor=false' | xmllint --xpath '//location[lat or lng]//text()' -
(Důležitý trik je to ,CZ, jinak bude Google znát spoustu KolÃnů a AÅ¡ bude znamenat Americká Samoa. AlternativnÄ› si můžete z výsledků vyfiltrovat ty Äeské pomocà XPath //result[address_component/short_name/text()="CZ"]/geometry/location[lat or lng]//text()
.)
TeÄ už to pro vygenerovánà jednoduchého CSV staÄà spojit dohromady:
curl 'http://cs.wikipedia.org/w/index.php?title=Seznam_obc%C3%AD_s_roz%C5%A1%C3%AD%C5%99enou_p%C5%AFsobnost%C3%AD&action=edit' | sed -ne 's/^# \[\[\([^]|]*|\)*\([^]]*\)\]\].*/\2/p' | sort | while read m; do echo -n $m curl -s 'http://maps.googleapis.com/maps/api/geocode/xml?address='"${m// /+},+CZ"'&sensor=false' | xmllint --xpath '//location[lat or lng]//text()' - | tr -s '\n' ' ' | tr ' ' ',' echo sleep 0.1 done | sed 's/,$//'
Rádi byste hotové CSV?
Bonus: PodobnÄ› vygenerované CSV s pražskými Äástmi (katastrálnÃmi územÃmi).
Bonus 2: A ještě CSV s obcemi s přenesenou působnostà (dalšà velké obce a města)
ZdravÃm. ZajÃmavý návod. Bylo by možné zÃskat souÅ™adnice ostatnÃch obcà v Är?
Seznam obcà mám. ZdravÃm Tomáš
Dobrý den,
mám také seznam mÄ›st a potÅ™eboval bych k nim dostat gps souÅ™adnice, bylo by to možné? Nebo prosÃm o radu. Nejsem nijak programátorsky zdalý, tak nevÃm co mám dÄ›lat s tÄ›mi kódy co sem pÃÅ¡ete.
Děkuji
Kompletnà seznam gps všech měst v csv na https://github.com/33bcdd/souradnice-mest
Miku, jaky je zdroj (zdroje) toho tveho seznamu? Jen pro overeni spolehlivosti dat….
dik
@Michal zdravÃm, pÅ™idal jsem mapu, takže můžeÅ¡ udÄ›lat namátkovou vizuálnà kontrolu http://33bcdd.github.io/souradnice-mest/#map
zdravÃm , dÄ›kuji za podklady, stáhnul jsem si to, ale nevÃm proÄ nezobrazuje se mi správnÄ› ÄeÅ¡tina, jak to napravit._ DÄ›kuji
ProÄ na to jà složitÄ›, když to jde jednoduÅ¡e. :-)
Já jsem se obrátil na kartografii Praha s tÃm že potÅ™ebuji GPS souÅ™adnice vÅ¡ech mÄ›st ÄŒR a to jejich stÅ™edu. Po chvilce vyjednávánà (zajÃmalo je hlavnÄ› na co to chci – abych s tÃm asi nekÅ¡eftoval) mi je ochotnÄ› poslali. Mám tak 996 mÄ›st (vÄetnÄ› jejich ÄástÃ).
Pokud má někdo zájem, rád poskytnu.
ahoj, potÅ™eboval bych souÅ™adnice, mohl bych se s tebou domluvit, pokud je jeÅ¡tÄ› máš? DÃky. Karel
@karel
dotaz? mas jeste souradnice? diky karel
Muzu poprposit o ty mesta
@Ruda
Muzu poprosit o ta mesta ?
Seznam z https://github.com/33bcdd/souradnice-mest je rozsáhlý, ale ne úplný. Obsahuje 6253 položek proti cca 9600 katastrálnÃm územÃm ÄŒR, které lze najÃt v evidenci CUZK. Věřil jsem tomu, že rozdÃl plyne z faktu, že ne každé k.územà je souÄasnÄ› obcÃ, ale pÅ™i detailnÄ›jÅ¡Ãm zkoumánà jsem zjistil, že v seznamu se souÅ™adnicemi chybÄ›jà rozsáhlé bloky dat s dlouhou Å™adou reálnÄ› existujÃcÃch obcÃ, které naopak vede seznam katastrálnÃch územÃ. V informacÃch k hledaným obcÃm v aplikaci Mapy na Seznam.cz jsem žádné podobné dÃry nezaznamenal. ZÅ™ejmÄ› nÄ›kde existuje úplnÄ›jÅ¡Ã seznam souÅ™adnic. ZatÃm jsem ho ale nevypátral.
Mohu taky poprosit o ty souÅ™adnice mÄ›st? DÃky Petr
@VladimÃr
To ÄÃslo odpovÃdá poÄtu záznamů obcÃ, které jsem naÅ¡el na czso (statistický úřad). PravdÄ›podobnÄ› se tedy skuteÄnÄ› jedná o samostatné obce. Obce které jsou pÅ™idružené k mÄ›stům tam nejspÃÅ¡ chybÃ.