Dokładność Resamplera
: śr 21 cze, 2006 13:14
Przepuściłem ostatnio przez Resamplera fototeksturę o wymiarach 16km x 43km (6336px x 15712px) i napotkałem problem z dokładnością obliczeń.
W pliku *.inf dla resamplera możemy z dowolną dokładnością (ilość miejsc po przecinku) podać współrzędne (x,y) oraz, co jest znacznie bardziej istotne w przypadku dużych materiałów, wymiar x cell dimension oraz y cell dimension.
Po uruchomieniu resampler wyświetla informację z parametrami pracy i tam o zgrozo podaje wpisane wartości zaokrąglone do szóstego miejsca po przecinku.
W przypadku opisywanego materiału jego rzeczywisty wymiar w stopniach wynosi:
lattitude (N-S) 0.390905 stopnia, longitude (W-E) 0.271847 stopnia
Po obróbce przez zaokrąglenie resamplera wymiar zmienia się i wynosi:
rozciągłość lattitude = (cell x dimension deg) x (NumOfCellsPerLine)
co po podstawieniu danych daje 6336 x 0.000043 = 0.272448 stopnia
Różnica pomiędzy faktycznym wymiarem 0.271847 stopnia a obliczonym przez resampler 0.272448 stopnia wynosi 0.000601 stopnia. W wartościach metrycznych jest to ok. 40m
rozciągłość longitude = (cell y dimension deg) x (NumOfLines)
co po podstawieniu danych daje 15712 x 0.000025 = 0.3928 stopnia
Różnica pomiędzy faktycznym wymiarem 0.390905 stopnia a obliczonym przez resampler 0.3928 stopnia wynosi 0.001895 stopnia. W wartościach metrycznych jest to ok. 126m
Różnice te powodują brak spasowania fototekstury na jej granicach z materiałem znajdującym się niżej oraz rozbieżność pozycji dla obiektów zamieszczanych za pomocą zadanych wartości lat i lon.
Jedynym pomysłem jaki mi przychodzi do głowy jest podzielenie fototekstury na kilka mniejszych.
Każdy z mniejszych materiałów będzie miał zadaną pozycję startową (lat, lon) i błąd wynikający z zaokrąglenia wymiaru x cell i y cell będzie mniejszy o tyle o ile mniejszy będzie wymiar bitmapy.
Czy jeszcze ktoś miał z tym problem?
Pozdrawiam,
Macmar
W pliku *.inf dla resamplera możemy z dowolną dokładnością (ilość miejsc po przecinku) podać współrzędne (x,y) oraz, co jest znacznie bardziej istotne w przypadku dużych materiałów, wymiar x cell dimension oraz y cell dimension.
Po uruchomieniu resampler wyświetla informację z parametrami pracy i tam o zgrozo podaje wpisane wartości zaokrąglone do szóstego miejsca po przecinku.
W przypadku opisywanego materiału jego rzeczywisty wymiar w stopniach wynosi:
lattitude (N-S) 0.390905 stopnia, longitude (W-E) 0.271847 stopnia
Po obróbce przez zaokrąglenie resamplera wymiar zmienia się i wynosi:
rozciągłość lattitude = (cell x dimension deg) x (NumOfCellsPerLine)
co po podstawieniu danych daje 6336 x 0.000043 = 0.272448 stopnia
Różnica pomiędzy faktycznym wymiarem 0.271847 stopnia a obliczonym przez resampler 0.272448 stopnia wynosi 0.000601 stopnia. W wartościach metrycznych jest to ok. 40m
rozciągłość longitude = (cell y dimension deg) x (NumOfLines)
co po podstawieniu danych daje 15712 x 0.000025 = 0.3928 stopnia
Różnica pomiędzy faktycznym wymiarem 0.390905 stopnia a obliczonym przez resampler 0.3928 stopnia wynosi 0.001895 stopnia. W wartościach metrycznych jest to ok. 126m
Różnice te powodują brak spasowania fototekstury na jej granicach z materiałem znajdującym się niżej oraz rozbieżność pozycji dla obiektów zamieszczanych za pomocą zadanych wartości lat i lon.
Jedynym pomysłem jaki mi przychodzi do głowy jest podzielenie fototekstury na kilka mniejszych.
Każdy z mniejszych materiałów będzie miał zadaną pozycję startową (lat, lon) i błąd wynikający z zaokrąglenia wymiaru x cell i y cell będzie mniejszy o tyle o ile mniejszy będzie wymiar bitmapy.
Czy jeszcze ktoś miał z tym problem?
Pozdrawiam,
Macmar