基本上,我想知道0.25°lat x 0.25°lon補丁適合位於世界各地的各種多邊形的次數。後者的尺寸大約爲3°lat x 10°lon或2°lat x 4°lon。使用Python計算緯度/經度多邊形的面積
我有多邊形的角落的經/緯度值,我計算其面積是這樣的:
from pyproj import Proj
from shapely.geometry import shape
def getArea(coords):
c = {"type": "Polygon",
"coordinates": [[ (coords[0], coords[2]), (coords[1], coords[2]),
(coords[0], coords[3]), (coords[1], coords[3]) ]]}
lon, lat = zip(*c['coordinates'][0])
pro = Proj("+proj=aea")
x, y = pro(lon, lat)
poly = {"type": "Polygon", "coordinates": [zip(x, y)]}
return shape(cop).area
我從這裏的做法:How to calculate the area of a polygon on the earth's surface using python?
現在的問題是,我應該選擇相同的面積投影,以便具有可比較的多邊形面積大小。無論在這樣的投影中它在地球上的位置如何,小補丁的區域總是相同的。
以阿爾伯斯等面積投影(AEA)導致的三個多邊形這些方面:
- 240993868.90978813
- 699931593.1047173
- 212092562.5238676
以蘭伯特方位角等面積投影( laea)導致這些區域的相同多邊形:
- 148709452.69292444
- 409253749.5468254
- 106218747.36092758
爲什麼在兩個投影區域之間的關係有什麼不同?首先1:3 = 0.344;第二個1:3 = 0.363;他們應該是相同的,因爲兩者都是等面積投影?!
這讓我想知道在任一投影中比較小塊與多邊形區域是否合理。你有什麼建議嗎?
2°lat x 3°lon是相當大的,任何錯誤都會成比例的大。而且有不同預測的原因是沒有投影是完美的,它根本不可能。 –
我更新了修補程序/多邊形的大小以用於記錄。嗯,所以你說這個方法的錯誤越來越大了?我還能嘗試什麼? – HyperCube
完美的唯一方法就是計算球體切割面的表面積而不是投影。否則,您必須根據對您而言重要的屬性決定投影。 –