Potrzebuję pomocy w przeliczaniu współrzędnych

Dyskusje na dowolne tematy "około-geodezyjne". Zapraszamy !
Ra

Potrzebuję pomocy w przeliczaniu współrzędnych

Post autor: Ra »

Szanowni Forumowicze!

Na potrzeby niekomercyjnego symulatora kolejowego (eu07.pl) przygotowuję program komputerowy, który ma wygenerować model terenu dla kolei piaskowej PMPPW (okolice Sosnowca). Zrzut ekranu (z wczesnej fazy prac) przedstawia ułożenie torów około 1990 roku, rysowanych z pamięci i przy pomocy map górniczych na tle mapy topograficznej:

Obrazek

Chciałbym prosić o pomoc w zakresie przeliczania współrzędnych, ponieważ nie jestem specjalistą w tej dziedzinie, a dostępne w Internecie materiały są mało konkretne lub niezbyt dla mnie zrozumiałe.


Jako osnowę do orientowania obiektów w scenerii 3D dla Symulatora, przyjąłem siatkę kilometrową współrzędnych prostokątnych płaskich w układzie Pułkowo 1942, obecną na wojskowych mapach topograficznych. Dysponuję skanami w dosyć niskiej jakości - uzyskuję rozdzielczość 128 pikseli na kilometr, co pozwala na pozycjonowanie punktów z dokładnością do 8m oraz krzywych do 2m. (Nie wiem, jaka jest niedokładność mapy. Na potrzeby Symulatora jest to wystarczające.) Współrzędne prostokątne płaskie w układzie Pułkowo 1942 zostały wybrane z uwagi na łatwą dostępność map i gwarancję prawidłowego zamknięcia pętli torów o dowolnej średnicy (przynajmniej w zakresie tych 3°).

Niemniej jednak siatka ta nie jest zgodna z WGS84, wymagane jest przeliczanie współrzędnych, aby później można było wykorzystać takie dane, jak SRTM, SWDB, zdjęcia satelitarne i lotnicze, czy dane dla odbiorników GPS.

Byłbym wdzięczny za podanie konkretnych wzorów, które mógłbym użyć w moim programie do przeliczenia współrzędnych geograficznych WGS84 na współrzędne prostokątne płaskie Pułkowo 1942. Ewentualnie wskazanie dostępnych w Internecie źródeł i niekomercyjnego oprogramowania, które mogło by mi pomóc. Głównie chodzi o kod źródłowy, nie o gotowe aplikacje, ponieważ będę potrzebował przeliczać różne dane w postaci wektorowej. Jednorazowe przeliczenie danych innym programem pewnie byłoby przydatne, jednak wolałbym zrobić przeliczenia moim programem, co będzie łatwiejsze dla jego użytkowników w przypadku dokumentowania torowisk w innym obszarze Polski.



Aby wypozycjonować dane SRTM dla mapy topograficznej z siatką kilometrową, postanowiłem zacząć od danych wodnych SWDB (kształty zbiorników wodnych), dołączanych do SRTM. Zrobiłem w tym celu obsługę plików "shapefile" (.shp).

Aby narysować te obrysy na mapie, użyłem funkcji przekształcenia:

x'=a*x+b*y+c*x*y+d
y'=e*x+f*y+g*x*y+h

gdzie x' i y' [m] to współrzędne prostokątne płaskie wg Pułkowo 1942, a x i y [°] to współrzędne geograficzne WGS84.

Następnie metodą prób i błędów dopasowywałem współczynniki tak, aby obrysy pokryły się ze zbiornikami Pogoria III, Zalew Sosina, J. Dziećkowice. Udało się to osiągnąć przy następujących współczynnikach:
a=71350 - [m/°] w poziomie
b=2850 - obrót
c=-0.6544 -skalowanie
d=1510770 - przesunięcie
e=1600 - obrót
f=-111200 - [m/°] w pionie
g=-0.05179 -skalowanie
h=5556800 - przesunięcie

Z kolei dane wyliczone z map topograficznych wyglądają następująco:
- odległość między 19°E a 20°E wzdłuż równoleżnika 51°N: 70406m,
- odległość między 19°E a 20°E wzdłuż równoleżnika 50°N: 71695m,
- odległość między 50°N a 51°N wzdłuż południka 19°E: 111339m,
- odległość między 50°N a 51°N wzdłuż południka 20°E: 111237m.

W efekcie wspomniane trzy zbiorniki pasowały prawie idealnie. Zbiorniki wodne w okolicy Sosnowiec-Mysłowice pasowały w miarę dobrze. Dla porównania zrobiłem mapkę okolicy Koniecpola (13 km od Włoszczowy w stronę Częstochowy), z zawartym tam zbiornikiem. Zbiornik ten odstawał ok. 4km na północny-wschód. Wszelkie próby sprowadzenia go na wskazane na mapie miejsce kończyły się znacznymi odchyleniami wcześniej ustawionych trzech zbiorników.

Pokażę mniej więcej, jak to wygląda. Czerwonym kolorem są tory, a jasnoniebieskim jest zarys zbiorników z SWDB:

Obrazek

Poniżej okolice Koniecpola z zaznaczonym zbiornikiem:

Obrazek

(Przepraszam, jeżeli wyrażam się nieprecyzyjnie, albo mylę pojęcia - nie posiadam wykształcenia kierunkowego, a tematem interesuję się dopiero od paru miesięcy.)

Ra.
fancegeo
_____
_____
Posty: 260
Rejestracja: 11 kwie 2005, 22:24

Post autor: fancegeo »

tak na szybko to kiedys syryjczyk zajmowal sie problemem.
sprawdz to.

http://www.syryjczyk.krakow.pl/Mapy_Polskie_GPS.htm
pozdrawiam
fancegeo
Ra

Post autor: Ra »

Dziękuję, znalazłem tam wzory przeliczeniowe w arkuszu XLS. Czytałem tą stronę jakiś czas temu, ale nie zwróciłem uwagi na załączony kalkulator.

Wyszło na to, że moje przekształcenie było całkiem dobre, jednak wprowadziłem się w błąd tym zbiornikiem koło Koniecpola - to są dwa różne zbiorniki.

Miarodajnym zbiornikiem koło Koniecpola jest ten widoczny na dole, na prawo od napisu KONIECPOL. Jego obrys powinien być przesunięty kilkaset metrów na zachód i trochę na północ - na mapie jest położony ponad literami OL.

Obliczenia wykonane wg wzorów kalkulatora dają obrysy zbiorników przesunięte o kilkadziesiąt metrów na wschód i nieco na południe.
ODPOWIEDZ