-
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
- Pytanie o transformator do dzwonka
- międzymordzie USB 3.2 jako 2.0
- elektronicy powinni pomysleć o karierze elektryka
- jak szybko plynie prad
- Płytki Milkv-Duo
- Światłowód między budynkami
- POtrzebny bufor 3.3<>5V, jedonkieruowy, trójstanowy, wąski
- retro
- Bezprzewodowe polączenie Windows z projektorem
- rozklejanie obudowy
- Prośba o identyfikację komponentu
- Smart gniazdko straciło na zasięgu wifi?
- Smart gniazdko straciło zasięg wifi?
- nurtuje mnie
- dziwna sprawa...
Najnowsze wątki
- 2024-11-08 Belka
- 2024-11-09 pierdolec na punkcie psa
- 2024-11-09 Warszawa => Sales Executive <=
- 2024-11-09 Wrocław => SAP BTP Consultant (mid/senior) <=
- 2024-11-09 Warszawa => ECM Specialist / Consultant <=
- 2024-11-09 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2024-11-10 TVN donosi: Obywatelskie zatrzymanie policjanta (nie na służbie)
- 2024-11-08 Warszawa => Head of International Freight Forwarding Department <=
- 2024-11-08 Warszawa => Key Account Manager <=
- 2024-11-08 Szczecin => Key Account Manager (ERP) <=
- 2024-11-08 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2024-11-08 Wrocław => Senior PHP Symfony Developer <=
- 2024-11-08 Warszawa => QA Engineer <=
- 2024-11-08 Warszawa => QA Inżynier <=
- 2024-11-08 Warszawa => Key Account Manager <=