Pomorskie Forum Eksploracyjne

Poszukiwacze skarbów są dla nas niczym... niczym bracia! ;)
Dzisiaj jest 21 sty 2017, 18:23

Strefa czasowa UTC+1godz.




Nowy temat Odpowiedz w temacie  [ Posty: 88 ]  Przejdź na stronę Poprzednia  1, 2, 3, 4, 5  Następna
Autor Wiadomość
 Tytuł: Re: MapoTero.
Post: 22 sty 2015, 07:21 
Awatar użytkownika

Rejestracja: 17 sie 2014, 19:12
Posty: 56
tpl pisze:
Koledzy jak to jest z tymi WMS'ami... Serwer odsyła wcześniej przygotowane obrazki, czy wykrawa fragment o parametrach podanych w zapytaniu
Z zasady WMS odsyła DOKŁADNIE fragment mapy zadany w zapytaniu - o współrzędnych narożników podanych w zapytaniu, w postaci obrazka o zadanym rozmiarze w pikselach w pionie i w poziomie (może być różny). Kafel na pewno jest odsyłany dokładnie z takimi parametrami, jakich zażąda Mapotero. Tego, jak kafle pobiera Mapotero prawdę mówiąc nigdy wcześniej nie analizowałem, ALE gdyby pobrane kafle nie mogły obejmować obszaru większego niż obszar mapy, to część z nich (skrajne) musiałaby być czasami węższa/niższa od pozostałych, a o ile pamiętam, tak nie jest. Marginesu nie będzie tylko w szczególnych przypadkach, gdy odpowiednio zadamy współrzędne mapy. Tpl - zdaje się, że rozwiązałeś problem ! ;)
Pozostaje tylko sprawdzić (np. na Geoportalu), z której strony Mapotero dodaje margines - pewnie tak, jak narysował wyżej tpl.

Kafelkarz ma z założenia pobierać z WMS "uniwersalne" kafle "wielorazowego użytku" - tnę je więc według ustalonego wcześniej schematu.


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: MapoTero.
Post: 22 sty 2015, 08:39 
Awatar użytkownika

Rejestracja: 14 mar 2013, 06:02
Posty: 83
Lokalizacja: Jura Krakowsko - Częstochowska
Mt pobiera wszystkie identyczne segmenty, co do wielkości pix x pix. Mnie wyszło, że zwiększa rozmiar mapy jako całości dodając wartość X i Y do zapełnienia segmentów w prawym (wschodnim) słupie i północnym pasie. To nawet z logiki wynika.
Oczywiście pewnymi ustawieniami x i y możemy się wstrzelić w całkowite zapełnienie segmentów.
I właśnie takie ustawienia teraz dla testu trzeba obliczyć.

Dodam.
Na obrazku współrzędne dolne lewe to te wpisane do mt i odczytane w global mapperze po złożeniu mapy.
Górne prawe "wewnętrzne" wpisane do mapotero, zewnętrzne - odczytane w gm
Pobrane 3x3 segmenty,4m/pix, bok 2048

Dodane:
A to wstrzelenie będzie wtedy gdy do wartości x i y dodamy iloczyn
ilości segmentów i ilości metrów/pix oraz ilości pixeli na bok segmentu


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: MapoTero.
Post: 22 sty 2015, 13:06 
Awatar użytkownika

Rejestracja: 17 sie 2014, 19:12
Posty: 56
Czyli, jeśli przyjmiemy, że:
- lewy dolny narożnik, zadany w Mapotero, to (Xo,Yo)
- prawy górny narożnik zadany w Mapotero, to (X1,Y1);
- prawy górny narożnik mapy złożonej z pobranych kafli, to (Xm,Ym);
- rozdzielczość mapy w metrach na piksel, to R;
- rozmiar kafla w pikselach, to px,
to wzory na Xm i Ym przedstawiają się następująco:

Xm = Xo+(Trunc((X1-Xo)/R/px)+1)*px*R [m]
Ym = Yo+(Trunc((Y1-Yo)/R/px)+1)*px*R [m]

