OpenLayers 3'te Bir Çokgenin Alanı Nasıl Belirlenir

İçindekiler:

OpenLayers 3'te Bir Çokgenin Alanı Nasıl Belirlenir
OpenLayers 3'te Bir Çokgenin Alanı Nasıl Belirlenir

Video: OpenLayers 3'te Bir Çokgenin Alanı Nasıl Belirlenir

Video: OpenLayers 3'te Bir Çokgenin Alanı Nasıl Belirlenir
Video: Fedora 37 Kurulumu ve Güncelleme 2024, Mayıs
Anonim

Ç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

7151572 1
7151572 1

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 =

7151572 2
7151572 2

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);

7151572 3
7151572 3

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);

7151572 4
7151572 4

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);

7151572 5
7151572 5

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²

7151572 6
7151572 6

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.

Önerilen: