Mengapa saya mendapatkan area yang benar dan area berpotongan saat menggunakan proyeksi yang salah?

11

Saya perlu menghitung area dan area persimpangan untuk poligon (beberapa objek geografis nyata seperti danau, kota, negara, dll). Poligon terletak di California, Selandia Baru, Rusia.Anadyr, Swedia

Semua poligon berada di WGS84.

Apa yang saya lakukan menggunakan GeoTool java API:

  1. Proyeksikan semua poligon menggunakan EPSG: 3488 , EPSG: NAD83 (NSRS2007) / California Albers dan area yang dihitung serta area yang tumpang tindih.
  2. Melakukan hal yang sama menggunakan World_Mollweide dan World_Eckert_IV
  3. Memilih " proyeksi spesifik lokal " untuk poligon dari California, Selandia Baru, dll

Saya berasumsi bahwa # 3 adalah hasil yang paling akurat, karena saya memilih proyeksi yang mencakup area poligon

Hasil:

'# 2 menunjukkan hasil terburuk dibandingkan dengan # 3

Perbedaan '# 1 dan # 3 area dan area persimpangan kurang dari 0,1%

Mengapa? Saya memilih EPSG proyeksi yang salah: 3488 (California) untuk poligon dari Swedia dan mendapatkan area yang sama dan area persimpangan yang sama?

UPD: Sepertinya saya tidak menjelaskan kebingungan saya dengan benar. Berikut adalah contoh output dengan penjelasan

#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%]

Kebingungan saya adalah: EPSG: 3488 dirancang untuk digunakan di California

Saya memilih EPSG proyeksi "salah" : 3488 untuk wilayah Alaska, Selandia Baru dan melihat bahwa perhitungan yang dihasilkan tidak berbeda "secara signifikan" dari proyeksi yang benar. EPSG: 3488 bahkan berkinerja lebih baik daripada Mollweide, proyeksi Eckert_IV yang dirancang untuk digunakan di seluruh dunia.

Capacytron
sumber
Saya juga menemukan bahwa hampir tidak ada perbedaan yang dapat diamati antara kedua proyeksi ini, namun perbedaannya masih ada. Di ArcGIS, Anda tidak dapat membuat "dataset fitur" kecuali jika data Anda dalam proyeksi yang sama bahkan dengan perbedaan kecil seperti yang ditemukan antara WGS84 dan NAD83. Halaman web berikut ini sangat informatif bagi saya dan saya harap Anda merasa bermanfaat juga. differencebetween.net/technology/... Saya akan menempatkan ini sebagai komentar tapi saya tidak punya 50 rep :(
Justin Q
Anda membandingkan hasilnya dengan apa?
Ian Turton
@iant silakan lihat pertanyaan terbaru. Saya menambahkan output perbandingan.
Capacytron
Anda dapat mencoba proyeksi AUTO (UTM berpusat pada titik yang disediakan pengguna) - buat CRS sebagai kode String = "AUTO: 42001," + x + "," + y; // System.out.println (kode); CoordinateReferenceSystem auto = CRS.decode (kode);
Ian Turton

Jawaban:

9

"EPSG: 3488, EPSG: NAD83 (NSRS2007) / California Albers" adalah proyeksi dengan luas yang sama. Ini didasarkan pada Albic Conic, yang didefinisikan untuk belahan bumi utara. Karena Swedia berada dalam jangkauan definisi, Swedia sama luasnya dengan Swedia. Ini berarti bahwa (hingga kesalahan pembulatan titik mengambang) akan memberikan area yang benar-benar benar.

Baik Mollweide maupun Eckert sama-sama tidak memiliki wilayah yang sama, tetapi (seperti yang ditunjukkan oleh M. Kennedy dalam komentar) mereka kira-kira demikian. Distorsi yang mereka perkenalkan akan sebanding dengan perbedaan antara bola dan ellipsoid, yang terbatas pada sekitar satu bagian dalam 300 (0,3%).

whuber
sumber
1
Bill, Eckert IV dan Mollweide adalah proyeksi area yang sama, tetapi hanya memiliki algoritma bola.
mkennedy
1
@mkennedy Ups - Saya harus memeriksa. Terima kasih atas koreksinya, Melita. Saya akan memperbaiki komentar itu.
whuber
1
@kenkeny jadi ESRI: 53009 dan ESRI: 54009 sebenarnya identik? Saya melihat bahwa Snyder tidak memberikan formula pada ellispoid, jadi apa arti proyeksi World_xxx dari ESRI berdasarkan WGS84?
AndreJ
1
Esri: 53009 (dan entri 53xxx lainnya) menggunakan GeoCRS berbasis bola dengan R = 6371000.0 m. Kisaran Esri: 54xxx menggunakan geoCRS WGS84 sehingga jari-jari sebenarnya yang digunakan adalah sumbu semimajor, 6378137.0. Keduanya ditambahkan hanya sebagai definisi uji / sampel.
mkennedy
2
Kutub Selatan berjarak puluhan ribu kilometer dari Swedia: berada di Antartika. Kutub Utara hanya beberapa ribu kilometer dari Swedia. Tapi itu tidak masalah: jika Anda menggunakan proyeksi area yang sama dan mampu memproyeksikan wilayah yang ingin Anda hitung, maka itu akan menghitung area dengan benar (untuk datum yang menjadi dasarnya). Beberapa proyeksi dengan luas yang sama mampu memproyeksikan seluruh dunia kecuali satu titik (yang tergantung pada proyeksi).
whuber
1

@ whuber's pernyataan bahwa proyeksi area yang sama "akan memberikan daerah yang benar-benar benar" datang dengan tanda bintang, yaitu, dengan asumsi bahwa ujung-ujung poligon adalah garis lurus dalam proyeksi tersebut . Ini sering merupakan perkiraan yang baik, terutama jika tepinya pendek; tetapi jarang benar.

Di sisi lain, jika ujung poligon Anda adalah geodesik atau garis rhumb, teknik lain dapat digunakan untuk menentukan area yang akurat untuk dibulatkan. Planimeter online saya mengimplementasikan ini. Cobalah.

cffk
sumber
Hai! Terima kasih atas semua masukan. Jadi mau bisa ringkasannya? EPSG: 3488 menggunakan proyeksi Albers equal-area, itu sebabnya ia dengan benar menghitung area di seluruh dunia, bahkan di kutub Selatan?
Capacytron
Mungkin Albers equal-area akan memberikan hasil yang cukup layak untuk aplikasi Anda. Namun secara buta menggunakan proyeksi ini untuk menghitung luas Antartika (yang mengelilingi kutub) akan memberikan hasil yang tidak masuk akal. Jadi untuk penggunaan umum, saya akan merekomendasikan menghitung area geodesik sehingga Anda tidak perlu khawatir tentang keterbatasan setiap proyeksi luas area yang sama.
cffk
Terima kasih balasannya. Sayangnya, kami membutuhkan luas persegi dalam meter.
Capacytron
Alat Planimeter memberi Anda luas dalam meter persegi.
cffk
Fungsionalitas yang sama tersedia sebagai paket Java, Geographiclib-Java . Dokumentasi mencakup kode untuk menghitung luas poligon yang ditetapkan sebagai satu set titik lintang / bujur dengan hasil yang diberikan dalam meter persegi.
cffk