ps.
@ tpl, odczytując współrzędne z mapy prawie się nie pomyliłeś ;), powinno być: 472476,491003


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: MapoTero.
Post: 22 sty 2015, 13:24 

Rejestracja: 22 sty 2015, 13:21
Posty: 1
czytam i czytam i nic nie moge ogarnac, jak w koncu pobrac te sekwencje z mapotero ?


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: MapoTero.
Post: 22 sty 2015, 18:04 
Awatar użytkownika

Rejestracja: 14 mar 2013, 06:02
Posty: 83
Lokalizacja: Jura Krakowsko - Częstochowska
Sprawdziliśmy z Szymonem, gdzieś zrobiłem błąd (literówkę) przepisując współrzędne, a to pewnie z powodu godziny rysowania obrazka :(

bartek71 pisze:
czytam i czytam i nic nie moge ogarnac, jak w koncu pobrac te sekwencje z mapotero ?

Na koniec napiszemy prostą instrukcję.


Ostatnio zmieniony 22 sty 2015, 18:11 przez tpl, łącznie zmieniany 1 raz

Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: MapoTero.
Post: 22 sty 2015, 18:57 

Rejestracja: 11 sty 2015, 16:00
Posty: 25
Lokalizacja: Poznań
Wydaj mi się, że potrzebny jest nam lewy górny róg mapy. Przynajmniej ja od góry od lewej do prawej i w dół generuję pliki map według wzoru niżej. To działa.

kx - ilość kafli po X
Xm = Xo + (kx * R * px) - (1 * R)
Ym = Yo


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: MapoTero.
Post: 22 sty 2015, 20:15 
Awatar użytkownika

Rejestracja: 17 sie 2014, 19:12
Posty: 56
e-szymek, ilość kafli w pionie i poziomie można obliczyć:
- w poziomie: Trunc((Y1-Yo)/R/px)+1
- w pionie: Trunc((X1-Xo)/R/px)+1
Zawsze dwa parametry do wprowadzenia mniej. Tym bardziej, że przy kilkudziesieciu/kilkuset kaflach i prostokątnej mapie użytkownik może się pogubić ;).


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: MapoTero.
Post: 23 sty 2015, 06:26 
Awatar użytkownika

Rejestracja: 14 mar 2013, 06:02
Posty: 83
Lokalizacja: Jura Krakowsko - Częstochowska
@AAA222, dzięki za wersję kafelkarza z killerem. Przydatna funkcja.


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: MapoTero.
Post: 23 sty 2015, 09:56 

Rejestracja: 11 sty 2015, 16:00
Posty: 25
Lokalizacja: Poznań
AAA, dzięki. Podobny wzór zastosowałem. Wpisuje się tylko dane z MapoTero. Może nawet w późniejszej wersji je sam pobierze z prpgramu.
PS. Już blisko końca. Ale na całości ucieka mi jeden piksel (na całości mapy, niezależnie od wielkości). Myślisz, że może to wynikać z zaokraglenia współrzędnej w formacie dd.mmmmmm, pliki .map z MapoTerto zaokrągla ostatnią cyfrę. Jeśli porównuje pierwszy plik, no to różnica jest 00.000001. W pętli ten kawałek może powodować i powoduje niewielką różnicę w kolejnych plikach. Będę w domu, to będę to sprawdzał.


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: MapoTero.
Post: 23 sty 2015, 12:54 
Awatar użytkownika

