Potrzebowałem do celów e-learningu zrobić mapę największych miast Rosji — nie sądziłem, że znalezienie współrzędnych podanego miasta jest takie proste. Dziękuję ci, OpenStreetMapo!
Zwróćcie uwagę - nie musimy się bawić we wpisywanie oryginalnej nazwy, transkrypcje z innego alfabetu itp.
Inspiracja: stąd.
niedziela, 17 maja 2020
sobota, 14 marca 2020
Nośniki, z którymi ciężko mi się rozstać (1)
Tak się złożyło, że mam ostatnio trochę więcej czasu, więc postanowiłem poświęcić go na odgruzowanie domu. Wśród rzeczy, których muszę się pozbyć, jest kilkaset płyt CD/DVD i kilkadziesiąt dyskietek. Niektóre z nich ciężko będzie pożegnać, oj ciężko!
Moje linuksiarstwo zaczęło się od oszusta, który sprzedał mi komputer (Pentium 133 MHz) z walniętą pamięcią 16 MB. Drogi Oszuście, dziękuję! Niech ptaszki śpiewają tam, gdzie się pojawisz! Dokonałeś rzeczy ważnej: zmusiłeś mnie tą walniętą pamięcią do szukania innych rozwiązań niż Windows 95, który za nic w świecie nie chciał się uruchomić. A że w domu walały mi się płytki z Linuksem, dołączone do Magazynu Internet, spróbowałem go zainstalować. Slackware 7 odstraszał, ale Red Hat 6 zrobił na mnie wrażenie.
Potem, pracując na tzw. Zachodzie, kupiłem sobie za ciężko zarobioną walutę pudełkową wersję SuSE 7.0 – kilka grubych podręczników i sześć płytek zniknęło w trakcie wielu przeprowadzek, zostały mi tylko 2 dyskietki.
Gdybym miał szybko odpowiedzieć, którą dystrybucję instalowałem najczęściej, odpowiedź byłaby dość trudna – przez pewien czas zmieniałem dystrybucje jak rękawiczki (co tydzień oranie dysku i instalacja czegoś nowego), a potem i tak wracałem do Slackware albo Auroksa. Ten pierwszy wymagał na początku sporo rzeźbienia (pamiętam kilkudniowe zmagania z jakimiś sterownikami do karty bezprzewodowej), po jakimś czasie potrafiłem już go zainstalować z zawiązanymi oczami.
Na koniec dwie ciekawostki: firma Corel przez krótki czas chciała mieć swoją własną wersję Linuksa – o ile dobrze pamiętam, w zestawie był ich pakiet biurowy WordPerfect, uruchamiany mocno na siłę z użyciem Wine. Druga płytka to pierwsza dystrybucja live, którą dało się uruchomić bez instalacji – wystarczył do niej sprzęt z 64 MB pamięci. (cdn.)
Moje linuksiarstwo zaczęło się od oszusta, który sprzedał mi komputer (Pentium 133 MHz) z walniętą pamięcią 16 MB. Drogi Oszuście, dziękuję! Niech ptaszki śpiewają tam, gdzie się pojawisz! Dokonałeś rzeczy ważnej: zmusiłeś mnie tą walniętą pamięcią do szukania innych rozwiązań niż Windows 95, który za nic w świecie nie chciał się uruchomić. A że w domu walały mi się płytki z Linuksem, dołączone do Magazynu Internet, spróbowałem go zainstalować. Slackware 7 odstraszał, ale Red Hat 6 zrobił na mnie wrażenie.
Potem, pracując na tzw. Zachodzie, kupiłem sobie za ciężko zarobioną walutę pudełkową wersję SuSE 7.0 – kilka grubych podręczników i sześć płytek zniknęło w trakcie wielu przeprowadzek, zostały mi tylko 2 dyskietki.
W nowej pracy nagle dostałem możliwość administrowania całą masą komputerów, więc coraz częściej wybierałem Ubuntu. To było jeszcze w czasach, gdy stojąca za nim firma Canonical hojnie wysyłała zainteresowanym płytki CD z systemem (no i naklejki!).
poniedziałek, 30 grudnia 2019
Sylwester w Lututowie
Początek roku to termin wprowadzania zmian na mapie administracyjnej Polski, to znaczy przesuwania granic, zmiany statusu, podziałów i fuzji.
W tym roku na szczęście żadna gmina nie podzieli losu zlikwidowanych przed rokiem Ostrowic, natomiast cztery miejscowości (Lututów, Czerwińsk nad Wisłą, Piątek i Klimontów) odzyskają prawa miejskie, utracone jeszcze w czasach carskich.
To świetna okazja, żeby przyjrzeć się możliwościom, jakie oferuje pakiet języka Python (w wersji 3) o nazwie Matplotlib-Basemap i szybko narysować mapę z nowymi miastami.
Do narysowania powyższej mapki wystarczy ok. 25 linijek kodu w Pythonie.
Kartografowie z Windows nie mają tak łatwego życia – wersja dostępna przez instalator pip jest dość wiekowa, albo nie zawsze da się zainstalować; osobiście korzystałem z Pythona do celów naukowych o nazwie Anaconda (ze świetnym instalatorem pakietów conda. Można też spróbować zainstalować gotowy pakiet stąd.
Tabela zawiera w tej chwili 265092 nazw geograficznych (np. miast, wsi i ich części) oraz ich współrzędnych. Jest to na tyle ciekawy zbiór, że zasługuje na osobną notkę; mam nadzieję, że ukaże się ona przed kolejnym Sylwestrem.
Uwaga techniczna: współrzędne, zarówno w Wikipedii jak i w pliku PRNG są podane w stopniach i minutach kątowych (np. 51°22'18'' N), więc trzeba je przeliczyć na ułamki dziesiętne (51+22/60+18/3600 = 51.3716666666667). W tym zapisie półkulę południową i zachodnią przedstawia się przy użyciu liczb ujemnych.
W linii 14 program przelicza dane z listy na współrzędne na rysunku, a w następnej rysuje punkty.
W kolejnych liniach program wstawia nazwy miast. Etykiety nie mogą być w tym samym miejscu, co punkty, stąd przesunięcie (podawane, co ciekawe, w metrach): -80000 dla współrzędnej x i +22000 dla współrzędnej y.
Tak naprawdę ciężko jest znaleźć jedno i takie samo optymalne przesunięcie dla wszystkich nazw – powinno ono być inne dla każdego napisu i umieszczone w postaci oddzielnej listy. Problem ten dość ładnie rozwiązano na blogu peak 5390, który był dla mnie sporą pomocą i inspiracją w trakcie pisania tej notki.
Oprócz poetyckich nazw kolorów istnieje możliwość wpisania ich numeru RGB. Dodatkowo, kasując linijki i wstawiając odpowiednie polecenie, można stworzyć tło z danych satelitarnych – w stylu mapy Google (bluemarble), tradycyjnej mapy topograficznej (etopo) czy cieniowanej rzeźby terenu (shadedrelief).
Z góry jednak uprzedzam, że tego rodzaju tła w tej skali wyglądają dość mizernie.
Tło ze zdjęć satelitarnych jest dość niewyraźne;
na mapie topograficznej widać wręcz kwadratowe ,,kafelki"...
...a cieniowana rzeźba terenu jest mocno uproszczona (gdzie jest Pas Wyżyn?).
Tego rodzaju tło dużo lepiej sprawdza się w przypadku mapy świata:
Dla ciekawych – kod programu (8 linijek!):
Inna sprawa, że generowanie takiego tła może nam strasznie spowolnić komputer. To chyba największa wada pakietu Basemap – python nie należy do najszybszych języków programowania, a ilość obliczeń, jakich musi tutaj dokonać, jest spora. Zwykła mapa potrafi zatkać komputer na pół minuty, natomiast czas rysowania cieniowanej rzeźby terenu niekiedy jest dłuższy od bloku reklamowego na Polsacie.
Skoro zacząłem już o wadach – nie wiedzieć czemu, polecenie do rysowania podziałki nie działa w każdym odwzorowaniu, co gorsza, programista nie dostaje nawet najmniejszego ostrzeżenia w tej sprawie.
Szczęśliwego Nowego Roku!
W tym roku na szczęście żadna gmina nie podzieli losu zlikwidowanych przed rokiem Ostrowic, natomiast cztery miejscowości (Lututów, Czerwińsk nad Wisłą, Piątek i Klimontów) odzyskają prawa miejskie, utracone jeszcze w czasach carskich.
To świetna okazja, żeby przyjrzeć się możliwościom, jakie oferuje pakiet języka Python (w wersji 3) o nazwie Matplotlib-Basemap i szybko narysować mapę z nowymi miastami.
Do narysowania powyższej mapki wystarczy ok. 25 linijek kodu w Pythonie.
Instalacja
Instalacja matplotlib-basemap pod Linuksem jest banalna i np. w Ubuntu sprowadza się do zainstalowania paczki dostępnej w repozytoriach systemowych (plus drugiej – dość sporej – z danymi na temat linii brzegowej, rzek, jezior itp.).Kartografowie z Windows nie mają tak łatwego życia – wersja dostępna przez instalator pip jest dość wiekowa, albo nie zawsze da się zainstalować; osobiście korzystałem z Pythona do celów naukowych o nazwie Anaconda (ze świetnym instalatorem pakietów conda. Można też spróbować zainstalować gotowy pakiet stąd.
Kopalnia współrzędnych
Przy zaledwie czterech punktach na mapie współrzędne można oczywiście wygrzebać z Wikipedii. Gdyby jednak trzeba ich było znaleźć więcej, to polecam plik Excela z Państwowego Rejestru Nazw Geograficznych (plik można legalnie i nieodpłatnie pobrać tutaj, sprawdźcie tylko, czy nie ma jakichś ograniczeń licencyjnych).Tabela zawiera w tej chwili 265092 nazw geograficznych (np. miast, wsi i ich części) oraz ich współrzędnych. Jest to na tyle ciekawy zbiór, że zasługuje na osobną notkę; mam nadzieję, że ukaże się ona przed kolejnym Sylwestrem.
Uwaga techniczna: współrzędne, zarówno w Wikipedii jak i w pliku PRNG są podane w stopniach i minutach kątowych (np. 51°22'18'' N), więc trzeba je przeliczyć na ułamki dziesiętne (51+22/60+18/3600 = 51.3716666666667). W tym zapisie półkulę południową i zachodnią przedstawia się przy użyciu liczb ujemnych.
Rysujemy mapę
Po zaimportowaniu wszystkich potrzebnych pakietów, możemy zabrać się za rysowanie mapy. Kolejna linia, rozbita na części ze względu na czytelność, zawiera sporo parametrów:- projection (odwzorowanie) – tutaj będzie to stary dobry Mercator
- lat_0 – w tym odwzorowaniu: szerokość geograficzna środkowego równoleżnika
- lon_0 – w tym odwzorowaniu: długość geograficzna środkowego południka
- resolution – rozdzielczość high (czyli wysoka, może być też 'l' (low = niska) czy 'c' (crude = toporna)
- area_thresh to parametr oznaczający jakie obiekty mają być pominięte (tutaj – wszystkie obiekty o powierzchni poniżej 150 km2)
- llcrnrlon i llcrnrlat to odpowiednio długość i szerokość geograficzna lewego dolnego rogu (lower left corner) mapy, a urcrnrlon i urcrnrlat to długość i szerokość geograficzna jej prawego górnego rogu (upper right corner).
Czas na kropki
Do narysowania punktów i miejscowości potrzebne są trzy listy: z długościami geograficznymi naszych miast, z szerokościami no i z nazwami (etykietami).W linii 14 program przelicza dane z listy na współrzędne na rysunku, a w następnej rysuje punkty.
W kolejnych liniach program wstawia nazwy miast. Etykiety nie mogą być w tym samym miejscu, co punkty, stąd przesunięcie (podawane, co ciekawe, w metrach): -80000 dla współrzędnej x i +22000 dla współrzędnej y.
Tak naprawdę ciężko jest znaleźć jedno i takie samo optymalne przesunięcie dla wszystkich nazw – powinno ono być inne dla każdego napisu i umieszczone w postaci oddzielnej listy. Problem ten dość ładnie rozwiązano na blogu peak 5390, który był dla mnie sporą pomocą i inspiracją w trakcie pisania tej notki.
Kolorowanie
Kolejne linie programu to polecenia do rysowania wybrzeży (drawcoastlines), granic państwowych (drawcountries, tutaj z opcjonalnie podanym kształtem przerywanych kresek), wreszcie wypełnienia lądów (fillcontinents) i mórz (drawmapboundary).Oprócz poetyckich nazw kolorów istnieje możliwość wpisania ich numeru RGB. Dodatkowo, kasując linijki i wstawiając odpowiednie polecenie, można stworzyć tło z danych satelitarnych – w stylu mapy Google (bluemarble), tradycyjnej mapy topograficznej (etopo) czy cieniowanej rzeźby terenu (shadedrelief).
Z góry jednak uprzedzam, że tego rodzaju tła w tej skali wyglądają dość mizernie.
Tego rodzaju tło dużo lepiej sprawdza się w przypadku mapy świata:
Dla ciekawych – kod programu (8 linijek!):
Inna sprawa, że generowanie takiego tła może nam strasznie spowolnić komputer. To chyba największa wada pakietu Basemap – python nie należy do najszybszych języków programowania, a ilość obliczeń, jakich musi tutaj dokonać, jest spora. Zwykła mapa potrafi zatkać komputer na pół minuty, natomiast czas rysowania cieniowanej rzeźby terenu niekiedy jest dłuższy od bloku reklamowego na Polsacie.
Skoro zacząłem już o wadach – nie wiedzieć czemu, polecenie do rysowania podziałki nie działa w każdym odwzorowaniu, co gorsza, programista nie dostaje nawet najmniejszego ostrzeżenia w tej sprawie.
Zapis mapy
Ostatnia linia programu służy do zapisu – format docelowy rysunku (SVG, PNG, JPEG, PDF) program automatycznie rozpoznaje na podstawie rozszerzenia pliku.Szczęśliwego Nowego Roku!
poniedziałek, 19 lutego 2018
Znów urodzinowo
Dzisiaj są urodziny siostrzeńca samego Lukasa Watzenrode (biskupa warmińskiego). Cytat z siostrzeńca:
Choć nieskończona jest ilość plag, które zazwyczaj powodują upadek królestw, księstw i rzeczypospolitych, to (moim zdaniem) najgorsze są cztery: niezgoda, śmiertelność, jałowość ziemi i podły pieniądz.Dzieci w szkołach powinny uczyć się tego cytatu, a nie jakieś wierszowanych dyrdymałek o przestawianiu wajch planetarnych.
Trzy pierwsze są tak oczywiste, że wszyscy dobrze wiedzą, iż tak właśnie jest; ale czwartą, która dotyczy pieniądza, uznają tylko nieliczni, i to najmądrzejsi, ponieważ doprowadza do upadku rzeczypospolitych nie od razu i nie za pomocą jednego ciosu, ale stopniowo i jakby skrycie.
wtorek, 26 września 2017
Sto lat, Larry!
Dzisiaj są urodziny Larry'ego Walla. Wprawdzie w kartografii Perl chyba trochę pozostał w tyle za swoim wężowatym kolegą, ale i tak jest na liście języków, które warto znać.
Dwa moje ulubione cytaty z Larry'ego:
Dwa moje ulubione cytaty z Larry'ego:
When they first built the University of California at Irvine they just put the buildings in. They did not put any sidewalks, they just planted grass. The next year, they came back and put the sidewalks where the trails were in the grass. Perl is just that kind of language. It is not designed from first principles. Perl is those sidewalks in the grass.
Real programmers can write assembly code in any language.
niedziela, 24 września 2017
Czarno na białym
Kiedy nadchodzi sezon palenia w piecu, zaczynam tęsknić za blokami. Może dlatego dzisiaj notka między innymi o osiedlach, choć niekoniecznie o tzw. wielkiej płycie.
Wbrew temu, co sugerowano na filmie
Niekiedy po dołożeniu jakiegoś przypadkowego pawilonu handlowego czy wciśnięciu dodatkowego bloku na bezcennych gruntach pomysł ten przestaje być jasny i oczywisty, ale jest jeden sposób, żeby się o tym przekonać: schwarzplan, czyli mapa, na której czarnym kolorem na białym tle zaznaczono układ budynków i nic poza tym. Żadnych dróg, linii tramwajowych czy rzek.
Zaczniemy od poniemieckiego klasyka, czyli wrocławskiego osiedla-ogrodu Sępolno, zbudowanego na planie orła (łatwiej go zobaczyć, gdy się przekręci głowę w lewo) — drobne kropki wewnątrz tego orła, które psują efekt, to dobudowane później garaże, szopy, pomieszczenia gospodarcze itp.
O schwarzplanach i układach miast bardzo ładnie pisał na swoim blogu Marcin Piotrowski, przedstawiając fascynujące tło powstania miasta Brasilii (polecam cały cykl artykułów!), zrobił to tak ciekawie, że w zasadzie wyczerpał temat. W tej notce chciałbym jedynie podać przepis na szybkie narysowanie schwarzplanu przy użyciu bezpłatnego narzędzia Maperitive oraz danych z OpenStreetMap.
use-ruleset location=Rules/Schwarzplan.mrules as-alias=Schwarzplan
i naciskając ENTER.
move-pos y=szerokość_geograficzna x=długość_geograficzna
Wszystkie kolejne operacje będą domyślnie wykonywane dla widocznego na podglądzie obszaru mapy. Jeżeli go chcemy zmodyfikować albo obejrzeć w pomniejszeniu lub powiększeniu, to należy skorzystać z opcji Set Geometry Bounds w menu Map. Po zmianie powiększenia będzie widać obszar roboczy, zaznaczony czerwoną ramką.
Teraz w menu Map wybieramy Switch to rules, potem z listy reguł wybieramy Schwarzplan. Można już wyłączyć podgląd warstwy o nazwie Web map, odznaczając gwiazdkę na liście warstw (Sources), w podglądzie Maperitive zostanie już tylko czarno-biały układ budynków.
Od tego momentu przyciski powiększenia i oddalenia [+]/[-] mają wpływ nie tylko na widok ale też skalę i wielkość eksportowanej mapy.
Pozostaje nam już tylko format rysunku; do wyboru mamy grafikę rastrową PNG albo wektorową SVG (w dwóch wersjach, bo podobno Adobe Illustrator nie zawsze prawidłowo czyta pliki przeznaczone dla Inkscape'a). Jeżeli wybierzemy opcję eksportu z menu Tools, to program domyślnie zapisze schwarzplan w podkatalogu output. Możemy też sami ustalić ścieżkę do zapisu przy użyciu polecenia
export-bitmap file="ścieżka/nazwapliku.png"
Rzut oka na mapę Miasteczka Wilanów sprawia, że budzą się we mnie podejrzenia — wszystko jakieś takie zbyt idealne, z drugiej strony budynki prawdopodobnie mają funkcję głównie mieszkalną. Bez wizyty na osiedlu widzę, że wszelkie sklepy, knajpy i punkty usługowe jeżeli są, to schowane na parterach domów. Szkoła, gdzie jest szkoła?
Dla porównania dokładam Podzamcze — sypialnię na obrzeżach Wałbrzycha, podobno jedno z lepiej zaprojektowanych osiedli w Polsce z lat 70'/80'.
W czasach świetności mieszkało tam ponad 40 tys. ludzi, teraz zdaje się została połowa. Widać budynki handlowe, mały budynek na planie krzyża to zapewne kościół; dużo przestrzeni pomiędzy ułożonymi jak szańce blokami daje wytchnienie, ale wiać tam musi strasznie.
Dwie linie małych budynków w górnej części mapy to ciągi garaży — nie zaplanowano ich w trakcie budowy osiedla, więc obstawiam, że na Podzamczu mogą być problemy z parkowaniem.
Analizę Nowej Huty pozostawiam już Czytelnikom.
Wbrew temu, co sugerowano na filmie
Poszukiwany, poszukiwana, osiedla nie zawsze planowano na zasadzie
A jezioro przesuniemy tutaj. Za niektórymi projektami stał konkretny pomysł, jakaś idea urbanistyczna.
Niekiedy po dołożeniu jakiegoś przypadkowego pawilonu handlowego czy wciśnięciu dodatkowego bloku na bezcennych gruntach pomysł ten przestaje być jasny i oczywisty, ale jest jeden sposób, żeby się o tym przekonać: schwarzplan, czyli mapa, na której czarnym kolorem na białym tle zaznaczono układ budynków i nic poza tym. Żadnych dróg, linii tramwajowych czy rzek.
Zaczniemy od poniemieckiego klasyka, czyli wrocławskiego osiedla-ogrodu Sępolno, zbudowanego na planie orła (łatwiej go zobaczyć, gdy się przekręci głowę w lewo) — drobne kropki wewnątrz tego orła, które psują efekt, to dobudowane później garaże, szopy, pomieszczenia gospodarcze itp.
O schwarzplanach i układach miast bardzo ładnie pisał na swoim blogu Marcin Piotrowski, przedstawiając fascynujące tło powstania miasta Brasilii (polecam cały cykl artykułów!), zrobił to tak ciekawie, że w zasadzie wyczerpał temat. W tej notce chciałbym jedynie podać przepis na szybkie narysowanie schwarzplanu przy użyciu bezpłatnego narzędzia Maperitive oraz danych z OpenStreetMap.
1. Instalacja
Pobieramy program Maperitive i rozpakowujemy go. Następnie w katalogu Maperitive, a ściślej w podkatalogu Rules, gdzie znajdują się reguły renderowania map, zapisujemy plik Schwarzplan.mrules. Teraz trzeba uruchomić program i zarejestrować nową regułę, wpisując w wierszu znajdującym się na dole okna polecenie:use-ruleset location=Rules/Schwarzplan.mrules as-alias=Schwarzplan
i naciskając ENTER.
2. Wybór obszaru roboczego
Przesuwamy mapę w interesującym nas obszar. Można tego dokonać przy użyciu myszki, przydadzą się też przyciski przybliżania i oddalania [+]/[-]. Jeżeli znamy współrzędne geograficzne danego miejsca (w postaci dziesiętnej), możemy od razu przejść tam, wpisując komendę:move-pos y=szerokość_geograficzna x=długość_geograficzna
Wszystkie kolejne operacje będą domyślnie wykonywane dla widocznego na podglądzie obszaru mapy. Jeżeli go chcemy zmodyfikować albo obejrzeć w pomniejszeniu lub powiększeniu, to należy skorzystać z opcji Set Geometry Bounds w menu Map. Po zmianie powiększenia będzie widać obszar roboczy, zaznaczony czerwoną ramką.
3. Pobranie danych i renderowanie
Po ustaleniu obszaru pobieramy dane z OpenStreetMap — służy do tego opcja w menu Map o nazwie Download OSM Data (Overpass API). Jeżeli operacja zakończy się sukcesem, to na liście warstw oznaczonych gwiazdkami w prawym, dolnym rogu programu pojawi się nowa warstwa o nazwie OSM File.Teraz w menu Map wybieramy Switch to rules, potem z listy reguł wybieramy Schwarzplan. Można już wyłączyć podgląd warstwy o nazwie Web map, odznaczając gwiazdkę na liście warstw (Sources), w podglądzie Maperitive zostanie już tylko czarno-biały układ budynków.
4. Obszar, skala i format wyjściowy planu
Granice obszaru roboczego, dla którego program pobrał dane OSM oraz wyrenderował je (tzw. Geometry Bounds — czerwona ramka) nia nie zawsze pokrywają się granicami do eksportu (Printing Bounds — niebieska ramka). Żeby ustalić te ostatnie, należy wybrać opcję Set Printing Bounds z menu Map albo kliknąć drugim przyciskiem myszy na czerwoną ramkę i wybrać opcję Place Printing Bounds Here.Od tego momentu przyciski powiększenia i oddalenia [+]/[-] mają wpływ nie tylko na widok ale też skalę i wielkość eksportowanej mapy.
Pozostaje nam już tylko format rysunku; do wyboru mamy grafikę rastrową PNG albo wektorową SVG (w dwóch wersjach, bo podobno Adobe Illustrator nie zawsze prawidłowo czyta pliki przeznaczone dla Inkscape'a). Jeżeli wybierzemy opcję eksportu z menu Tools, to program domyślnie zapisze schwarzplan w podkatalogu output. Możemy też sami ustalić ścieżkę do zapisu przy użyciu polecenia
export-bitmap file="ścieżka/nazwapliku.png"
5. Problemy miast
Na deser kilka narysowanych naprędce planów.Rzut oka na mapę Miasteczka Wilanów sprawia, że budzą się we mnie podejrzenia — wszystko jakieś takie zbyt idealne, z drugiej strony budynki prawdopodobnie mają funkcję głównie mieszkalną. Bez wizyty na osiedlu widzę, że wszelkie sklepy, knajpy i punkty usługowe jeżeli są, to schowane na parterach domów. Szkoła, gdzie jest szkoła?
Dla porównania dokładam Podzamcze — sypialnię na obrzeżach Wałbrzycha, podobno jedno z lepiej zaprojektowanych osiedli w Polsce z lat 70'/80'.
W czasach świetności mieszkało tam ponad 40 tys. ludzi, teraz zdaje się została połowa. Widać budynki handlowe, mały budynek na planie krzyża to zapewne kościół; dużo przestrzeni pomiędzy ułożonymi jak szańce blokami daje wytchnienie, ale wiać tam musi strasznie.
Dwie linie małych budynków w górnej części mapy to ciągi garaży — nie zaplanowano ich w trakcie budowy osiedla, więc obstawiam, że na Podzamczu mogą być problemy z parkowaniem.
Analizę Nowej Huty pozostawiam już Czytelnikom.
niedziela, 14 maja 2017
Szybka mapa na niedzielną wyprawę
Słoneczko świeci, nic tylko wybrać się na rower. No ale jak to? Bez mapy?
Możemy oczywiście zabrać ze sobą komórkę, czasami jednak przyda się nam mapa na zwykłej kartce. Możliwości wydrukowania mapy (na przykład OpenStreetMap) jest naprawdę sporo, mnie zainteresowała usługa oferowana przez Inkatlas.
Firma ta oferuje pobranie interesującego nas fragmentu mapy OSM i przygotowanie jej do druku w postaci pliku PDF. Usługa jest bezpłatna dla map zajmujących mniej niż 4 strony A4, w przypadku większego obszaru wydruku trzeba uiścić niewielką kwotę.
Rejestracja w testowanej przeze mnie bezpłatnej wersji nie jest wymagana; po wyszukaniu interesującego nas punktu zaznaczamy, używając przycisku z czarnym kwadratem, konkretny obszar, potem dobieramy suwakiem skalę mapy i układ strony.
Inkatlas oferuje mapy w kilku różnych stylach:
OpenStreetMap, czyli zwykła mapa OSM bez przeróbek — czasami po prostu może być za mocno przeładowana informacjami
Inkatlas Urban — czarno biała mapa z podkreślonymi zabudowaniami i wyraźnym układem ulic i dróg
Inkatlas Outdoor — styl podobny do wersji Urban, ale z zaznaczonymi poziomicami
OpenTopoMap — kolorowa mapa topograficzna uzyskana na podstawie mapy OpenStreetMap
Po wybraniu stylu należy nacisnąć przycisk "Continue". W drugim etapie można wpisać tytuł mapy i jej opis (oraz zadecydować, czy chcemy mieć na mapie siatkę geograficzną), po przejściu do kolejnej strony rozpoczyna się generowanie mapy.
Garść uwag:
1. Wszystkich tych, którzy chcieli za darmo wygenerować plik w formacie A4, a potem zrobić sobie z tego mapę sztabową na pół ściany, muszę zmartwić — w powiększeniu wygląda ona kiepsko, po obejrzeniu mapy okazało się, że jest to tak naprawdę średniej jakości rysunek JPG zapakowany tylko do PDFa.
2. W mapie w stylu Inkatlas Outdoor zauważyłem pewien błąd — chciałem wydrukować sobie mapę pobliskiego zalewu, okazało się, że w okolicznych miejscowościach, w których obszar zabudowany nie był zaznaczony jako całość, znikały również pojedyncze budynki.
3. Jeżeli ktoś się zastanawia, czy można z tak uzyskaną mapą iść w góry, to radzę obejrzeć przykładową mapę okolic Karpacza.
Możemy oczywiście zabrać ze sobą komórkę, czasami jednak przyda się nam mapa na zwykłej kartce. Możliwości wydrukowania mapy (na przykład OpenStreetMap) jest naprawdę sporo, mnie zainteresowała usługa oferowana przez Inkatlas.
Firma ta oferuje pobranie interesującego nas fragmentu mapy OSM i przygotowanie jej do druku w postaci pliku PDF. Usługa jest bezpłatna dla map zajmujących mniej niż 4 strony A4, w przypadku większego obszaru wydruku trzeba uiścić niewielką kwotę.
Rejestracja w testowanej przeze mnie bezpłatnej wersji nie jest wymagana; po wyszukaniu interesującego nas punktu zaznaczamy, używając przycisku z czarnym kwadratem, konkretny obszar, potem dobieramy suwakiem skalę mapy i układ strony.
Inkatlas oferuje mapy w kilku różnych stylach:
OpenStreetMap, czyli zwykła mapa OSM bez przeróbek — czasami po prostu może być za mocno przeładowana informacjami
Inkatlas Urban — czarno biała mapa z podkreślonymi zabudowaniami i wyraźnym układem ulic i dróg
Inkatlas Outdoor — styl podobny do wersji Urban, ale z zaznaczonymi poziomicami
OpenTopoMap — kolorowa mapa topograficzna uzyskana na podstawie mapy OpenStreetMap
Po wybraniu stylu należy nacisnąć przycisk "Continue". W drugim etapie można wpisać tytuł mapy i jej opis (oraz zadecydować, czy chcemy mieć na mapie siatkę geograficzną), po przejściu do kolejnej strony rozpoczyna się generowanie mapy.
Garść uwag:
1. Wszystkich tych, którzy chcieli za darmo wygenerować plik w formacie A4, a potem zrobić sobie z tego mapę sztabową na pół ściany, muszę zmartwić — w powiększeniu wygląda ona kiepsko, po obejrzeniu mapy okazało się, że jest to tak naprawdę średniej jakości rysunek JPG zapakowany tylko do PDFa.
2. W mapie w stylu Inkatlas Outdoor zauważyłem pewien błąd — chciałem wydrukować sobie mapę pobliskiego zalewu, okazało się, że w okolicznych miejscowościach, w których obszar zabudowany nie był zaznaczony jako całość, znikały również pojedyncze budynki.
3. Jeżeli ktoś się zastanawia, czy można z tak uzyskaną mapą iść w góry, to radzę obejrzeć przykładową mapę okolic Karpacza.
poniedziałek, 1 maja 2017
Mapyrus - schemat połączeń kolejowych
Do rozpracowania Mapyrusa zabrałem się już jakiś czas temu; na pierwszy rzut oka sprawiał wrażenie nowoczesnego — wieloplatformowy, może pracować jako serwer, produkuje ładne grafiki wektorowe itp.
Mętna dokumentacja plus niestabilność tamtej wersji programu sprawiła, że odłożyłem go na półkę. Później jednak wypatrzyłem na stronie internetowej Mapyrusa drobiazg, który mnie zachwycił — przykładowy schemat połączeń komunikacyjnych.
Narysowanie mapy/wykresu sprowadza się do stworzenia skryptu w dość dziwnym języku programowania (czy tylko ja widzę fascynację autora PostScriptem?), potem trzeba ów skrypt uruchomić poleceniem:
java -classpath ścieżka_do_programu\mapyrus.jar org.mapyrus.Mapyrus nazwa_skryptu
Niezwykle intuicyjne, prawda? Na szczęście można wstawić to polecenie do jakiegoś programu wsadowego (np. mapka.bat) i później uruchamiać go normalnie, klikając myszką.
Nie pisałem własnego skryptu, przerobiłem jedynie odrobinę przykład o nazwie mapview3.mapyrus dołączony do dokumentacji tak, żeby obsługiwał polskie znaki i żeby układ wykresu był pionowy. W jednym folderze ze skryptem powinien znaleźć się oddzielny plik z listą stacji (oba przykładowe pliki można pobrać stąd). Aha, dużo ładniejszy wynik uzyskamy w formacie SVG, wystarczy zmodyfikować w jednej z ostatnich linii skryptu po poleceniu newpage najpierw nazwę formatu, potem nazwę pliku.
Linia kolejowa 285 jest jedną z ładniejszych w Polsce, obecnie trwają prace nad jej przywróceniem do użytku. Malownicze wiadukty już dawno docenili ludzie z Sowiogórskiego Bractwa Kolejowego, którzy na tej trasie organizują Mistrzostwa Polski w Drezynowaniu.
Mętna dokumentacja plus niestabilność tamtej wersji programu sprawiła, że odłożyłem go na półkę. Później jednak wypatrzyłem na stronie internetowej Mapyrusa drobiazg, który mnie zachwycił — przykładowy schemat połączeń komunikacyjnych.
Narysowanie mapy/wykresu sprowadza się do stworzenia skryptu w dość dziwnym języku programowania (czy tylko ja widzę fascynację autora PostScriptem?), potem trzeba ów skrypt uruchomić poleceniem:
java -classpath ścieżka_do_programu\mapyrus.jar org.mapyrus.Mapyrus nazwa_skryptu
Niezwykle intuicyjne, prawda? Na szczęście można wstawić to polecenie do jakiegoś programu wsadowego (np. mapka.bat) i później uruchamiać go normalnie, klikając myszką.
Nie pisałem własnego skryptu, przerobiłem jedynie odrobinę przykład o nazwie mapview3.mapyrus dołączony do dokumentacji tak, żeby obsługiwał polskie znaki i żeby układ wykresu był pionowy. W jednym folderze ze skryptem powinien znaleźć się oddzielny plik z listą stacji (oba przykładowe pliki można pobrać stąd). Aha, dużo ładniejszy wynik uzyskamy w formacie SVG, wystarczy zmodyfikować w jednej z ostatnich linii skryptu po poleceniu newpage najpierw nazwę formatu, potem nazwę pliku.
Linia kolejowa 285 jest jedną z ładniejszych w Polsce, obecnie trwają prace nad jej przywróceniem do użytku. Malownicze wiadukty już dawno docenili ludzie z Sowiogórskiego Bractwa Kolejowego, którzy na tej trasie organizują Mistrzostwa Polski w Drezynowaniu.
Subskrybuj:
Posty (Atom)



















