-
Data: 2017-07-15 15:20:00
Temat: Re: Jaki program do wykresu
Od: grapeli23 <g...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie 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
- Dziwne zachowanie magistrali adresowej w 8085
- Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- Jaki silikon lub może klej?
- Smar do video
- Litowe baterie AA Li/FeS2 a alkaliczne
- "ogrodowa linia napowietrzna"
- jaki zasilacz laboratoryjny
- jaki zasilacz laboratoryjny
- Puszka w ziemię
- T-1000 was here
- Ściąganie hasła frezem
- Koszyk okrągły, walec 3x AA, na duże paluszki R6
- Brak bolca ochronnego ładowarki oznacza pożar
- AMS spalony szybkim zasilaczem USB
- stalowe bezpieczniki
Najnowsze wątki
- 2025-02-12 Warszawa => Expert Recruiter 360 <=
- 2025-02-12 Ostrów Wielkopolski => Area Sales Manager OZE <=
- 2025-02-12 Bieruń => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-02-12 Dęblin => Node.js / Fullstack Developer <=
- 2025-02-12 Kraków => PHP Full Stack Developer <=
- 2025-02-12 Karta dźwiękowa stereo
- 2025-02-12 Dęblin => JavaScript / Node / Fullstack Developer <=
- 2025-02-12 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-02-12 Łódź => NodeJS Developer <=
- 2025-02-12 Błonie => Sales Specialist <=
- 2025-02-12 Dziwne zachowanie magistrali adresowej w 8085
- 2025-02-11 Mini pecet
- 2025-02-10 Spalił się spaliniak
- 2025-02-10 zarowka wifi - z sensowna apka lub lepiej albo lokalnie lub przez web. I zeby harmonogram miala
- 2025-02-10 Chrzanów => Programista NodeJS <=