badworm  Dołączył: 21 Lut 2009
Mapa z kafelek raz jeszcze
Jakieś 1,5 roku temu pytałem tutaj o możliwość pobrania mapy online, która tak naprawdę składa się z zestawu "kafelek" o rozmiarach 256*256 pikseli. Dzięki pomocy Marooned'a stałem się posiadaczem skryptu w HTMLu. Efektem jego działania było kilka tysięcy plików JPG i PNG, które następnie zostały złożone, wydrukowane i posklejane w piękną mapę jednego z rejonów w Norwegii :-) Teraz stoję przed potrzebą powtórzenia tego procesu ale dla mapy Szwajcarii. Okazuje się jednak, że nie jest to takie proste, bo próba bezpośredniego dostępu do plików JPG/PNG tworzących mapę daje w efekcie komunikat:

403
The request could not be satisfied.
Request blocked.


Wygląda na to, że sprawa nie jest taka prosta :-( Aktualnie przychodzą mi tylko dwa pomysły na ściągnięcie potrzebnej mapy - wyciąganie tworzących ją kafelek z cache'a przeglądarki (sprawdzałem - są tam ale z racji losowych nazw poukładanie tego to będzie niezła zabawa, dosłownie niczym puzzle...) albo po prostu robienie zrzutów ekranu i potem ręczne tego skladanie - brrr.... Jedynym ułatwieniem dla drugiej metody jakie mam w tej chwili do dyspozycji to możliwość skorzystania z monitora 4K - wówczas będzie dużo mniej przewijania a tym samym zrzutów i potem zabawy ze składaniem tego. Czy ktoś ma inne pomysły? Interesujący mnie serwis to map.geo.admin.ch a przykładowe kafelki są dostępne pod adresami:

https://wmts100.geo.admin.ch/1.0.0/ch.swisstopo.swisstlm3d-wanderwege/default/current/2056/22/319/366.png
https://wmts100.geo.admin.ch/1.0.0/ch.swisstopo.pixelkarte-farbe/default/current/2056/22/319/366.jpeg
 

Kytutr  Dołączył: 20 Lut 2007
badworm napisał/a:
Czy ktoś ma inne pomysły? Interesujący mnie serwis to map.geo.admin.ch
Najlepiej podejrzeć jak wygląda żądanie wysyłane przez przeglądarkę w zakładce "Sieć" w narzędziach developerskich (klawisz F12, powinien działać we wszystkich przeglądarkach).

Potem można kliknąć na pojedynczym żądaniu i podejrzeć parametry. Ja najczęściej kopiuję je sobie w postaci gotowego polecenia curl:
curl "https://wmts100.geo.admin.ch/1.0.0/ch.swisstopo.pixelkarte-farbe/default/current/2056/18/14/13.jpeg" -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0" -H "Accept: */*" -H "Accept-Language: pl,en-US;q=0.7,en;q=0.3" --compressed -H "Referer: https://map.geo.admin.ch/?lang=de&topic=ech&bgLayer=ch.swisstopo.pixelkarte-farbe&layers=ch.swisstopo.zeitreihen,ch.bfs.gebaeude_wohnungs_register,ch.bav.haltestellen-oev,ch.swisstopo.swisstlm3d-wanderwege&layers_visibility=false,false,false,false&layers_timestamp=18641231,,,&E=2614250.00&N=1195750.00&zoom=2" -H "Origin: https://map.geo.admin.ch" -H "DNT: 1" -H "Connection: keep-alive"

Sprawdziłem i działa :-) Potem wystarczy napisać sobie skrypt, który za pomocą narzędzia curl ściągnie wszystkie pliki.
Poproszę też o podzielenie się metodą na łączenie kafelków w całość. Interesuje mnie podobna rzecz, ale dla mapy czeskich kolei.
 
RPM  Dołączył: 28 Lip 2010
imagemagic Twoim przyjacielem. Też command line.
 

szpajchel  Dołączył: 20 Kwi 2006
No to rzucę kilka haseł, może się przyda. Z dwóch pierwszych korzystałem.
1) FWTools -> GDAL
2) GeoxaViewer
3) MapoTero
 

Marooned  Dołączył: 14 Paź 2006
Tak jak pisałem na prv, obstawiam referera. Przy otwieraniu kafelka bezpośrednio nie ma tego nagłówka i stąd pewnie 403. Dlatego wspomniałem o potrzebie programu. Można też skorzystać z podejścia linuksowego i tak jak napisał Kytutr, skorzystać z curl w pętli.
 

plwk  Dołączył: 21 Kwi 2006
Kytutr napisał/a:
Poproszę też o podzielenie się metodą na łączenie kafelków w całość.

Uzupełnię poprzedników - zajrzyj do IrfanView.
 

badworm  Dołączył: 21 Lut 2009
Szpajchel, w MapoTero nie widzę opcji dodania innego serwera z mapami niż Google/Bing/OSM :-| W Geoxa Viewer dodałem interesujący mnie serwer jako warstwę WMS ale przy próbie połączenia się z nim dostaję:

Niepoprawna/niezrozumiała odpowiedź XML serwera (wmts100.geo.admin.ch/1.0.0/ch.swisstopo.swisstlm3d-wanderwege/default/current/2056/)

 LOG:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>ERROR: The request could not be satisfied</TITLE>
</HEAD><BODY>
<H1>403 ERROR</H1>
<H2>The request could not be satisfied.</H2>
<HR noshade size="1px">
Request blocked.

<BR clear="all">
<HR noshade size="1px">
<PRE>
Generated by cloudfront (CloudFront)
Request ID: mXTMVAQptmW5D3tGn2hxc3tNKI9LtIYZl8J6U3EWIuj9uDxYQE45_Q==
</PRE>
<ADDRESS>
</ADDRESS>
</BODY></HTML>


Kytutr, znów wychodzi wyższość Linuxa nad Windowsem :-P Jest szansa na taki skrypt?
Kafle do pełnej mapy składałem w dwóch przebiegach przy pomocy Irfan View, tak jak już podpowiedział plwk - służy do tego funkcja tworzenia zdjęć panoramicznych. W pierwszym kroku otrzymujesz paski, które w drugim zamieniają się w pełną mapę :-)
 

Kytutr  Dołączył: 20 Lut 2007
badworm napisał/a:
Kytutr, znów wychodzi wyższość Linuxa nad Windowsem Jest szansa na taki skrypt?
W Windows 10 możesz sobie teraz zainstalować Linuksa :-) Skrypt napiszę jak dojadę do Warszawy. Adresy plików to w jakiej formie masz?
 

plwk  Dołączył: 21 Kwi 2006
badworm napisał/a:
W pierwszym kroku otrzymujesz paski, które w drugim zamieniają się w pełną mapę

Można to zrobić w jednym kroku, korzystając z opcji "utwórz obraz zbiorczy".
 

Kytutr  Dołączył: 20 Lut 2007
Plwk, to ja poproszę "opis ze wskazówkami dla mistrza" jak to zrobić.
 

plwk  Dołączył: 21 Kwi 2006
Taką podpowiedź wyczytałem otwierając Obraz -> Utwórz Obraz Panoramiczny
 

badworm  Dołączył: 21 Lut 2009
Kytutr napisał/a:
W Windows 10 możesz sobie teraz zainstalować Linuksa :-)

Masz na myśli coś takiego czy faktycznie Linuksa jako aplikację wewnątrz Windows (wirtualna maszyna?)?
http://www.benchmark.pl/t...k-po-kroku.html
Cytat
Skrypt napiszę jak dojadę do Warszawy. Adresy plików to w jakiej formie masz?

Tak to wygląda dla samej mapy:
https://wmts100.geo.admin.ch/1.0.0/ch.swisstopo.pixelkarte-farbe/default/current/2056/ZOOM/KOLUMNA/WIERSZ.jpeg

A tutaj dla warstwy z zaznaczonymi szlakami:
https://wmts100.geo.admin.ch/1.0.0/ch.swisstopo.swisstlm3d-wanderwege/default/current/2056/ZOOM/KOLUMNA/WIERSZ.png

Mnie interesuje mapa, której skrajnie narożniki są wyznaczone współrzędnymi:
Lewy dolny róg
https://wmts100.geo.admin.ch/1.0.0/ch.swisstopo.pixelkarte-farbe/default/current/2056/21/110/200.jpeg
https://wmts100.geo.admin.ch/1.0.0/ch.swisstopo.swisstlm3d-wanderwege/default/current2056/21/110/200.png
Prawy górny róg
https://wmts100.geo.admin.ch/1.0.0/ch.swisstopo.pixelkarte-farbe/default/current/2056/21/152/173.jpeg
https://wmts100.geo.admin.ch/1.0.0/ch.swisstopo.swisstlm3d-wanderwege/default/current/2056/21/152/173.png
 
radek_m  Dołączył: 21 Lis 2007
Nieużyci Ci Szwajcarzy. 403
 

szpajchel  Dołączył: 20 Kwi 2006
Może trzeba za to (korzystanie z WMS) płacić?. W końcu to bogaty kraj :mrgreen: Zapewne w różnych krajach jest to różnie rozwiązane - np. w przypadku Austrii musiałem się zarejestrować i potem przy dodawaniu warstwy WMS podać dane do logowania
Dwa ale - nie wiem, czy to się komuś przyda, raczej jako spostrzeżenia osoby korzystającej z naszego krajowego Geoportalu:
- mam ładnego geotiffa 14000*9480 stąd: https://shop.swisstopo.admin.ch/en/products/images/ortho_images/swissimage25;
- z map.geo.admin.ch można sobie generować PDF A4 lub A3 z wybranym fragmentem, w wybranej skali i z wybranymi warstwami.
 

Marooned  Dołączył: 14 Paź 2006
szpajchel, nie trzeba, bo kafelki są widoczne na stronie mapy. Ot, mają zabezpieczone hotlinkowanie, dość standardowa praktyka.
 

PiotrR  Dołączył: 03 Maj 2006
Jak zobaczyłem tytuł, najpierw pomyślałem, że chodzi o jakiś niesztampowy pomysł na wykończenie łazienki.
 

Gwiazdor  Dołączył: 05 Mar 2007
PiotrR, jeśli proporcje się zgadzają to tylko kwestia znalezienia punktu drukującego na glazurze.
 

szpajchel  Dołączył: 20 Kwi 2006
Już sobie to wyobraziłem. Czysty spokój. Siada człowiek na kibelku, patrzy sobie spokojnie na taką kafelkową mapę Szwajcarii i tylko on wie, jak oznaczone są miejsca, gdzie po cichu i spokojnie wzrastają jego oszczędności. Po prostu spokój. Albo, wspominając sąsiedni wątek - sielanka.
 

Kytutr  Dołączył: 20 Lut 2007
 

badworm  Dołączył: 21 Lut 2009
Kytutr napisał/a:

Ja bym potrzebował listę wszystkich plików, podejrzewam, że w ścieżce zmieniają się tylko te numery na końcu: 21/110/200.png

Tak jest, pliki lecą zatem kolejno:

https://wmts100.geo.admin.ch/1.0.0/ch.swisstopo.pixelkarte-farbe/default/current/2056/21/110/200.jpeg
https://wmts100.geo.admin.ch/1.0.0/ch.swisstopo.pixelkarte-farbe/default/current/2056/21/111/200.jpeg
https://wmts100.geo.admin.ch/1.0.0/ch.swisstopo.pixelkarte-farbe/default/current/2056/21/112/200.jpeg

aż do
https://wmts100.geo.admin.ch/1.0.0/ch.swisstopo.pixelkarte-farbe/default/current/2056/21/152/200.jpeg

A potem kolejno w następnym wierszu:
https://wmts100.geo.admin.ch/1.0.0/ch.swisstopo.pixelkarte-farbe/default/current/2056/21/110/199.jpeg
https://wmts100.geo.admin.ch/1.0.0/ch.swisstopo.pixelkarte-farbe/default/current/2056/21/111/199.jpeg
https://wmts100.geo.admin.ch/1.0.0/ch.swisstopo.pixelkarte-farbe/default/current/2056/21/112/199.jpeg

itd.
Ostatni plik będzie miał adres:
https://wmts100.geo.admin.ch/1.0.0/ch.swisstopo.pixelkarte-farbe/default/current/2056/21/152/173.jpeg

Liczba w nazwie pliku to numer wiersza, przed nią w adresie jest numer kolumny a przed nią - skala (zoom, tutaj 21).


Dla plików PNG, tworzących warstwę ze szlakami, wygląda to tak:

https://wmts100.geo.admin.ch/1.0.0/ch.swisstopo.swisstlm3d-wanderwege/default/current2056/21/110/200.png
https://wmts100.geo.admin.ch/1.0.0/ch.swisstopo.swisstlm3d-wanderwege/default/current2056/21/111/200.png
https://wmts100.geo.admin.ch/1.0.0/ch.swisstopo.swisstlm3d-wanderwege/default/current2056/21/112/200.png

aż do
https://wmts100.geo.admin.ch/1.0.0/ch.swisstopo.swisstlm3d-wanderwege/default/current2056/21/152/200.png

I potem:
https://wmts100.geo.admin.ch/1.0.0/ch.swisstopo.swisstlm3d-wanderwege/default/current2056/21/110/199.png
https://wmts100.geo.admin.ch/1.0.0/ch.swisstopo.swisstlm3d-wanderwege/default/current2056/21/111/199.png
...

aż do
https://wmts100.geo.admin.ch/1.0.0/ch.swisstopo.swisstlm3d-wanderwege/default/current2056/21/152/199.png

Całość skończy się na:
https://wmts100.geo.admin.ch/1.0.0/ch.swisstopo.swisstlm3d-wanderwege/default/current/2056/21/152/173.png

Wyświetl posty z ostatnich:
Skocz do:
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach