نحوه تعیین مساحت چند ضلعی در OpenLayers 3

فهرست مطالب:

نحوه تعیین مساحت چند ضلعی در OpenLayers 3
نحوه تعیین مساحت چند ضلعی در OpenLayers 3

تصویری: نحوه تعیین مساحت چند ضلعی در OpenLayers 3

تصویری: نحوه تعیین مساحت چند ضلعی در OpenLayers 3
تصویری: الپیک ۱ - ۰۰۲ - درست کردن لب - نصب فدورا 2024, ممکن است
Anonim

چند ضلعی ها راهی عالی برای نشان دادن مساحت تقریبی زمین بر روی نقشه هستند و اغلب دانستن مساحت چند ضلعی که تعریف کرده اید مفید است. این در OpenLayers 3 امکان پذیر است. یک ابزار نقشه برداری جاوا اسکریپت قوی

این مقاله شما را در افزودن چند ضلعی ، سپس محاسبه مساحت با استفاده از یک کره راهنمایی می کند.

لطفاً توجه داشته باشید که برای دنبال کردن این مقاله ، باید یک نقشه OpenLayers فعال در یک صفحه وب نصب کنید. اگر چنین ندارید ، چگونه با استفاده از OpenLayers نقشه بسازید 3.

مراحل

7151572 1
7151572 1

مرحله 1. یک ویژگی چند ضلعی ایجاد کنید

تابع سازنده Polygon به آرایه ای از آرایه های مختصات نیاز دارد. ابتدا این آرایه را در یک متغیر تعریف کنید تا بعداً بتوانید از آن استفاده کنید. کافی است خط کد زیر را در کد خود کپی کنید

عنصر:

مختصات var =

7151572 2
7151572 2

مرحله 2. ویژگی را به یک لایه بردار اضافه کنید

برای افزودن چند ضلعی به نقشه ، باید آن را به یک منبع اضافه کنید ، که آن را به یک لایه بردار اضافه می کنید ، و سپس می توانید آن را به نقشه اضافه کنید:

var vector_layer = ol.layer. Vector جدید ({منبع: ol.source. Vector جدید ({ویژگی ها: [polygon_feature]})}}) map.addLayer (لایه_بردار) ؛

7151572 3
7151572 3

مرحله 3. برای استفاده از مختصات ، هندسه ویژگی را تغییر دهید

var current_projection = new ol.proj. Projection ({کد: "EPSG: 4326"})؛ var new_projection = tile_layer.getSource (). getProjection ()؛ polygon_feature.getGeometry (). transform (فعلی_پروژه ، new_projection) ؛

7151572 4
7151572 4

مرحله 4. یک کره برای انجام محاسبه ایجاد کنید

کره باید به اندازه زمین باشد (باید شعاع آن 6.3 متر باشد). از نظر فنی ، شعاع کره برابر است با محور نیمه اصلی بیضی WGS84.

var სფერო = new ol. Sphere (6378137) ؛

7151572 5
7151572 5

مرحله 5. از کره برای محاسبه مساحت با استفاده از روش geodesicArea () استفاده کنید

از آنجا که این روش مقدار متر مربع را ارائه می دهد ، برای بدست آوردن کیلومتر مربع بر میلیون تقسیم کنید.

var area_m = sp.geodesicArea (مختصات) ؛ var area_km = area_m / 1000 /1000؛ console.log ('area:'، area_km، 'km²')؛ // CONSOLE: مساحت: 2317133.7166773956 کیلومتر مربع

7151572 6
7151572 6

مرحله 6. بررسی کنید که آیا پاسخ منطقه منطقی است

ما می دانیم که این درست است زیرا به نظر می رسد اندازه آن تقریباً شبیه الجزایر است که مساحت آن 2 ، 381 ، 741 کیلومتر مربع است (از ویکی پدیا).

توصیه شده: