abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 18:11 | IT novinky

    Dnes a zítra probíhá vývojářská konference Google I/O 2025. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).

    Ladislav Hagara | Komentářů: 0
    dnes 15:22 | Komunita

    V Bostonu probíhá konference Red Hat Summit 2025. Vybrané přednášky lze sledovat na YouTube. Dění lze sledovat na síti 𝕏 (#RHSummit).

    Ladislav Hagara | Komentářů: 0
    dnes 15:00 | Nová verze

    Společnost Red Hat oficiálně oznámila vydání Red Hat Enterprise Linuxu 10. Vedle nových vlastností přináší také aktualizaci ovladačů a předběžné ukázky budoucích technologií. Podrobnosti v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    dnes 12:22 | Pozvánky

    Tuto sobotu 24. května se koná historicky první komunitní den projektu Home Assistant. Zváni jsou všichni příznivci, nadšenci a uživatelé tohoto projektu. Pro účast je potřebná registrace. Odkazy na akce v Praze a v Bratislavě.

    jose17 | Komentářů: 0
    dnes 04:44 | IT novinky

    Troy Hunt představil Have I Been Pwned 2.0, tj. nový vylepšený web služby, kde si uživatelé mohou zkontrolovat, zda se jejich hesla a osobní údaje neobjevili v únicích dat a případně se nechat na další úniky upozorňovat.

    Ladislav Hagara | Komentářů: 13
    včera 23:22 | Zajímavý software

    Microsoft představil open source textový editor Edit bežící v terminálu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 7
    včera 22:22 | Zajímavý software

    V Seattlu a také online probíhá konference Microsoft Build 2025. Microsoft představuje své novinky. Windows Subsystem for Linux je nově open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 0
    včera 13:11 | Zajímavý článek

    Z příspěvku Turris Sentinel – co přinesl rok 2024 na blogu CZ.NIC: "Za poslední rok (únor 2024 – únor 2025) jsme zachytili 8,3 miliardy incidentů a to z 232 zemí a z jejich závislých území. Tyto útoky přišly od 6,2 milionu útočníků (respektive unikátních adres). SMTP minipot je stále nejlákavější pastí, zhruba 79 % útoků bylo směřováno na tento minipot, 16 % útoků směřovalo na minipot Telnet, 3 % útoků směřovaly na minipot HTTP a 2 % na minipot FTP. Dále jsme zaznamenali 3,2 milionu unikátních hesel a 318 tisíc unikátních loginů, které útočníci zkoušeli."

    Ladislav Hagara | Komentářů: 1
    včera 12:44 | Nová verze

    Byla vydána (Mastodon, 𝕏) nová verze 3.0.4 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 12:33 | Nová verze

    Byla vydána nová stabilní verze 7.4 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 136. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    Jaký je váš oblíbený skriptovací jazyk?
     (60%)
     (23%)
     (9%)
     (2%)
     (0%)
     (0%)
     (6%)
    Celkem 47 hlasů
     Komentářů: 5, poslední dnes 20:57
    Rozcestník

    Jak stáhnout Google maps

    13.2.2008 20:09 | Přečteno: 5968× | Ruzne | poslední úprava: 21.5.2009 15:26

    Měl bych se sice šrotit na zkoušky a psát zápočtové programy, ale je to taková nuda... A tak bezcílně brouzdám webem a dnes se mi konečně podařilo najít něco zajímavého. Vždycky jsem si lámal hlavu, jaký mají u Googlů systém pojmenování bloků map a světe div se, dneska jsem to našel úplně náhodou v blogu jednoho machra z Francie.

    Podívejte se na to, je to sice francouzsky, ale i bez její znalosti lze pochopit o co jde. Má tam dokonce funkci v C, která podle zoomu a pravoúhlých souřadnic vrátí adresu odpovídajícího bloku mapy. Napadlo mě tedy, že si prostě musím ty mapy za každou cenu stáhnout a složit z těch bloků :-). Tak jsem si na to napsal prográmek. Ten stáhne bloky wgetem a pomocí montage z ImageMagicku ty bloky poskládá dokupy. A ono to dokonce funguje.

    Tady je ten prográmek. Přeložíte takto: gcc -std=c99 get-map.c -o get-map. Jsem lenoch líná, tak zoom si musíte nastavit v kódu, ostatní už funguje samo. Přeju hodně zábavy!

    Pro ty co mají silné stroje: jak velkou mapu se vám podařilo složit?


    #include <stdio.h>
    #include <string.h>
    
    char* getBlock(char* url, unsigned int x, unsigned int y, unsigned int zoom)
    {
    	strcpy(url, "http://kh*.google.com/kh?n=404&v=3&t=t")[9] = '0' + (x + y) % 4;
    
    	if(!zoom)
    		return url;
    
    	for(unsigned long c = 1 << (zoom - 1); c != 0; c >>= 1)
    		if(y < c)
    		{
    			if(x < c)
    				strcat(url, "q");
    			else
    			{
    				strcat(url, "r");
    				x -= c;
    			}
    		}
    		else
    		{
    			if(x < c)
    			{
    				strcat(url, "t");
    				y -= c;
    			}
    			else
    			{
    				strcat(url, "s");
    				x -= c;
    				y -= c;
    			}
    		}
    	
    	return url;
    }
    
    int main(void)
    {
    	int zoom = 3, num = 0;
    	char cmd1[100], cmd2[100];
    	
    	for(int y = 0; y < 1 << zoom; y++)
    		for(int x = 0; x < 1 << zoom; x++)
    		{
    			sprintf(cmd2, "wget \"%s\" -O google-maps-block-%.6d.jpg", getBlock(cmd1, x, y, zoom), num++);
    			system(cmd2);
    		}
    		
    	sprintf(cmd1, "montage -geometry %dx%d +frame -tile %dx%d -verbose google-maps-block-* map-zoom-%d.jpg", 256, 256, 1 << zoom, 1 << zoom, zoom);
    	system(cmd1);
    	system("rm google-maps-block-*");
    		
    	return 0;
    }

    Tak moje pokusy dopadly následovně :-D. Těch bloků jsem stáhnul několik tisíc. Asi hodím mezi jednotlivé wgety nějaký sleep, a nechám to běžet přes noc.

    Google Error	 
    
        We're sorry...
    
        ... but your query looks similar to automated requests from a computer virus or spyware 
    application. To protect our users, we can't process your request right now.
    
        We'll restore your access as quickly as possible, so try again soon. In the meantime, if you 
    suspect that your computer or network has been infected, you might want to run a virus checker or 
    spyware remover to make sure that your systems are free of viruses and other spurious software.
    
        We apologize for the inconvenience, and hope we'll see you again on Google.

    Největší mapu, co se mi podařilo složit byl zoom = 5, čili 1024 bloků, výsledná bitmapa má 8192x8192 bodů a málem se mi u toho upekl počítač. Paměťové nároky toho programy montage jsou nějaké velké.

           

    Hodnocení: 100 %

            špatnédobré        

    Obrázky

    Jak stáhnout Google maps, obrázek 1

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    13.2.2008 20:44 zde | skóre: 9 | blog: Linuch | Brno
    Rozbalit Rozbalit vše Re: Jak stáhnout Google maps
    Hmm, to jsem netušil že google maps to mají tak kryptický a neefektivní (co bit to jeden znak v url). Seznam.cz to má triviální, až na tu podivnou projekci. Ta se nedá moc pochopit (klasická S-42 to skoro určitě není), ale dá se aproximovat.
    Táto, ty de byl? V práci, já debil.
    13.2.2008 20:54 KS | skóre: 10 | blog: blg | Horní polní u západní dolní
    Rozbalit Rozbalit vše Re: Jak stáhnout Google maps

    Co znak, to 2 bity, ne?

    A jak je to tedy s tím Seznam.cz?

    Pochybnost, nejistota - základ poznání
    andree avatar 13.2.2008 23:05 andree | skóre: 39 | blog: andreeeeelog
    Rozbalit Rozbalit vše Re: Jak stáhnout Google maps
    tak to je fajnove... este k tomu mat kalibraciu a bolo by to dokonale.. nema niekto nieco podobne pre atlas/centrum/seznam/zoznam? :)
    14.2.2008 00:50 Radek Podgorny | skóre: 16
    Rozbalit Rozbalit vše Re: Jak stáhnout Google maps
    seznam.cz hint: UTM zona 33
    13.2.2008 21:39 Stevko
    Rozbalit Rozbalit vše Re: Jak stáhnout Google maps
    To by chcelo stiahnúť napríklad celú Prahu a/alebo Bratislavu. Bude to ľahšie na Sezname alebo na Google Maps?Skúsi to niekto?
    13.2.2008 23:22 KS | skóre: 10 | blog: blg | Horní polní u západní dolní
    Rozbalit Rozbalit vše Re: Jak stáhnout Google maps
    Tak jsem udělal tu Prahu. Není úplně celá, protože na to nemám dost paměti. Stáhnout můžeš zde. Má to 57 MB.
    Pochybnost, nejistota - základ poznání
    14.2.2008 01:12 KS | skóre: 10 | blog: blg | Horní polní u západní dolní
    Rozbalit Rozbalit vše Re: Jak stáhnout Google maps
    Tak ještě jednou Praha v rozlišení 15104x9728, 85 MB. Link
    Pochybnost, nejistota - základ poznání
    14.2.2008 09:38 klassik | skóre: 24 | blog: Klassikov | Praha
    Rozbalit Rozbalit vše Re: Jak stáhnout Google maps
    Dobra prace cece :-)
    V podstatě nic nevím
    13.2.2008 23:30 KS | skóre: 10 | blog: blg | Horní polní u západní dolní
    Rozbalit Rozbalit vše Re: Jak stáhnout Google maps
    Jinak takový obrázek si můžeš udělat taky pomocí toho programu v blogu. Stačí si zjistit kód nějakého bloku vlevo do toho co chceš stáhnout (např. trtqtrtsqtqsrtsttr) a přepočítat ho na pravoúhlé souřadnice pomocí tohohle algoritmu:
    void code2location(char* code)
    {
    	unsigned int x = 0, y = 0;
    	
    	for(int i = 1; i < strlen(code); i++)
    	{
    		x = (x << 1) | ((code[i] == 'r' || code[i] == 's') ? 1 : 0);
    		y = (y << 1) | ((code[i] == 't' || code[i] == 's') ? 1 : 0);
    	}
    	
    	printf("locatiton = [%d; %d], zoom = %d", x, y, strlen(code) - 1);
    }
    

    Výstupem pro trtqtrtsqtqsrtsttr je:

    locatiton = [70761; 44382], zoom = 17

    Získaná čísla potom dosadíš do toho programu a je to.

    Pochybnost, nejistota - základ poznání
    14.2.2008 00:36 Stevko
    Rozbalit Rozbalit vše Re: Jak stáhnout Google maps
    Vidím, kam dosadím zoom. A kam dosadím x a y? A kde nastavím pokiaľ chcem tie bloky (pravý dolný roh)?
    14.2.2008 00:46 KS | skóre: 10 | blog: blg | Horní polní u západní dolní
    Rozbalit Rozbalit vše Re: Jak stáhnout Google maps

    Jde o nastavení levého horního rohu. Je třeba upravit ty vnořene cykly takhle:

    	for(int y = odkud_v_ose_y; y < potud_v_ose_y; y++)
    		for(int x = odkud_v_ose_x; x < potud_v_ose_x; x++)
    

    A potom ještě tenhle řádek:

    sprintf(cmd1, "montage -geometry %dx%d +frame -tile %dx%d -verbose google-maps-block-* map-zoom-%d.jpg", 256, 256, potud_v_ose_x - odkud_v_ose_x, potud_v_ose_y - odkud_v_ose_y, zoom);
    

    Kde location = [odkud_v_ose_x; odkud_v_ose_y] zoom = 17

    Pochybnost, nejistota - základ poznání
    Milan Lajtoš avatar 13.2.2008 22:27 Milan Lajtoš | skóre: 22 | blog: /blog/babraq
    Rozbalit Rozbalit vše Re: Jak stáhnout Google maps
    Bolo by pekne, keby niekto pouzil informacie z clanku o Marble a pokusil sa o to aby Marble dostaval mapy z Google Maps.. To by bolo uzasne, len neviem, ci legalne.. ;)
    “Every great achievement was once considered impossible.”
    13.2.2008 23:13 KS | skóre: 10 | blog: blg | Horní polní u západní dolní
    Rozbalit Rozbalit vše Re: Jak stáhnout Google maps
    Niekto? A preco nie Ty?
    Pochybnost, nejistota - základ poznání
    Milan Lajtoš avatar 13.2.2008 23:49 Milan Lajtoš | skóre: 22 | blog: /blog/babraq
    Rozbalit Rozbalit vše Re: Jak stáhnout Google maps
    Keby som bol kamarat s C++, tak by som to samozrejme vyskusal, no realita je trosku ina.. A samozrejme nenutim nikoho do toho ist - len som dal ideu.. Nic viac..
    “Every great achievement was once considered impossible.”
    belisarivs avatar 14.2.2008 13:58 belisarivs | skóre: 22 | blog: Psychobláboly
    Rozbalit Rozbalit vše Re: Jak stáhnout Google maps
    Poslal jsem odkazy a prelozenou diskusi k tematu vyvojarum Marble.

    Neumim moc programovat, ale domluvit to muzu. Tak snad to nikomu nebude vadit.
    IRC is just multiplayer notepad.
    belisarivs avatar 14.2.2008 14:02 belisarivs | skóre: 22 | blog: Psychobláboly
    Rozbalit Rozbalit vše Re: Jak stáhnout Google maps
    Kdo tomu rozumite vic, tady je ten vyvojar:

    Torsten Rahn - torsten.rahn@credativ.de
    IRC is just multiplayer notepad.
    belisarivs avatar 14.2.2008 14:55 belisarivs | skóre: 22 | blog: Psychobláboly
    Rozbalit Rozbalit vše Re: Jak stáhnout Google maps
    Hm, tak je to nelegalni. Skoda.
    IRC is just multiplayer notepad.
    14.2.2008 16:59 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
    Rozbalit Rozbalit vše Re: Jak stáhnout Google maps
    No není nelegální pro to naprogramovat podporu :-) S těmi daty v té mapě je to stejný jako s datovými soubory u slovníků.
    15.2.2008 15:43 R
    Rozbalit Rozbalit vše Re: Jak stáhnout Google maps
    ImageMagick je pomaly a zravy. Dokonca sa aj neuveritelne dlho kompiluje...
    16.2.2008 12:33 Marble | skóre: 27 | blog: marble
    Rozbalit Rozbalit vše Re: Jak stáhnout Google maps
    K té žravosti -- mám pocit, že na většině distribucí je zkompilovaný s tím, že interně používá 16bit na barvu, takže překompilováním by se mělo dát dosáhnout poloviční spotřeby paměti a adekvátně vyšší rychlosti. Použít parametr -depth nepomůže, ten ovlivňuje jen vstup/výstup, takže nakolik tuším, je to fakt třeba nastavit při kompilaci. (Sám jsem to nezkoušel, takže uvedené info je s omezenou zárukou. :))
    17.2.2008 09:43 KS | skóre: 10 | blog: blg | Horní polní u západní dolní
    Rozbalit Rozbalit vše Re: Jak stáhnout Google maps
    Jo to by mohlo být, podívám se na to, díky.
    Pochybnost, nejistota - základ poznání
    16.2.2008 21:56 Geograf
    Rozbalit Rozbalit vše Re: Jak stáhnout Google maps
    Snad to neni moc off topic, ale jen pro informaci: lepsi mapy nez na google ci na seznamu/atlasu najdete na http://geoportal.cenia.cz (pro CR) a http://www.geoportal.sk (pro SR). Je potreba si zapnout rastrovou zakladni mapu v meritku 1:10.000. Ta slovenska sice neni zrovna nejaktualnejsi, ale i mimo intravilan tam vidite detaily, ktere na ortofotu pod vegetaci neuvidite. Stazeni je celkem trivialni, staci orez a odstraneni vodoznaku, coz pri pevnem poctu barev mapy neni tak slozity ukol...

    K vytvareni obrazku z dlazdic: Osobne jsem pouzival metodu, ze stahnu dlazdice a vyrobim HTML stranku s obrovskou tabulkou (pole tabulky=obrazek) a tuto stranku zkonvertuji do PDF. I zde existuji omezeni (rozmer PDF souboru by mel byt mensi nez 200 palcu, pri velikosti vysledneho PDF nad 750 MB jsou s tim problemy). Lepsi varianta je pri stahovani dlazdic vyrobit soubor, ktery da obrazek do souradnicoveho systemu (napr. k obrazku dlazdice_01_01.tif soubor dlazdice_01_01.tfw) a hodit to do nejakeho GISu. Stejne asi nikdo nema monitor, kde by byl obrazek 20.000x20.000 viditelny v meritku 1:1 :-)
    17.2.2008 09:43 KS | skóre: 10 | blog: blg | Horní polní u západní dolní
    Rozbalit Rozbalit vše Re: Jak stáhnout Google maps
    Díky za tipy.
    Pochybnost, nejistota - základ poznání

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.