Yanlış projeksiyon kullanırken neden doğru alanı alıyorum ve alanı kesiştiriyorum?


11

Çokgenler (göl, şehir, ülke vb. Gibi bazı gerçek coğrafi nesneler) için alanları ve kavşak alanlarını hesaplamam gerekiyor. California, Yeni Zelanda, Rusya'da bulunan çokgenler.Anadyr, İsveç

Tüm çokgenler WGS84'tedir.

GeoTool java API kullanarak ne yaptım:

  1. EPSG: 3488 , EPSG: NAD83 (NSRS2007) / California Albers ve hesaplanan alanlar ile çakışan alanları kullanarak tüm çokgenleri yansıtın.
  2. Aynısını World_Mollweide ve World_Eckert_IV kullanarak yaptı
  3. Kaliforniya, Yeni Zelanda, vb. Çokgenler için " yerel özel projeksiyonlar " seçildi

Çokgen alanı kapsayan projeksiyon seçtiğim için # 3'ün en doğru sonuç olduğunu varsayıyorum.

Sonuç:

# 2, # 3 ile karşılaştırıldığında en kötü sonucu gösterdi

'# 1 ve # 3 alanları ve kavşak alanları farkı% 0,1'den az

Neden? İsveç'ten çokgenler için kesinlikle yanlış projeksiyon EPSG: 3488 (California) seçiyorum ve aynı alanları ve kavşak alanlarını alıyorum?

UPD: Görünüşe göre karışıklığımı doğru bir şekilde açıklamamıştım. İşte açıklama ile örnek çıktı

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

Karışıklık: California'da kullanılmak üzere tasarlanmış EPSG: 3488

Alaska, Yeni Zelanda alanları için "yanlış" projeksiyon EPSG: 3488 seçiyorum ve elde edilen hesaplamaların doğru projeksiyonlardan "önemli ölçüde" farklı olmadığını görüyorum. EPSG: 3488 , dünya çapında kullanılmak üzere tasarlanmış Eckert_IV projeksiyonları Mollweide'dan bile daha iyi performans gösteriyor.


Ayrıca, bu iki projeksiyon arasında gözlemlenebilir bir farkın olmadığını fark ettim, ancak fark hala var. ArcGIS'te, verileriniz WGS84 ve NAD83 arasında bulunan kadar küçük bir farkla bile aynı projeksiyonda olmadıkça bir "özellik veri kümesi" oluşturamazsınız. Aşağıdaki web sayfası benim için çok bilgilendiriciydi ve umarım yararlı da olabilirsiniz. farkbetween.net/technology/… Ben bir yorum olarak koymak olurdu ama ben 50 temsilcisi yok :(
Justin Q

sonuçları ne ile karşılaştırıyorsunuz?
Ian Turton

@iant lütfen güncellenmiş soruya bakın. Karşılaştırma çıktısı ekledim.
Capacytron

AUTO projeksiyonlarını deneyebilirsiniz (UTM, kullanıcı tarafından sağlanan bir noktada ortalanır) - CRS'yi String kodu = "AUTO: 42001," + x + "," + y; // System.out.println (kod); CoordinateReferenceSystem auto = CRS.decode (kod);
Ian Turton

Yanıtlar:


9

"EPSG: 3488, EPSG: NAD83 (NSRS2007) / California Albers" eşit alanlı bir projeksiyon. Kuzey yarımküre için tanımlanan Albers Konisine dayanmaktadır. İsveç kendi tanım aralığı içinde olduğu için İsveç'te eşit alanlıdır. Bu, (kayan nokta yuvarlama hatasına kadar) kesinlikle doğru alanlar vereceği anlamına gelir .

Ne Mollweide ne de Eckert tam olarak eşit alandır, ancak (M. Kennedy'nin bir yorumda dikkat çektiği gibi) yaklaşık olarak öyledir. Onların ortaya koyduğu çarpıtmalar, küre ile elipsoid arasındaki farklarla karşılaştırılabilir ve bunlar 300'de (% 0.3) yaklaşık bir kısım ile sınırlıdır.


1
Bill, Eckert IV ve Mollweide eşit alanlı projeksiyonlardır, ancak sadece küresel algoritmalar vardır.
mkennedy

1
@mkennedy Hata! Kontrol etmeliydim. Düzeltme için teşekkürler Melita. Bu yorumu düzeltirim.
whuber

1
mkennedy yani ESRI: 53009 ve ESRI: 54009 aslında aynı mı? Snyder'ın ellispoid üzerine formül vermediğini görüyorum, bu yüzden WGS84'e dayanan ESRI'dan bu World_xxx projeksiyonlarının anlamı nedir?
AndreJ

1
Esri: 53009 (ve diğer 53xxx girişleri) R = 6371000.0 m olan küre tabanlı bir GeoCRS kullanır. Esri: 54xxx serisi bir WGS84 geoCRS kullanır, bu nedenle kullanılan gerçek yarıçap, yarı eksen olan 6378137.0'dır. Her ikisi de tıpkı test / numune tanımları olarak eklendi.
mkennedy

2
Güney Kutbu İsveç'ten on binlerce kilometre uzaklıktadır: Antarktika'da. Kuzey kutbu İsveç'ten sadece birkaç bin kilometre uzaklıktadır. Ama önemli değil: eğer eşit bir alan projeksiyonu kullanırsanız ve alanını hesaplamak istediğiniz bir bölgeyi yansıtabiliyorsa, alanı doğru bir şekilde hesaplar (dayandığı datum için). Bazı eşit alanlı projeksiyonlar, tek bir nokta (projeksiyona bağlı) hariç tüm dünyayı yansıtabilir.
whuber

1

@ whuber'ın eşit alanlı bir projeksiyonun "kesinlikle doğru alanları vereceği" iddiası , çokgen kenarlarının bahsedilen projeksiyonda düz çizgiler olduğunu varsayarak bir yıldız işareti ile birlikte gelir . Bu, özellikle kenarlar kısaysa, genellikle iyi bir yaklaşımdır; ancak nadiren kesin olarak doğrudur.

Öte yandan, çokgeninizin kenarları jeodezikler veya rumb çizgiler ise, yuvarlama için doğru alanı belirlemek için başka teknikler kullanılabilir. Benim çevrimiçi planimetre bu uygular. Bir şans ver.


Selam! Tüm girdiler için teşekkürler. Yani istediğiniz özet olabilir mi? EPSG: 3488, Albers eşit alanlı projeksiyon kullanıyor, bu yüzden dünyanın dört bir yanındaki alanları, Güney kutbunda bile doğru bir şekilde hesaplıyor?
Capacytron

Muhtemelen Albers eşit alanı uygulamanız için yeterince iyi bir sonuç sağlayacaktır. Bununla birlikte, Antarktika'nın (direği çevreleyen) alanını hesaplamak için bu projeksiyonu körü körüne kullanmak saçma bir sonuç verecektir. Bu nedenle genel kullanım için, jeodezik alanı hesaplamanızı tavsiye ederim, böylece her bir eşit alan projeksiyonunun sınırlamaları hakkında endişelenmenize gerek kalmaz.
cffk

Yanıtınız için teşekkürler. Ne yazık ki metre kare alana ihtiyacımız var.
Capacytron

Planimetre aracı size alanı metrekare olarak verir.
cffk

Java işlevselliği Geographiclib-Java ile aynı işlevler kullanılabilir . Belgeler, enlem / boylam noktaları kümesi olarak belirtilen bir çokgenin alanını hesaplamak için kod içerir ve sonuç metrekare cinsinden verilir.
cffk
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.