Rejestracja: 17 sie 2014, 19:12
Posty: 56
e-szymek pisze:
Ale na całości ucieka mi jeden piksel...
Czy "ucieka" to znaczy, że szerokość mapy obliczona Twoim programem jest mniejsza od ściąganej przez Mapotero o szerokość piksela ? Ten jeden piksel, to jak rozumiem 4 m. Zaokrąglenie na 6 miejscu współrzędnych w stopniach spowodować może w naszym przypadku różnicę o max 20 cm, cały piksel nie powinien się wiec zgubić. Jeśli tak się dzieje niezależnie od wielkości mapy (dla mapy składającej się z 1 kafla też ?), to znaczy, że gdzieś jest błąd - w Twoim programie lub w Mapotero ;) - nie traktowałbym Mapotero jako wzorca prawidłowej kalibracji map. Wyznaczone przez Twój program dla przykładu z rysunku tpl współrzędne narożników mapy w metrach powinny być takie, jak na rysunku, z tą różnicą, że współrzędne prawego, górnego narożnika kafla nr 3 powinny wynieść: 472476,491003. Jeśli są zgodne, to jest ok. Jeśli nie są zgodne, to masz gdzieś błąd.
W jaki sposób wyznaczasz współrzędne narożników kafli ? Należy obliczać je w metrach, a następnie przeliczać na stopnie, bo rozdzielczość w metrach/piksel na obszarze mapy jest stała, a w stopniach/piksel - nie. Jeśli liczysz przyrost w stopniach i współrzędne kolejnych kafli wyznaczasz poprzez dodanie przyrostu w stopniach, to to jest właśnie źródłem błędu.


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: MapoTero.
Post: 23 sty 2015, 21:07 

Rejestracja: 11 sty 2015, 16:00
Posty: 25
Lokalizacja: Poznań
Oczywiście obliczam współrzędne w metrach :) Prawdopodobnie poradziłem sobie z programem. Po testach zamieszczę go tutaj.

PS. Gdzieś wkradła mi się literówka i ucinało tego piksela przy generowaniu kalibracji. Dzień przerwy od programu i problem rozwiązany :)

Tak więc wspólnymi siłami udało się! Zamieszczam program (instrukcja w programie). Gdyby jeszcze wystąpiły jakieś błędy to zgłaszajcie na forum. Jeśli będzie taka potrzeba (a pewnie będzie, co? 8)) to dorobimy za jakiś czas pozostałe formaty plików. Nie ukrywam, że gdzieś w przyszłości zaimplementujemy do programu ściąganie kafelków, ale na chwilę obecną mam inny projekt do wykonania.

Dziękuję kolegom AAA222 i tpl za cenne wskazówki!


Załączniki:
G2MT - generator plików kalibracyjnych.zip [32.49 KiB]
Pobrany 138 razy


Ostatnio zmieniony 23 sty 2015, 22:51 przez e-szymek, łącznie zmieniany 1 raz
Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: MapoTero.
Post: 23 sty 2015, 22:47 
Awatar użytkownika

Rejestracja: 14 mar 2013, 06:02
Posty: 83
Lokalizacja: Jura Krakowsko - Częstochowska
Mam pytanie do AAA222. Czy komenda wysłana w zapytaniu do serwera WMS "&EX_FORCE_XY_ORDER=1" nie zamienia X i Y?
Gdzieś coś takiego wyczytałem.


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: MapoTero.
Post: 23 sty 2015, 23:07 
Awatar użytkownika

Rejestracja: 14 mar 2013, 06:02
Posty: 83
Lokalizacja: Jura Krakowsko - Częstochowska
e-szymek pisze:
Po testach zamieszczę go tutaj.

Koledzy, Testować w terenie z navi.
Czekamy na uwagi.
Ja ze swojej strony Koledze @e-szymek ogromnie dziękuję za pracę włożoną w budowę w/w programu. Za nieprzespane noce...


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: MapoTero.
Post: 24 sty 2015, 09:42 
Awatar użytkownika

