Çokgenler, bir harita üzerinde yaklaşık arazi alanını temsil etmenin harika bir yoludur ve tanımladığınız çokgenin alanını bilmek genellikle yardımcı olur. Bu, OpenLayers 3'te mümkündür; güçlü bir JavaScript eşleme aracı.
Bu makale, bir çokgen eklemede ve ardından bir küre kullanılarak alanın hesaplanmasında size rehberlik edecektir.
Bu makaleyi takip etmek için bir web sayfasında çalışan bir OpenLayers haritasının kurulu olması gerektiğini lütfen unutmayın. Eğer yoksa, OpenLayers 3 Kullanarak Harita Nasıl Yapılır?
adımlar
Adım 1. Bir çokgen unsuru oluşturun
Çokgen oluşturucu işlevi, bir dizi koordinat dizisine ihtiyaç duyar; Bu diziyi daha sonra kullanabilmek için önce bir değişkende tanımlayın. Aşağıdaki kod satırını bilgisayarınıza kopyalamanız yeterlidir.
eleman:
var koordinatlar =
Adım 2. Özelliği bir vektör katmanına ekleyin
Çokgeni haritaya eklemek için, onu bir vektör katmanına ekleyeceğiniz bir kaynağa eklemeniz gerekir ve daha sonra haritaya ekleyebilirsiniz:
var vector_layer = new ol.layer. Vector({ kaynak: yeni ol.source. Vector({ özellikler: [polygon_feature] }) }) map.addLayer(vector_layer);
Adım 3. Koordinatları kullanmak için unsurun geometrisini dönüştürün
var current_projection = new ol.proj. Projection({kod: "EPSG:4326"}); var new_projection = tile_layer.getSource().getProjection(); polygon_feature.getGeometry().transform(current_projection, yeni_projection);
Adım 4. Hesaplamayı gerçekleştirmek için bir küre oluşturun
Küre, Dünya boyutunda olmalıdır (6,3m metre yarıçapa sahip olmalıdır). Teknik olarak, kürenin yarıçapı WGS84 elipsoidinin yarı ana eksenine eşittir.
var küre = new ol. Sphere(6378137);
Adım 5. GeodesicArea() yöntemini kullanarak alanı hesaplamak için küreyi kullanın
Metot metrekare cinsinden bir değer sağladığından, kilometre kare elde etmek için milyona bölün.
var area_m = küre.geodesicArea(koordinatlar); var alan_km = alan_m / 1000 / 1000; konsol.log('alan: ', alan_km, 'km²'); // KONSOL: alan: 2317133.7166773956 km²
Adım 6. Alan cevabının anlamlı olup olmadığını kontrol edin
2,381,741 km² (Wikipedia'dan) alana sahip Cezayir ile yaklaşık olarak aynı büyüklükte göründüğü için doğru olduğunu biliyoruz.