2010-09-17 14 views
5

Próbuję dowiedzieć się, jak wykreślić punkty szerokości/długości WGS84 na mapie bitowej, ale nie mogę znaleźć matematyki wymaganej do przekształcenia punktów lat/lon w współrzędne, które można plotować. Czy ktoś mógłby mi podać jakieś wskazówki lub przykłady, jak to zrobić?Jak wykreślić współrzędne szerokości/długości geograficznej na ekranie?

dzięki

Colin

+8

Którą [projekcję] (http://en.wikipedia.org/wiki/Map_projection) używasz? Jeśli nie wiesz, co to pytanie oznacza, rozważ "pierwszy rzut oka na prognozy mapy". –

+0

Ponadto, gdy mówisz, że nie możesz "wymyślić" matematyki, oznacza to, że znalazłeś formuły konwersji i nie wiesz, jak zastosować je w swoim programie, lub czy to oznacza, że ​​nie wiesz, co formuły są? –

+0

Mówię o tym, jak konwertować lat/lon na XY, aby drukować na bitmapie – colin

Odpowiedz

5

zawracania szerokości geograficznej w osi X, Y przez wykreślenie na płaskiej powierzchni, takiej jak 2d bitmapie jest duże i skomplikowane temat.

Ogólne informacje na ten temat można znaleźć na stronie Wikipedii: map Projections.

Zasadniczo strony internetowe, takie jak mapy google i bing, rozwiązują ten problem za pomocą projekcji mercatora na idealnej kuli, która może z łatwością pokryć większość ziemi (z wyjątkiem bieguna północnego/południowego) i być "wystarczająco dobre" dla większości celów. Są to jednak wielkie przypadki i zależy to od tego, jak dokładne muszą być twoje zdjęcia i co muszą zachować.

Niestety nie znam delpi na tyle dobrze, aby dostarczyć kod źródłowy, ale matematyka dla prognoz mercator jest dobrze udokumentowana here.

Jeśli dokładność nie jest problemem, a twoje punkty są "blisko siebie", najprostszą metodą byłoby po prostu użycie stałego współczynnika i przesunięcia, aby przesunąć szerokość/długość geograficzną na wartości x i y, które pasują do twojej mapy bitowej.

Może to sprawić, że twoje zdjęcia będą lekko zgniecione w kierunku północ/południe, ale generalnie będą wytwarzać obrazy podobne do merkatorów bez naturalnych logarytmów i połączeń sin/tangent.

0

Jak już wspomniano przez MerickOWA, nie ma dobrej odpowiedzi na pytanie, jak to zależy od skali, pracują, i dokładność, jakiej potrzebujesz. Będzie to w dużej mierze zdeterminowane przez to, co dyskutujesz na .bmp. Jeśli jest to mapa globalna w projekcji Mercatora, to odpowiedź Grega da ci kilka wskazówek. Jeśli jest to mapa lokalna, to będzie zależeć od punktu odniesienia, którego używa mapa, a zastosowana projekcja (a punkt odniesienia zostanie w dużej mierze określony przez władze krajowe danego kraju). Powiedziawszy, że wszystko, co chcesz zrobić, to po prostu wyświetlić GPS-a pod warunkiem, że Lon Lon (punkt odniesienia GS84) na lokalnej mapie obejmującej obszar < 6 ° szerokości geograficznej, wtedy możesz zrobić coś gorszego niż rzutowanie WGS84 Lat Lon na Projekcja UTM WGS84, następnie skalowanie (i ewentualnie) obracanie mapy tak, aby pasowała do 2 znanych współrzędnych.

Link tutaj powinno dać jakąś pomoc http://www.uwgb.edu/dutchs/usefuldata/utmformulas.htm

+0

Kiedy mówię bitmapę, naprawdę odwołuję się do Timage z pustą bitmapą, nie chcę nakładać na mapę lub obrazek tylko aby były one naniesione na ekranie we względnych pozycjach. To bardziej, jak wziąć lat lon i przekonwertować na XY zamiast nakładania na obraz – colin

Powiązane problemy