Rejestracja: 17 sie 2014, 19:12
Posty: 56
tpl pisze:
Czy komenda wysłana w zapytaniu do serwera WMS "&EX_FORCE_XY_ORDER=1" nie zamienia X i Y?
Ja nie natknąłem się na nic takiego, ale zawsze można spróbować:
- bez ""&EX_FORCE_XY_ORDER=1":
Kod:
http://mapy.geoportal.gov.pl:80/wss/service/img/guest/TOPO_SERIA/MapServer/WMSServer?request=GetMap&TRANSPARENT=TRUE&FORMAT=image/png8&VERSION=1.3.0&LAYERS=Raster_10_1965&STYLES=&CRS=EPSG:2180&WIDTH=2048&HEIGHT=2048&SERVICE=WMS&BBOX=339095.14285625,336312.777820703,339471.185316016,336688.820280469
- z ""&EX_FORCE_XY_ORDER=1":
Kod:
http://mapy.geoportal.gov.pl:80/wss/service/img/guest/TOPO_SERIA/MapServer/WMSServer?request=GetMap&EX_FORCE_XY_ORDER=1&TRANSPARENT=TRUE&FORMAT=image/png8&VERSION=1.3.0&LAYERS=Raster_10_1965&CRS=EPSG:2180&WIDTH=2048&HEIGHT=2048&SERVICE=WMS&STYLES=&BBOX=339095.14285625,336312.777820703,339471.185316016,336688.820280469
Wklej do przeglądarki i sprawdź efekt ;)
ps. Czyli odpowiedź na Twoje pytanie jest twierdząca - nie zmienia ;).


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: MapoTero.
Post: 24 sty 2015, 15:56 
Awatar użytkownika

Rejestracja: 17 sie 2014, 19:12
Posty: 56
e-szymek, parę uwag do kalibratora ;)
1) Nie działa ją skróty Ctrl+c Ctrl+v, co jest trochę upierdliwe - przydałoby się
2) Nie przyjmuje ułamkowych rozdzielczości (przynajmniej u mnie)
3) Przycisku "Oblicz" mogłoby nie być
4) Po co kopiować kafle do nowego folderu ? Kaflami można się w ogóle nie zajmować.
5) Folder docelowy plików .map mógłby być domyślnie zgodny z folderem źródłowym.
6) Komunikatu "Sprawdziłeś, czy w folderze znajdują się pliki do zmiany?" mogłoby nie być
7) Nie rozumiem komunikatu "Podałeś rozmiar mapy w stosunku do ilości plików. Zmień rozmiar mapy !"
'8) Nazwa pliku kafla w 2 i 3 wierszu pliku .map ma inne rozszerzenie niż mój kafel (miał .png), ścieżka w wierszu 3 jest niepotrzebna i może generować problemy
9) Nie bardzo wiadomo, czy współrzędne z Mapotero należy przepisać przed, czy po zmianie x<->y


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: MapoTero.
Post: 24 sty 2015, 17:38 

Rejestracja: 11 sty 2015, 16:00
Posty: 25
Lokalizacja: Poznań
1. Skróty chwilowo działać nie będą z uwagi na to, że nie mogę sobie poradzić (blokuję wpisywanie liter/nadmiernych przecinków, nie mam pomysłu na odpowiednia funkcję, która może jednocześnie akceptować skróty :)
2. Wersja 1.1 jest z poprawionym błędem.
3. To właśnie dlatego, żeby sprawdzić czy wszystko przepisałeś prawidłowo. Mogłoby, ale dla pewności zostawiłem.
4. W programie następuje zmiana nazw kafli (przenumerowanie), dopiero później są generowane pliki kalibracyjne. Robiąc to w tym samym folderze, może być konflikt. Nie chciałbym usuwać plików, które pobrałeś. A jeśli wystąpi jakiś nieoczekiwany błąd (albo zanik prądu) to zawsze masz zabezpieczone pliki źródłowe.
5. Możliwe że zbędny. Ale jeśli nie będzie się zgadzała ilość kafli w stosunku do rozmiaru mapy, to dostaniesz źle poukładane kafle. Prawdopodobnie taka sytuacja się nie zdarzy, ale jeśli podasz złą i tego nie zauważysz, będziesz zrzucał winę na program. Ja nie liczę w programie, czy masz pobrane wszystkie pliki. Robię macierz (potrzebną do zmiany nazw plików/ generowania plików kalibracyjnych)
o konkretnych wymiarach (segment x segment). Jak nie będzie plików, macierz dostanie pustą wartość, w konsekwencji może się zrobić zła kalibracja(złe przenumerowanie).
6. Powinno być "... zły rozmiar mapy (..) zmień rozmiar mapy lub uzupełnij brakujące fragmenty mapy!". Patrz pkt. 5.
7. Wersja 1.1 poprawiłem ten błąd.
8. Przecież współrzędnych nie zmieniasz kolejnością po zaznaczeniu tej opcji. Współrzędne danej mapy się przecież nie zmieniają - tamta opcja dotyczy mapotero dla pobrania prawidłowych plików kalibracyjnych.


