Ինչպես որոշել բազմանկյան մակերեսը OpenLayers- ում 3

Բովանդակություն:

Ինչպես որոշել բազմանկյան մակերեսը OpenLayers- ում 3
Ինչպես որոշել բազմանկյան մակերեսը OpenLayers- ում 3

Video: Ինչպես որոշել բազմանկյան մակերեսը OpenLayers- ում 3

Video: Ինչպես որոշել բազմանկյան մակերեսը OpenLayers- ում 3
Video: Новый установщик в Ubuntu на Flutter от Google 2024, Մայիս
Anonim

Պոլիգոնները հիանալի միջոց են քարտեզի վրա հողի մոտավոր տարածքը ներկայացնելու համար, և հաճախ օգտակար է իմանալ ձեր սահմանած բազմանկյան մակերեսը: Դա հնարավոր է OpenLayers 3 -ում; հզոր JavaScript քարտեզագրման գործիք:

Այս հոդվածը կառաջնորդի ձեզ ավելացնել բազմանկյուն, այնուհետև մակերեսը հաշվարկել գնդի միջոցով:

Խնդրում ենք նկատի ունենալ, որ այս հոդվածին հետևելու համար ձեզ հարկավոր է տեղադրել OpenLayers քարտեզ վեբ էջում: Եթե չունեք, ինչպես պատրաստել քարտեզ ՝ օգտագործելով OpenLayers 3:

Քայլեր

7151572 1
7151572 1

Քայլ 1. Ստեղծեք բազմանկյունի հատկություն:

Պոլիգոն կոնստրուկտորի գործառույթին անհրաժեշտ է կոորդինատային զանգվածների զանգված; նախ սահմանեք այս զանգվածը փոփոխականի մեջ, որպեսզի հետագայում կարողանաք օգտագործել այն: Պարզապես պատճենեք հետևյալ տողի ծածկագիրը ձեր մեջ

տարր:

var կոորդինատները =

7151572 2
7151572 2

Քայլ 2. Ավելացրեք հնարավորությունը վեկտորային շերտին:

Քարտեզին բազմանկյունը ավելացնելու համար հարկավոր է այն ավելացնել աղբյուրին, որը ավելացնել վեկտորային շերտին, որը կարող եք ավելացնել քարտեզի վրա.

var vector_layer = new 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 (ընթացիկ_նախագիծ, նոր_նախագիծ);

7151572 4
7151572 4

Քայլ 4. Հաշվարկը կատարելու համար ստեղծեք ոլորտ:

Գնդակը պետք է լինի Երկրի չափ (պետք է ունենա 6.3 մետր շառավիղ): Տեխնիկապես, գնդի շառավիղը հավասար է WGS84 էլիպսոիդի կիսախոշոր առանցքին:

var ոլորտ = new ol. Sphere (6378137);

7151572 5
7151572 5

Քայլ 5. Օգտագործեք ոլորտը ՝ գեոդեզիական (Տարածք) մեթոդի միջոցով տարածքը հաշվարկելու համար:

Քանի որ մեթոդը տալիս է քառակուսի մետր արժեք, բաժանեք միլիոնով ՝ քառակուսի կիլոմետր ստանալու համար:

var տարածք_մ = ոլորտ. geodesicArea (կոորդինատները); var տարածք_կմ = տարածք_մ / 1000/1000; console.log ('տարածք:', area_km, 'km²'); // CONSOLE: տարածք ՝ 2317133.7166773956 կմ²

7151572 6
7151572 6

Քայլ 6. Ստուգեք, որ տարածքի պատասխանը իմաստ ունի:

Մենք գիտենք, որ դա ճիշտ է, քանի որ այն մոտավորապես նույն չափն ունի, ինչ Ալժիրը, որն ունի 2, 381, 741 կմ 2 տարածք (Վիքիպեդիայից):

Խորհուրդ ենք տալիս: