Tại sao tôi nhận được đúng khu vực và khu vực giao nhau khi sử dụng chiếu sai?


11

Tôi cần tính toán các khu vực và khu vực giao nhau cho đa giác (một số đối tượng địa lý thực sự như hồ, thành phố, quốc gia, v.v.). Đa giác nằm ở California, New Zealand, Nga.Anadyr, Thụy Điển

Tất cả các đa giác đều trong WGS84.

Những gì tôi đã làm bằng cách sử dụng API GeoTool java:

  1. Chiếu tất cả các đa giác bằng cách sử dụng EPSG: 3488 , EPSG: NAD83 (NSRS2007) / California Albers và các khu vực được tính toán và các khu vực chồng lấp.
  2. Đã làm tương tự khi sử dụng World_MollweideWorld_Eckert_IV
  3. Đã chọn " dự đoán cụ thể tại địa phương " cho đa giác từ California, New Zealand, v.v.

Tôi giả sử rằng # 3 là kết quả chính xác nhất, vì tôi chọn phép chiếu bao phủ khu vực đa giác

Kết quả:

'# 2 cho thấy kết quả tồi tệ nhất so với # 3

Sự khác biệt giữa các khu vực # 1 và # 3 và khu vực giao nhau là dưới 0,1%

Tại sao? Tôi chọn phép chiếu hoàn toàn sai EPSG: 3488 (California) cho đa giác từ Thụy Điển và nhận được các khu vực và khu vực giao nhau khá giống nhau?

CẬP NHẬT: Có vẻ như tôi đã không giải thích chính xác sự nhầm lẫn của mình. Đây là đầu ra mẫu với lời giải thích

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

Sự nhầm lẫn của tôi là: EPSG: 3488 được thiết kế để sử dụng ở California

Tôi chọn phép chiếu "sai" EPSG: 3488 cho các khu vực Alaska, New Zealand và thấy rằng các tính toán kết quả không khác biệt "đáng kể" với các dự đoán chính xác. EPSG: 3488 thậm chí hoạt động tốt hơn so với các phép chiếu Mollweide, Eckert_IV được thiết kế để sử dụng trên toàn thế giới.


Tôi cũng đã thấy rằng gần như không có sự khác biệt có thể quan sát được giữa hai dự đoán này, tuy nhiên sự khác biệt vẫn tồn tại. Trong ArcGIS, bạn không thể tạo "tập dữ liệu tính năng" trừ khi dữ liệu của bạn nằm trong cùng một phép chiếu ngay cả với một sự khác biệt nhỏ như tìm thấy giữa WGS84 và NAD83. Các trang web sau đây rất nhiều thông tin cho tôi và tôi hy vọng bạn cũng thấy nó hữu ích. sự khác biệt giữa.net / công nghệ / từ Tôi sẽ đặt điều này như một nhận xét nhưng tôi không có 50 đại diện :(
Justin Q

Bạn đang so sánh kết quả với cái gì?
Ian Turton

@iant vui lòng xem câu hỏi cập nhật. Tôi đã thêm đầu ra so sánh.
Capacytron

Bạn có thể thử các phép chiếu AUTO (UTM tập trung vào điểm do người dùng cung cấp) - xây dựng CRS dưới dạng String code = "AUTO: 42001," + x + "," + y; // System.out.println (mã); Tọa độReferenceSystem auto = CRS.decode (mã);
Ian Turton

Câu trả lời:


9

"EPSG: 3488, EPSG: NAD83 (NSRS2007) / California Albers" là một phép chiếu có diện tích bằng nhau. Nó dựa trên Albers Conic, được xác định cho bán cầu bắc. Bởi vì Thụy Điển nằm trong phạm vi định nghĩa của nó, nó là khu vực bình đẳng ở Thụy Điển. Điều này có nghĩa là (tối đa lỗi làm tròn điểm nổi) nó sẽ cho các khu vực hoàn toàn chính xác.

Cả MollweideEckert đều không có diện tích bằng nhau, nhưng (như M. Kennedy vui lòng chỉ ra trong một bình luận) chúng xấp xỉ như vậy. Các biến dạng mà họ giới thiệu sẽ tương đương với sự khác biệt giữa hình cầu và ellipsoid, được giới hạn ở khoảng một phần trong 300 (0,3%).


1
Bill, Eckert IV và Mollweide là các hình chiếu có diện tích bằng nhau, nhưng chỉ có thuật toán hình cầu.
mkennedy

1
@mkennedy Rất tiếc - Đáng lẽ tôi phải kiểm tra. Cảm ơn bạn đã sửa chữa, Melita. Tôi sẽ sửa nhận xét đó.
whuber

1
@mkennedy vậy ESRI: 53009 và ESRI: 54009 có thực sự giống nhau không? Tôi thấy rằng Snyder không đưa ra các công thức trên hình elip, vậy ý ​​nghĩa của các phép chiếu World_xxx từ ESRI dựa trên WGS84 là gì?
AndreJ

1
Esri: 53009 (và các mục 53xxx khác) sử dụng GeoCRS dựa trên hình cầu với R = 6371000.0 m. Phạm vi Esri: 54xxx sử dụng GeoCRS WGS84 nên bán kính thực tế được sử dụng là trục semimajor, 6378137.0. Cả hai đều được thêm vào như định nghĩa thử nghiệm / mẫu.
mkennedy

2
Nam Cực cách Thụy Điển hàng chục ngàn km: đó là ở Nam Cực. Cực Bắc chỉ cách Thụy Điển vài nghìn km. Nhưng điều đó không thành vấn đề: nếu bạn sử dụng phép chiếu diện tích bằng nhau và nó có khả năng chiếu một khu vực có khu vực bạn muốn tính toán, thì nó sẽ tính toán chính xác khu vực đó (đối với mốc thời gian mà nó dựa vào). Một số phép chiếu có diện tích bằng nhau có khả năng chiếu toàn bộ thế giới ngoại trừ một điểm duy nhất (phụ thuộc vào phép chiếu).
whuber

1

@ whuber khẳng định rằng phép chiếu có diện tích bằng nhau "sẽ cho các vùng hoàn toàn chính xác" đi kèm với dấu hoa thị, cụ thể là giả sử rằng các cạnh của đa giác là các đường thẳng trong phép chiếu nói trên . Đây thường là một xấp xỉ tốt, đặc biệt nếu các cạnh ngắn; nhưng nó hiếm khi đúng

Mặt khác, nếu các cạnh của đa giác của bạn là trắc địa hoặc đường thẳng, các kỹ thuật khác có thể được sử dụng để xác định khu vực chính xác để làm tròn. Máy đo trực tuyến của tôi thực hiện những điều này. Hãy thử một lần.


Chào! Cảm ơn tất cả các đầu vào. Vì vậy, muốn có thể được tóm tắt? EPSG: 3488 sử dụng phép chiếu diện tích bằng nhau của Albers, đó là lý do tại sao nó tính toán chính xác các khu vực trên toàn thế giới, ngay cả trên cực Nam?
Capacytron

Có lẽ Albers diện tích bằng nhau sẽ cung cấp một kết quả đủ tốt cho ứng dụng của bạn. Tuy nhiên, mù quáng sử dụng phép chiếu này để tính diện tích Nam Cực (bao quanh cực) sẽ cho kết quả vô nghĩa. Vì vậy, để sử dụng chung, tôi khuyên bạn nên tính toán vùng trắc địa để bạn không phải lo lắng về các giới hạn của từng phép chiếu diện tích bằng nhau cụ thể.
cffk

Cảm ơn vi đa trả lơi. Thật không may, chúng ta cần diện tích vuông tính bằng mét.
Capacytron

Công cụ Planimet cung cấp cho bạn diện tích tính bằng mét vuông.
cffk

Chức năng tương tự có sẵn như một gói Java, Geographiclib-Java . Tài liệu này bao gồm mã để tính diện tích của một đa giác được chỉ định là một tập hợp các điểm vĩ độ / kinh độ với kết quả được tính bằng mét vuông.
cffk
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.