كيفية تحديد مساحة المضلع في الطبقات المفتوحة 3

جدول المحتويات:

كيفية تحديد مساحة المضلع في الطبقات المفتوحة 3
كيفية تحديد مساحة المضلع في الطبقات المفتوحة 3

فيديو: كيفية تحديد مساحة المضلع في الطبقات المفتوحة 3

فيديو: كيفية تحديد مساحة المضلع في الطبقات المفتوحة 3
فيديو: Fedora 34 | تنصيب ومراجعة فيدورا وعرض لأهم المميزات 2024, يمكن
Anonim

تعد المضلعات طريقة رائعة لتمثيل المساحة التقريبية للأرض على الخريطة ، وغالبًا ما يكون من المفيد معرفة مساحة المضلع التي حددتها. هذا ممكن في OpenLayers 3 ؛ أداة قوية لرسم خرائط جافا سكريبت.

ستوجهك هذه المقالة في إضافة مضلع ، ثم الحصول على المساحة المحسوبة باستخدام الكرة.

يرجى ملاحظة أنك بحاجة إلى تثبيت خريطة OpenLayers عاملة في صفحة ويب لمتابعة هذه المقالة. إذا لم يكن لديك واحدة ، كيف تصنع خريطة باستخدام OpenLayers 3.

خطوات

7151572 1
7151572 1

الخطوة 1. إنشاء ميزة مضلع

تحتاج وظيفة مُنشئ المضلع إلى مصفوفة من مصفوفات الإحداثيات ؛ حدد هذه المصفوفة في متغير أولاً حتى تتمكن من استخدامها لاحقًا. ما عليك سوى نسخ السطر التالي من التعليمات البرمجية إلى ملف

عنصر:

إحداثيات var =

7151572 2
7151572 2

الخطوة 2. أضف الميزة إلى طبقة متجه

لإضافة المضلع إلى الخريطة ، تحتاج إلى إضافته إلى مصدر ، والذي تقوم بإضافته إلى طبقة متجه ، والتي يمكنك إضافتها بعد ذلك إلى الخريطة:

var vector_layer = new ol.layer. Vector ({source: new ol.source. Vector ({features: [polygon_feature]})}) map.addLayer (vector_layer)؛

7151572 3
7151572 3

الخطوة 3. تحويل هندسة الميزة لاستخدام الإحداثيات

var current_project = new ol.proj. Project ({code: "EPSG: 4326"}) ؛ var new_project = tile_layer.getSource (). getProject () ؛ polygon_feature.getGeometry (). تحويل (current_project، new_project) ؛

7151572 4
7151572 4

الخطوة 4. إنشاء مجال لإجراء الحساب

يجب أن تكون الكرة بحجم الأرض (يجب أن يكون نصف قطرها 6.3 متر). من الناحية الفنية ، فإن الكرة لها نصف قطر يساوي المحور شبه الرئيسي للشكل الإهليلجي WGS84.

var sphere = new ol. Sphere (6378137) ؛

7151572 5
7151572 5

الخطوة 5. استخدم الكرة لحساب المنطقة باستخدام طريقة GeodesicArea ()

لأن الطريقة توفر قيمة بالمتر المربع ، اقسم على مليون لتحصل على كيلومترات مربعة.

var area_m = sphere.geodesicArea (إحداثيات) ؛ var area_km = area_m / 1000/1000 ؛ console.log ('area:'، area_km، 'km²') ؛ // CONSOLE: المساحة: 2317133.7166773956 كيلومتر مربع

7151572 6
7151572 6

الخطوة السادسة: تحقق من أن إجابة المنطقة منطقية

نحن نعلم أنها صحيحة لأنها تبدو بنفس حجم الجزائر تقريبًا ، التي تبلغ مساحتها 2 ، 381 ، 741 كيلومترًا مربعًا (من ويكيبيديا).

موصى به: