Dlaczego otrzymuję prawidłowy obszar i przecinam go, gdy używam niewłaściwej projekcji?

11

Muszę obliczyć obszary i obszary przecięć dla wielokątów (niektóre prawdziwe obiekty geograficzne, takie jak jezioro, miasto, kraj itp.). Wielokąty znajdują się w Kalifornii, Nowa Zelandia, Rosja. Anadyr, Szwecja

Wszystkie wielokąty są w WGS84.

Co zrobiłem przy użyciu GeoTool Java API:

  1. Projektuj wszystkie wielokąty za pomocą EPSG: 3488 , EPSG: NAD83 (NSRS2007) / California Albers oraz obliczone obszary i obszary nakładania się.
  2. To samo zrobiłem przy użyciu World_Mollweide i World_Eckert_IV
  3. Wybrano „ lokalne prognozy ” dla wielokątów z Kalifornii, Nowej Zelandii itp

Zakładam, że wynik nr 3 jest najdokładniejszy, ponieważ wybieram rzut obejmujący obszar wielokąta

Wynik:

„# 2 pokazał najgorszy wynik w porównaniu do # 3

„Różnica między obszarami nr 1 i nr 3 oraz obszarami skrzyżowań jest mniejsza niż 0,1%

Czemu? Wybieram całkowicie niepoprawną projekcję EPSG: 3488 (Kalifornia) dla wielokątów ze Szwecji i otrzymuję te same obszary i obszary skrzyżowań?

UPD: Wygląda na to, że nie wyjaśniłem poprawnie mojego zamieszania. Oto przykładowy wynik z objaśnieniem

#area_from_new_zealand_1
EPSG_27200 area[11733479] CRS[World_Mollweide] area[11736023] diff[2544] [0.0%]
EPSG_27200 area[11733479] CRS[World_Eckert_IV] area[11736033] diff[2554] [0.0%] 
EPSG_27200 area[11733479] CRS[EPSG:NAD83(NSRS2007) / California Albers] area[11736034] diff[2555] [0.0%] 

#area_from_new_zealand_2
EPSG_27200 area[2952725]  CRS[World_Mollweide] area[2953281] diff[556] [0.0%] 
EPSG_27200 area[2952725]  CRS[World_Eckert_IV] area[2953342] diff[617] [0.0%] 
EPSG_27200 area[2952725]  CRS[EPSG:NAD83(NSRS2007) / California Albers] area[2953467] diff[743] [0.0%] 

#intersection_area_between_two_new_zealand_areas
EPSG_27200 intersection area[1001857] CRS[World_Mollweide]                          area[1002082] diff[225] [0.0%] 
EPSG_27200 intersection area[1001857] CRS[World_Eckert_IV]                          area[1002082] diff[225] [0.0%] 
EPSG_27200 intersection area[1001857] CRS[EPSG:NAD83(NSRS2007) / California Albers] area[1002096] diff[239] [0.0%] 


#area_from_alaska_1
EPSG_3338 area[56278347]    CRS[World_Mollweide] area[56041510] diff[236837] [0.4%] 
EPSG_3338 area[56278347]    CRS[World_Eckert_IV] area[56041585] diff[236763] [0.4%] 
EPSG_3338 area[56278347]    CRS[EPSG:NAD83(NSRS2007) / California Albers] area[56278426] diff[79] [0.0%] 

#area_from_alaska_2
EPSG_3338 area[17564799282] CRS[World_Mollweide] area[17486015889] diff[78783393] [0.4%] 
EPSG_3338 area[17564799282] CRS[World_Eckert_IV] area[17486869816] diff[77929466] [0.4%]
EPSG_3338 area[17564799282] CRS[EPSG:NAD83(NSRS2007) / California Albers] area[17566197286] diff[1398004] [0.0%] 

 #intersection_area_between_two_alaska_areas 
EPSG_3338 intersection area[43808167] CRS[World_Mollweide] area[45066901] diff[1258734] [2.8%] 
EPSG_3338 intersection area[43808167] CRS[World_Eckert_IV] area[45163183] diff[1355016] [3.0%] 
EPSG_3338 intersection area[43808167] CRS[EPSG:NAD83(NSRS2007) / California Albers] area[43885182] diff[77015] [0.2%]

Moje zamieszanie to: EPSG: 3488 przeznaczony do użytku w Kalifornii

Wybieram „błędną” projekcję EPSG: 3488 dla obszarów Alaski w Nowej Zelandii i widzę, że wynikające z niej obliczenia nie różnią się „znacząco” od prawidłowych prognoz. EPSG: 3488 działa nawet lepiej niż Mollweide, projekcje Eckert_IV zaprojektowane do użytku na całym świecie.

Capacytron
źródło
Odkryłem również, że nie ma prawie żadnej zauważalnej różnicy między tymi dwoma rzutami, jednak różnica wciąż istnieje. W ArcGIS nie można utworzyć „zestawu danych funkcji”, chyba że dane są w tej samej projekcji, nawet przy tak niewielkiej różnicy, jak w przypadku WGS84 i NAD83. Poniższa strona była dla mnie bardzo pouczająca i mam nadzieję, że okaże się również przydatna. differebetween.net/technology/… Umieściłbym to jako komentarz, ale nie mam 50 powtórzeń :(
Justin Q
z czym porównujesz wyniki?
Ian Turton
@iant zobacz zaktualizowane pytanie. Dodałem wynik porównania.
Capacytron
Możesz wypróbować projekcje AUTO (UTM wyśrodkowane na punkcie dostarczonym przez użytkownika) - skonstruuj CRS jako ciąg znaków = "AUTO: 42001," + x + "," + y; // System.out.println (kod); CoordinateReferenceSystem auto = CRS.decode (kod);
Ian Turton

Odpowiedzi:

9

„EPSG: 3488, EPSG: NAD83 (NSRS2007) / California Albers” to projekcja o jednakowym obszarze. Opiera się na stożku Albersa, który jest zdefiniowany dla półkuli północnej. Ponieważ Szwecja mieści się w zakresie definicji, jest ona równa w Szwecji. Oznacza to, że (aż do błędu zaokrąglenia zmiennoprzecinkowego) da absolutnie poprawne obszary.

Ani Mollweide, ani Eckert nie są dokładnie równe, ale (jak uprzejmie zauważa M. Kennedy w komentarzu), są w przybliżeniu takie. Wprowadzane przez nie zniekształcenia będą porównywalne z różnicami między kulą a elipsoidą, które są ograniczone do około jednej części na 300 (0,3%).

Whuber
źródło
1
Bill, Eckert IV i Mollweide są projekcjami o jednakowym obszarze, ale mają tylko algorytmy sferyczne.
mkennedy,
1
@mkennedy Ups - Powinienem był to sprawdzić. Dziękuję za korektę, Melita. Naprawię ten komentarz.
whuber
1
@mkennedy, więc ESRI: 53009 i ESRI: 54009 są w rzeczywistości identyczne? Widzę, że Snyder nie podaje formuł na ellispoid, więc jaki jest sens tych projekcji World_xxx z ESRI opartych na WGS84?
AndreJ
1
Esri: 53009 (i inne wpisy 53xxx) używają GeoCRS opartego na kuli o R = 6371000,0 m. Zakres Esri: 54xxx wykorzystuje geoCRS WGS84, więc zastosowany rzeczywisty promień to oś semimajor, 6378137.0. Oba zostały dodane jako definicje testu / próbki.
mkennedy,
2
Biegun Południowy znajduje się dziesiątki tysięcy kilometrów od Szwecji: na Antarktydzie. Biegun północny znajduje się zaledwie kilka tysięcy kilometrów od Szwecji. Ale to nie ma znaczenia: jeśli użyjesz projekcji równego obszaru i jest on zdolny do projekcji regionu, którego obszar chcesz obliczyć, wtedy obliczy ten obszar poprawnie (dla punktu odniesienia, na którym jest oparty). Niektóre projekcje o jednakowym obszarze są w stanie rzutować cały świat, z wyjątkiem jednego punktu (który zależy od projekcji).
whuber
1

Twierdzenie Whubera, że ​​rzut o równej powierzchni „da absolutnie poprawne obszary”, zawiera gwiazdkę, a mianowicie założenie, że krawędzie wielokąta są liniami prostymi we wspomnianym rzucie . Jest to często dobre przybliżenie, szczególnie jeśli krawędzie są krótkie; ale rzadko jest to ściśle prawda.

Jeśli natomiast krawędzie wielokąta są liniami geodezyjnymi lub loksodromami, można zastosować inne techniki w celu ustalenia obszaru dokładnego do zaokrąglenia. Mój planimetr online implementuje je. Spróbuj.

cffk
źródło
Cześć! Dzięki za cały wkład. Więc chcesz być podsumowaniem? EPSG: 3488 używa projekcji równych obszarów Albersa, dlatego poprawnie oblicza obszary na całym świecie, nawet na biegunie południowym?
Capacytron,
Prawdopodobnie równy obszar Albersa zapewni wystarczająco przyzwoity wynik dla twojej aplikacji. Jednak ślepe użycie tej prognozy do obliczenia powierzchni Antarktydy (która otacza biegun) da nonsensowny wynik. Dlatego do ogólnego użytku zalecałbym obliczenie obszaru geodezyjnego, abyś nie musiał się martwić ograniczeniami poszczególnych rzutów o równych powierzchniach.
cffk,
Dziękuję za odpowiedź. Niestety potrzebujemy powierzchni w metrach kwadratowych.
Capacytron,
Narzędzie Planimetr zapewnia powierzchnię w metrach kwadratowych.
cffk,
Ta sama funkcjonalność jest dostępna jako pakiet Java, Geographiclib-Java . Dokumentacja zawiera kod do obliczenia obszaru wielokąta określonego jako zbiór punktów szerokości / długości geograficznej z wynikiem podanym w metrach kwadratowych.
cffk,