-
101. Data: 2017-07-14 20:02:53
Temat: Re: Jaki program do wykresu
Od: Piotr Gałka <p...@c...pl>
W dniu 2017-07-14 o 16:45, s...@g...com pisze:
>> Powycinać ze zrzutów ekranu brzegi zawierające jakieś suwaki skali itp.
>> Ja to robiłem (dla wszystkich plików) jedną komendą przetwarzania
>> wsadowego w IrfanView (ale wybraną ręcznie z menu).
>
> Tak samo image magick:
> http://www.imagemagick.org/Usage/crop/
Dzięki.
Za mało zajmuję się grafiką, aby takie narzędzia były mi niezbędne.
Zapisałem sobie imagemagick jako kolejny temat - może kiedyś.
Na pewno Gimp, Inkscape i DraftSight (lub LibreCad) najpierw (te
ostatnie to z mojego wypytania jakiś czas temu na temat wymiarowanego
rysunku 2D).
Przytłacza mnie ilość "ciekawych rzeczy".
Moje doświadczenie z tym geoportal jest takie, że co rok jak chcę sobie
inną mapkę złożyć to strona już wygląda nieco inaczej (inne obszary
ekranu są zanieczyszczone).
Jak otwieram taki pobrany zrzut w Irfan to zaznaczam obszar bez
zanieczyszczeń i widzę parametry tego zaznaczenia. Potem tylko z menu
wybieram przetwarzanie wsadowe, wpisuję tam te parametry i każę
wycinanie wykonać na wszystkich plikach w kartotece.
Przypuszczam, że jak miałby to zrobione skryptem to i tak co roku
musiałbym modyfikować parametry - czyli roboty tyle samo, a to narzędzie
znam. Co innego by było jakbym robił to codziennie.
P.G.
-
102. Data: 2017-07-14 20:31:23
Temat: Re: Jaki program do wykresu
Od: Jarosław Sokołowski <j...@l...waw.pl>
Pan Piotr Gałka napisał:
>> http://www.imagemagick.org/script/index.php
>
> Pobieżne przejrzenie cech (już poprzednio jak Jarek mi wskazał)
> nie ujawnia żadnego "Capture".
A jednak ImageMagick również to potrafi. Jest do tego program "import".
Napisałem teraz takie coś:
import -window 0x03c00010 Firefox.png
-- i już mam na dysku obrazek okna firefoksa. Ten tajemniczy numerek (ID)
znalazłem przez "wmctrl -lp".
Można obie czynności zautomatyzować zbierając do kupy w jeden skrypt,
na przykład taki:
#!/bin/sh
ID=`wmctrl -lp | grep "Mozilla Firefox" | cut -f 1 -d" "`
import -window $ID Firefox.png
-- będzie działać niezależnie od tego, jaki ID ma aktualnie uruchomiony
firefox (pod warunkiem, że jest jeden, ale to ograniczenie dla jasności
przykładu pomińmy).
--
Jarek
-
103. Data: 2017-07-14 20:34:05
Temat: Re: Jaki program do wykresu
Od: Jacek Radzikowski <j...@s...die.die.die.piranet.org>
On 07/14/17 13:27, Piotr Gałka wrote:
> W dniu 2017-07-14 o 16:14, Jarosław Sokołowski pisze:
>>
>> Tu już pierwszy błąd metodyczny. Skoro na stronie www *JEST* skan mapy
>> 200 dpi, to należy go ściągnąć jako oryginalny plik i zapisać na dysku,
>> a nie robić zrzuty ekranów z jego kawałkami.
>
> Nie wiem jak to się robi.
>
> http://mapy.geoportal.gov.pl/imap/?gpmap=gp0&actions
=acShowServices_KATASTER
>
>
> Wybieranie różnych ustawień nie zmienia adresu więc chyba nie jestem w
> stanie pokazać o co dokładnie chodzi.
> Kluczem jest wybranie po prawej u góry w rozwijanym menu hasła "Raster".
> Zmiana skali przerzuca na skany map w różnych skalach.
> Kiedyś pisało jaka jest oglądana skala (przy założeniu, że ekran to
> 72dpi), ale teraz tego nie widzę. Dla jakiej skali obraz pochodzi ze
> skanu jakich map to ustaliłem porównując z mapami papierowymi.
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.
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.
Jednak o wiele wygodniej posłużyć się gotową biblioteką. W tej chwili
praktycznie do każdego języka można znaleźć pakiet obsługujący ściąganie
kafelków. Z R używam pakietu "ggmap", a dla Processing używałem
biblioteki "Unfolding" (można też użyć z Javą). Raczej nie będzie w nich
obsługi map używanych przez Geoportal, ale jak znasz format linka do
kafelków, to w miarę łatwo jest dodać (sam dorzuciłem 6 nowych klas
providerów kafelków do Unfolding).
Podobną technikę wykorzystuje się nie tylko do wyświetlania map, ale
także do innych wielkich obrazów rastrowych, np. panoram czy zdjęć w
rozdzielczości gigapikselowej. Trzeba tylko wygenerować drzewko kafelków
i powiedzieć aplikacji wyświetlającej gdzie one są.
Jacek.
-
104. Data: 2017-07-14 20:48:22
Temat: Re: Jaki program do wykresu
Od: Jarosław Sokołowski <j...@l...waw.pl>
Pan Piotr Gałka napisał:
>> Tu już pierwszy błąd metodyczny. Skoro na stronie www *JEST* skan mapy
>> 200 dpi, to należy go ściągnąć jako oryginalny plik i zapisać na dysku,
>> a nie robić zrzuty ekranów z jego kawałkami.
>
> Nie wiem jak to się robi.
>
> http://mapy.geoportal.gov.pl/imap/?gpmap=gp0&actions
=acShowServices_KATASTER
>
> Wybieranie różnych ustawień nie zmienia adresu więc chyba nie jestem w
> stanie pokazać o co dokładnie chodzi.
> Kluczem jest wybranie po prawej u góry w rozwijanym menu hasła "Raster".
> Zmiana skali przerzuca na skany map w różnych skalach.
> Kiedyś pisało jaka jest oglądana skala (przy założeniu, że ekran to
> 72dpi), ale teraz tego nie widzę. Dla jakiej skali obraz pochodzi ze
> skanu jakich map to ustaliłem porównując z mapami papierowymi.
Po kliknięciu w firefoksie w "Informacje o stronie" (albo po prostu Ctrl I)
mamy listę mediów, a wśród nich kafelki, z jakich składa się mapa. Można
je zapisać na dysku w oryginale. Mają 512x512px.
> Spróbuj pobrać całą w skali 1:25000.
> Mi wychodzi, że (cała Polska) to byłby plik około 200G.
To by trzeba napisać sprytnego spidera (taki skrypt jakoby), który pobierze
wszystkie kafelki. Trzeba się przy tym autoryzować, więc nie takie proste,
ale da się. Będą gigabajty, ale nie w jednym pliku. Tyle że geoportalowcy
mogą się w trakcie połapać i zablokować transmisję.
> Nie wiem co to wget czy curl.
Takie fajerfoksy, co je się je z linii poleceń wpisuje i nie robią
żadnych okienek.
> Serio da się tę mapę z geoportalu ściągnąć?
Serio. Wget może być za cienki, ale curlem powinno dać się zaemulować
działanie normalnej przeglądarki. Albo napisać to w całości w jakimś
pythonie.
--
Jarek
-
105. Data: 2017-07-14 21:20:40
Temat: Re: Jaki program do wykresu
Od: "J.F." <j...@p...onet.pl>
Dnia Fri, 14 Jul 2017 14:34:05 -0400, Jacek Radzikowski napisał(a):
> 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.
A propos - wydaje mi sie, ze kiedys widzialem jakies alternatywne
kafelki OSM, znacznie wyrazniejsze.
Kojarzy ktos ?
J.
-
106. Data: 2017-07-14 21:27:36
Temat: Re: Jaki program do wykresu
Od: Jacek Radzikowski <j...@s...die.die.die.piranet.org>
On 07/14/17 15:20, J.F. wrote:
> Dnia Fri, 14 Jul 2017 14:34:05 -0400, Jacek Radzikowski napisał(a):
>> 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.
>
> A propos - wydaje mi sie, ze kiedys widzialem jakies alternatywne
> kafelki OSM, znacznie wyrazniejsze.
> Kojarzy ktos ?
Tutaj masz kilka publicznie dostępnych, może coś znajdziesz:
http://leaflet-extras.github.io/leaflet-providers/pr
eview/index.html
Jacek
-
107. Data: 2017-07-14 21:35:03
Temat: Re: Jaki program do wykresu
Od: Jarosław Sokołowski <j...@l...waw.pl>
Pan Jacek Radzikowski napisał:
> 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).
A jak to wygląda teraz w guglomapach? Kiedyś mi mówili (ludzie
z google), że mają całośc opisaną wektorowo, w stronę klienta
mapa wyrusza opisana w SVG, a w locie zamieniana jest na kafle
PNG. To ostatnie z uwagi na fakt, że to było w czasach, kiedy
ludzie używali jeszcze jakichś Internet Explorerów nie kumających
SVG. Teraz zajrzałem -- kafli nie widzę. SVG wprost też nie, ale
ślady w źródłach są. Jakieś to mocno zamotane, ale działa dobrze.
--
Jarek
-
108. Data: 2017-07-14 21:44:43
Temat: Re: Jaki program do wykresu
Od: Jacek Radzikowski <j...@s...die.die.die.piranet.org>
On 07/14/17 15:35, Jarosław Sokołowski wrote:
> Pan Jacek Radzikowski napisał:
>
>> 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).
>
> A jak to wygląda teraz w guglomapach? Kiedyś mi mówili (ludzie
> z google), że mają całośc opisaną wektorowo, w stronę klienta
> mapa wyrusza opisana w SVG, a w locie zamieniana jest na kafle
> PNG. To ostatnie z uwagi na fakt, że to było w czasach, kiedy
> ludzie używali jeszcze jakichś Internet Explorerów nie kumających
> SVG. Teraz zajrzałem -- kafli nie widzę. SVG wprost też nie, ale
> ślady w źródłach są. Jakieś to mocno zamotane, ale działa dobrze.
Praktycznie każdy serwis serwujący mapy rastrowe korzysta z podziału na
kafelki. Wektorowo mogą być wysyłane dane dodatkowe (np. informacje o
infrastrukturze, mapa dróg), ale jeśli to są informacje które nie
zmieniają się zbyt często to taniej pod względem wydajności jest
przerobić je na raster i wyświetlać jako warstwę na mapie bazowej.
Jacek.
-
109. Data: 2017-07-14 22:02:25
Temat: Re: Jaki program do wykresu
Od: Jarosław Sokołowski <j...@l...waw.pl>
Pan Jacek Radzikowski napisał:
> Praktycznie każdy serwis serwujący mapy rastrowe korzysta z podziału na
> kafelki. Wektorowo mogą być wysyłane dane dodatkowe (np. informacje o
> infrastrukturze, mapa dróg), ale jeśli to są informacje które nie
> zmieniają się zbyt często to taniej pod względem wydajności jest
> przerobić je na raster i wyświetlać jako warstwę na mapie bazowej.
Ale ja tam nie widzę tych kafelków! Kiedyś były wyraźne przy ładowniu.
Wszystko wygląda na wektorowe. O, proszę, budynki są 3D! Jak się
przesuwa bardzo przybliżoną mapę, to widać raz jedną, raz drugą ścianę
domu. Ale nie w każdym miejscu. Kafle są oczywiście w widoku ze zdjęciem
satelitarnym, ale też mają warstwę 3D budynków robioną już po strronie
przeglądarki.
--
Jarek
-
110. Data: 2017-07-14 22:21:43
Temat: Re: Jaki program do wykresu
Od: Jacek Radzikowski <j...@s...die.die.die.piranet.org>
On 07/14/17 16:02, Jarosław Sokołowski wrote:
> Pan Jacek Radzikowski napisał:
>
>> Praktycznie każdy serwis serwujący mapy rastrowe korzysta z podziału na
>> kafelki. Wektorowo mogą być wysyłane dane dodatkowe (np. informacje o
>> infrastrukturze, mapa dróg), ale jeśli to są informacje które nie
>> zmieniają się zbyt często to taniej pod względem wydajności jest
>> przerobić je na raster i wyświetlać jako warstwę na mapie bazowej.
>
> Ale ja tam nie widzę tych kafelków! Kiedyś były wyraźne przy ładowniu.
> Wszystko wygląda na wektorowe. O, proszę, budynki są 3D! Jak się
> przesuwa bardzo przybliżoną mapę, to widać raz jedną, raz drugą ścianę
> domu. Ale nie w każdym miejscu. Kafle są oczywiście w widoku ze zdjęciem
> satelitarnym, ale też mają warstwę 3D budynków robioną już po strronie
> przeglądarki.
>
Budynki to jest kolejna warstwa, wektorowa. W Google Earth były wysyłane
jako KML i renderowane w aplikacji.
W Google Maps zdjęcia z powietrza i mapa z drogami jest wysyłana jako
kafelki (n.p ten:
https://www.google.com/maps/vt/pb=!1m4!1m3!1i15!2i93
47!3i12538!2m3!1e0!2sm!3i385078492!3m7!2sen!5e1105!1
2m4!1e68!2m2!1sset!2sRoadmap!4e0!5m1!1e0!23i4112264)
,
a widzę że warstwa 3d jest ściągana w jakimś formacie binarnym (być może
skompresowany KML) i renderowana po stronie klienta. W każdym razie nic
nie stoi na przeszkodzie żeby kafelki rastrowe i dane wektorowe były
przedstawione na tej samej mapie.
Jacek.