-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
.pl!news.nask.org.pl!news.unit0.net!eternal-september.org!feeder.eternal-septem
ber.org!news.eternal-september.org!.POSTED!not-for-mail
From: grapeli23 <g...@g...com>
Newsgroups: pl.misc.elektronika
Subject: Re: Jaki program do wykresu
Date: Sat, 15 Jul 2017 13:20:00 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 64
Message-ID: <s...@m...localdomain>
References: <ojvqqo$e1r$1$PiotrGalka@news.chmurka.net>
<ok0gno$mik$1$PiotrGalka@news.chmurka.net>
<s...@f...lasek.waw.pl>
<ok23pf$aoi$1$PiotrGalka@news.chmurka.net>
<s...@f...lasek.waw.pl>
<ok2r8m$jgk$1$PiotrGalka@news.chmurka.net>
<s...@f...lasek.waw.pl>
<ok4vu5$e74$1$PiotrGalka@news.chmurka.net>
<s...@f...lasek.waw.pl>
<ok5995$hlk$1$PiotrGalka@news.chmurka.net>
<s...@f...lasek.waw.pl>
<ok5nb7$mt6$1$PiotrGalka@news.chmurka.net>
<s...@f...lasek.waw.pl>
<ok7kn5$f8k$1$PiotrGalka@news.chmurka.net>
<s...@f...lasek.waw.pl>
<ok8783$lur$1$PiotrGalka@news.chmurka.net>
<s...@f...lasek.waw.pl>
<oka9k6$g6j$1$PiotrGalka@news.chmurka.net>
<s...@f...lasek.waw.pl>
<okag04$icr$1$PiotrGalka@news.chmurka.net>
<s...@f...lasek.waw.pl>
<okauue$nsh$1$PiotrGalka@news.chmurka.net> <okb2jj$af0$3@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Injection-Date: Sat, 15 Jul 2017 13:20:00 -0000 (UTC)
Injection-Info: mx02.eternal-september.org;
posting-host="1464732947fde2b2ba2b9b7776418975";
logging-data="14963";
mail-complaints-to="a...@e...org";
posting-account="U2FsdGVkX19rsSDvuE1QRWny47LRXdFSRKpCMTqd1qA="
User-Agent: slrn/1.0.3 (Linux)
Cancel-Lock: sha1:y+PljlFWxSIEb7ZdFp/yLjcJnK0=
Xref: news-archive.icm.edu.pl pl.misc.elektronika:721043
[ ukryj nagłówki ]Dnia 14.07.2017 Jacek Radzikowski <j...@s...die.die.die.piranet.org> napisał/a:
>
> Da się to zrobić, ale jest to nieco bardziej skomplikowane niż jedno
> wywołanie curla. Obrazy rastrowe przeznaczone do wyświetlania w różnych
> skalach są przechowywane jako drzewo "kafelków" przeskalowanych do
> odpowiednich rozdzielczości. Te kafelki mają stałe rozmiary, np.
> 256x256px albo 512x512px.
>
Tych wywołań będzie dużo więcej. Ustawiamy wygląd, powiększenie i
wywołujemy narzędzia developerskie w Chrome - Ctrl + Shift + I.
Przesuwamy się po mapie. W zakładce Network mamy wszystkie zapytania.
Dalej - Copy > Copy All as cURL.
Zostaje "tylko" połączyć.
> Na samym szczycie masz kafelek z mapą w małej skali (czyli mało
> szczegółów), pokazującej cały pokryty obszar. To jest skala "0" w
> terminologii aplikacji mapowej. Na następnym poziome ten sam obszar jest
> przedstawiony w dwukrotnie wyższej rozdzielczości i podzielony na 4
> (bądź 2, jeśli jest stosunek boków jest 2:1) kafelki. To jest skala "1".
> Na poziomie "2" znów masz obraz o dwukrotnie większej rozdzielczości niż
> na poziomie "1", i na każdy kafelek z "1" przypadają 4 z poziomu "2". W
> ten sposób tworzysz kolejne poziomy kafelków aż dojdziesz do obrazu
> (-ów, bo może być to być wiele zeskanowanych arkuszy map) o pełnej
> rozdzielczości. To będzie twoja mapa o największej skali (czyli
> najwięcej szczegółów).
> Poziom z którego pobiera się obrazki jest określony przez wielkość
> "zoomu", a współrzędne kafelków do pobrania oblicza się na podstawie
> współrzędnych widoku wyświetlanego na ekranie.
>
> Można ręcznie wyliczyć linki do kafelków i ściągnąć je curlem czy
> wgetem. Np. dla OpenStreetMap url ma następujący format:
> http://tile.openstreetmap.org/$zoom/$kolumna/$wiersz
.png, gdzie
> $zoom, $kolumna i $wiersz to odpowiednio poziom w drzewku, kolumna i
> wiersz w arkuszu kafelków. Arkusz o najmniejszej skali pokazujący cały
> glob to http://tile.openstreetmap.org/0/0/0.png, kolejne są na
> http://tile.openstreetmap.org/1/0/0.png,
> http://tile.openstreetmap.org/1/0/1.png, itd.
> Jak już ściągniesz wszystkie obrazy kafelków wystarczy je połączyć i
> masz gotowy obrazek.
Mapy opierają się na:
https://en.wikipedia.org/wiki/Web_Mercator
Do google maps są odpowiednie API. Przykładowo do map statycznych.
https://developers.google.com/maps/documentation/sta
tic-maps/intro
Inny dostęp wiąże się już raczej z łamaniem TOS.
Wystarczy wyszukać na githubie google+maps+tiles. Jest tego mnóstwo.
Pierwszy z brzegu najprostszy - curl + Imagemagick.
https://github.com/repohub/tile_downloader
Zmieniamy tylko w tym skrypcie nieaktualne serwery
# if [[ $4 == "s" ]]; then
# curl -s "https://khm0.google.com/kh/v=142&x=$x&y=$y&z=$z" -o "$y+$x.png"
# else
curl -s "http://mt1.google.com/vt/lyrs=m@146&hl=de&x=$x&y=$y
&z=$z" -o "$y+$x.png"
#fi
W przypadku domyślnego pythona w wersji 3 zamieniamy na python2.
http://manialabs.wordpress.com/2013/01/26/converting
-latitude-and-longitude-to-map-tile-in-mercator-proj
ection/
Następne wpisy z tego wątku
- 17.07.17 08:22 Zbych
- 17.07.17 09:20 Piotr Gałka
- 17.07.17 11:18 Jarosław Sokołowski
Najnowsze wątki z tej grupy
- Jak shakować windę
- Sterowanie bezprzewodowe do wbudowania
- NC vs NO
- Jak dzięki mojemu pomysłowi amerykańce z Google przyspieszyli TV
- Jak dzięki mojemu pomysłowi amerykańce z Google przyspieszyli TV
- Żyrandol w wersji ze ściemnianiem.
- Napięcie w gniazdku na wszystkich żyłach po wyłączeniu bezpieczników - zgłaszać do elektrowni?
- Elektryczna łapka i szerszeń
- moduł dtmf
- 0.5V
- Odbiór SDR na mikrokontrolerach
- Taki uziom....
- Nałożnica?
- ładowanie akku
- Mikrofala
Najnowsze wątki
- 2024-09-14 Canon 550D
- 2024-09-14 Odcinkowy Pomiar Prędkości. NIELEGALNY w Polsce!!! Nie daj SIĘ!
- 2024-09-14 Warszawa => Menadżer Okręgu <=
- 2024-09-14 Łódź => Spedytor Międzynarodowy <=
- 2024-09-14 Warszawa => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-09-14 Warszawa => Technical Leader (Java Background) <=
- 2024-09-14 Gdynia => Spedytor Międzynarodowy <=
- 2024-09-14 k.o.mendant
- 2024-09-12 Z cyklu POJEBANA UE: samochody elektryczne nie mogą być tanie i dobre
- 2024-09-13 dodanie karty graf zawiesza komp
- 2024-09-13 Sezon grzewczy kurła
- 2024-09-13 Warszawa => Spedytor Międzynarodowy <=
- 2024-09-13 Warszawa => Mid Account Manager <=
- 2024-09-13 Warszawa => QA Engineer <=
- 2024-09-13 Białystok => Frontend Developer (Angular area) <=