Załączniki:
G2MT1.1 - generator plików kalibracyjnych.exe.zip [32.56 KiB]
Pobrany 136 razy
Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: MapoTero.
Post: 24 sty 2015, 18:53 
Awatar użytkownika

Rejestracja: 17 sie 2014, 19:12
Posty: 56
ad. 1. Nie przesadzaj z tą kontrolą, jak ktoś wpisze nieliczbę, to mu się w ostateczności program wysypie, tragedii nie będzie ;). Docelowo możesz sprawdzać poprawność wprowadzonych danych przed uruchomieniem obliczeń albo po wyjściu z pola, konwertując tekst na liczbę z obsługą błędu (pewnie jest w C coś w rodzaju try..except ?).
ad. 2. Może przez tą kontrolę formatu dalej nie akceptuje u mnie ułamkowych rozdzielczości :( - mam kropkę jako separator dziesiętny.
ad. 4. A po co zmieniać nazwy kafli ? Mogłyby zostać takie, jakie są, wystarczyłoby tylko dorobić do nich pliki kalibracyjne. Jak ktoś ma 9 kafli, to nie ma sprawy, ale jak robi mapę 18000 x 12000... po co mnożyć gigabajty ponad potrzebę ;)
ad. 5. Tak naprawdę, do wygenerowania plików kalibracyjnych kafle same w sobie nie są potrzebne, potrzebne jest tylko rozszerzenie, bo nazwy nadawane są z klucza. To, czy kafle są, czy ich nie ma, nie wpływa przecież na zawartość pliku kalibracyjnego (ścieżka w 3 wierszu nie jest do niczego potrzebna), więc po co to kontrolować ?


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: MapoTero.
Post: 24 sty 2015, 19:14 

Rejestracja: 11 sty 2015, 20:33
Posty: 16
Potestowałem program. Pliki kalibracyjne po przetworzeniu powodują przesunięcie mapy ok. 2 km na północ - podejrzewam 2048 metrów. Mam ustawiony bok segmentu 2048 i 1 m/pix.
Mój test polega na złożeniu kafli mapy GlobalMapperem i wygenerowaniu pliku kmz i podgląd w GoogleEarth.


Załączniki:
2015-01-24_192141.jpg
2015-01-24_192141.jpg [ 249.87 KiB | Przeglądany 1228 razy ]
Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: MapoTero.
Post: 24 sty 2015, 20:15 
Awatar użytkownika

Rejestracja: 17 sie 2014, 19:12
Posty: 56
pawelko pisze:
...Mam ustawiony bok segmentu 2048 i 1 m/pix.
Czy możesz podać współrzędne zadane w Mapotero?


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: MapoTero.
Post: 24 sty 2015, 20:25 

Rejestracja: 11 sty 2015, 20:33
Posty: 16
@ AAA222 podaję
lewy dolny róg x=617860 y=481475
prawy górny róg x=624343 y=486780


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
Wyświetl posty nie starsze niż:  Sortuj wg  
Nowy temat Odpowiedz w temacie  [ Posty: 88 ]  Przejdź na stronę Poprzednia  1, 2, 3, 4, 5  Następna

Strefa czasowa UTC+1godz.


Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość


Nie możesz tworzyć 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 dodawać załączników

Szukaj:
Przejdź do:  
Technologię dostarcza phpBB® Forum Software © phpBB Group