W mojej codziennej pracy ciągle jestem proszony o obliczanie obszarów globalnych zestawów danych rastrowych w projekcji geograficznej przy rozdzielczości 30 sekund kątowych. Te zestawy danych są zwykle wynikiem operacji Łączenia (typowym przykładem są klasy roślinności połączone z warstwą kraju). Aby to zrobić, nasza jednostka utworzyła zestaw danych rastrowych z obszarem każdego piksela w rzucie geograficznym z prędkością 30 sekund kątowych. Za pomocą tej siatki obszarów wykonywany jest status strefowy w celu zsumowania obszarów dla każdej klasy. Ponieważ nie jestem pewien, w jaki sposób utworzono tę siatkę obszaru, zawsze zastanawiałem się, czy to podejście jest bardziej dokładne po prostu przerzucenie rastra w rzucie o równej powierzchni (z prostych testów wyniki dwóch metod są podobne). Czy ktoś doświadczył podobnej sytuacji?
źródło
Odpowiedzi:
Istnieje stosunkowo prosta dokładna formuła dla obszaru dowolnego czworoboku kulistego ograniczonego równoległymi (liniami szerokości) i południkami (liniami długości). Można go wyprowadzić bezpośrednio przy użyciu podstawowych właściwości elipsy (osi głównej a i osi pomocniczej b ), która jest obracana wokół jej osi pomocniczej w celu wytworzenia elipsoidy. (Wyprowadzenie stanowi fajne ćwiczenie całkowe, ale uważam, że nie byłoby to interesujące na tej stronie).
Formułę upraszcza się, dzieląc obliczenia na podstawowe etapy.
Po pierwsze, odległość między wschodnią i zachodnią granicą - południki l0 i l1 - jest ułamkiem całego koła równym q = (l1 - 10) / 360 (gdy południki są mierzone w stopniach) lub 1 = ( l1 - 10) / (2 * pi) (gdy południki są mierzone w radianach). Znajdź obszar całego wycinka znajdujący się między podobieństwami f0 i f1 i pomnóż go przez q .
Po drugie, zastosujemy wzór na powierzchnię poziomego wycinka elipsoidy ograniczonej równikiem (dla f0 = 0) i równoległości na szerokości geograficznej f (= f1). Obszar plastra między dowolnymi dwoma szerokościami geograficznymi f0 i f1 (leżącymi na tej samej półkuli) będzie różnicą między większym i mniejszym obszarem.
Wreszcie, pod warunkiem, że model jest naprawdę elipsoidą (a nie kulą), obszar takiego przekroju między równikiem a równoleżnikiem na szerokości f jest określony przez
gdzie
a
ib
są długościami odpowiednio osi głównej i pomocniczej elipsy generującej,jest jego ekscentryczność, i
(Jest to o wiele prostsze niż obliczanie za pomocą geodezji, które i tak są jedynie przybliżeniem podobieństw. Zwróć uwagę na komentarz @cffk dotyczący sposobu obliczania
log(zp/zm)
w sposób pozwalający uniknąć utraty precyzji na małych szerokościach geograficznych).area(f)
to obszar nieprzezroczystego wycinka od równika do szerokości geograficznej f (na ilustracji około 30 stopni na północ. X i Y to geocentryczne kartezjańskie osie współrzędnych przedstawione w celach informacyjnych.Dla elipsoidy WGS 84 użyj wartości stałych
pociągający za sobą
(Dla modelu sferycznej o = b , wzór się nieokreślone Trzeba się ograniczenie co e -.> 0 z góry, który następnie redukuje się do standardowego wzoru
2 * pi * a^2 * sin(f)
).Zgodnie z tymi wzorami czworokąt 30 na 30 w oparciu o równik ma powierzchnię 3077.2300079129 kilometrów kwadratowych, natomiast czworokąt 30 na 30 dotykający bieguna (który jest tak naprawdę tylko trójkątem) ma powierzchnię tylko 13,6086152 kwadratu kilometry.
Dla sprawdzenia, formuły zastosowane do wszystkich komórek siatki 720 na 360 pokrywającej powierzchnię ziemi dają całkowitą powierzchnię 4 * pi * (6371.0071809) ^ 2 kilometry kwadratowe, wskazując, że promień authaliczny ziemi powinien wynosić 6371,0071809 kilometrów. Różni się to od wartości Wikipedii tylko w ostatniej znaczącej liczbie (około jednej dziesiątej milimetra). (Myślę, że obliczenia Wikipedii są trochę wyłączone :-).
Jako dodatkowe kontrole wykorzystałem wersje tych wzorów do odtworzenia dodatków 4 i 5 w Lev M. Bugayevskiy i John P. Snyder, Map Projections: A Reference Manual (Taylor i Francis, 1995). W dodatku 4 pokazano długości łuku 30-metrowych odcinków południków i równoleżników, podanych do najbliższego metra. Kontrola wyników okazała się idealna. Następnie odtworzyłem tabelę z przyrostami 0,0005 ', zamiast przyrostów 0,5', i zintegrowałem numerycznie obszary czworoboku, jak oszacowano z tymi długościami łuku. Całkowity obszar elipsoidy został dokładnie odtworzony z dokładnością do ośmiu znaczących cyfr. Dodatek 5 pokazuje wartości
area(f)
dla f = 0, 1/2, 1, ..., 90 stopni pomnożone przez 1 / (2 * pi). Wartości te są podawane do najbliższego kilometra kwadratowego. Kontrola wzrokowa wartości bliskich 0, 45 i 90 stopni wykazała doskonałą zgodność.Tę dokładną formułę można zastosować za pomocą algebry rastrowej, zaczynając od siatki podającej szerokości górne granice każdej komórki, a drugą podając szerokości geograficzne dolnych granic. Każda z nich jest zasadniczo siatką współrzędnych y. (W każdym przypadku może aby utworzyć
sin(f)
izm
izp
jako wyniki pośrednie.) Odjąć dwa wyniki, ma wartość bezwzględną, która, i mnożąc przez frakcji Q otrzymanego w pierwszym etapie (równe 0,5 / 360 = 1/720 na przykład dla komórki o szerokości 30 stóp). Będzie to siatka, której wartości zawierają dokładną wartośćobszary każdej komórki (do własnej dokładności liczbowej siatki). Upewnij się tylko, że wyrażasz szerokości geograficzne w postaci oczekiwanej przez funkcję sinusoidalną: wiele kalkulatorów rastrowych da ci współrzędne w stopniach, ale oczekujesz radianów dla ich funkcji trig!Dla przypomnienia, tutaj są dokładne obszary komórek 30 na 30 na elipsoidzie WGS 84 od równika do bieguna, w odstępach 30 ', do 11 cyfr (ta sama liczba użyta dla mniejszego promienia b ):
Wartości podano w kilometrach kwadratowych.
Jeśli chcesz przybliżyć te obszary lub po prostu lepiej zrozumieć ich zachowanie, formuła redukuje się do szeregu mocy według następującego wzoru:
gdzie
(Analogiczna formuła występuje w Bugayevskiy & Snyder, op. Cit. , Równanie (2.1).)
Ponieważ e ^ 2 jest tak małe (około 1/150 dla wszystkich elipsoidalnych modeli ziemi), a z leży między 0 a 1, y jest również małe. Tak więc terminy y ^ 2, y ^ 3, ... szybko się zmniejszają, dodając precyzję o kolejne dwa miejsca dziesiętne z każdym terminem. Gdybyśmy całkowicie zignorowali y , formuła byłaby wzorem pola kuli o promieniu b . Pozostałe terminy można rozumieć jako korygujące wybrzuszenie równikowe Ziemi.
Edytować
Pojawiły się pytania dotyczące porównania obliczeń odległości geodezyjnej z tymi dokładnymi wzorami. Metoda odległości geodezyjnej aproksymuje każdy czworokąt za pomocą geodezji, a nie równoległości, które łączą jego rogi poziomo, i stosuje wzór euklidesowy dla trapezu. W przypadku małych czworokątów, takich jak czworokąty 30 ', jest to nieco tendencyjne i ma względną dokładność między 6 a 10 części na milion. Oto wykres błędu dla WGS 84 (lub jakiejkolwiek uzasadnionej elipsoidy ziemskiej, jeśli o to chodzi):
Tak więc, jeśli (1) masz łatwy dostęp do obliczeń odległości geodezyjnej i (2) tolerujesz błąd na poziomie ppm, możesz rozważyć użycie tych obliczeń geodezyjnych i pomnożenie ich wyników przez 1,00000791 w celu skorygowania błędu systematycznego. W przypadku dwóch kolejnych miejsc dokładności dziesiętnej odejmij współczynnik korygujący pi / 2 * cos (2f) / 10 ^ 6: wynik będzie dokładny z dokładnością do 0,04 ppm.
źródło
Odpowiedź na pytanie radouxju zależy od kształtu piksela rzutowanego na elipsoidę. Jeśli układ współrzędnych rastra ma długość i szerokość geograficzną, piksel jest prostokątem linii loksodermy i można zastosować odpowiedź Whubera, lub, bardziej ogólnie, można użyć wzoru na wielokąt, którego krawędzie są liniami loksodromy. Jeśli układ współrzędnych jest rzutem konformalnym na dużą skalę (UTM, płaszczyzna stanu itp.), Dokładniejsze byłoby przybliżenie krawędzi za pomocą geodezji i zastosowanie wzoru na wielokąt geodezyjny. Wieloboki geodezyjne są prawdopodobnie najlepsze do ogólnego użytku, ponieważ w przeciwieństwie do wielokątów w loksodromie są „dobrze wychowane” blisko biegunów.
Implementacje formuł dla wielokątów geodezyjnych i loksodromów są dostępne w mojej bibliotece GeographicLib . Obszar geodezyjny jest dostępny w kilku językach; obszar linii rumbu to tylko C ++. Jest to wersja on-line (linia geodezyjna + Rhumb) dostępny tutaj . Dokładność tych obliczeń jest zwykle lepsza niż 0,1 metra kwadratowego.
Będziesz musiał osądzić na podstawie wiarygodnego / oficjalnego ... Wzory geodezyjne pochodzą z obszaru geodezyjnego (Danielsen, 1989, wymagana subskrypcja) oraz algorytmów geodezyjnych (Karney, 2013, otwarty dostęp). Wzory rumbu podano tutaj .
źródło
Natknąłem się na to pytanie, próbując określić wzór na obszar piksela WGS84. Podczas gdy odpowiedź @ Whuber zawiera te informacje, wciąż było trochę pracy, aby uzyskać formułę dla pola piksela w stopniach kwadratowych na danej szerokości geograficznej. Dołączyłem napisaną poniżej funkcję Pythona, która streszcza to w jednym wywołaniu. Chociaż nie odpowiada bezpośrednio na pytanie plakatu dotyczące obszaru CAŁEGO rastra (choć można by zsumować pola wszystkich pikseli), myślę, że nadal jest to użyteczna informacja dla kogoś, kto szuka podobnych obliczeń.
źródło