Պոլիգոնները հիանալի միջոց են քարտեզի վրա հողի մոտավոր տարածքը ներկայացնելու համար, և հաճախ օգտակար է իմանալ ձեր սահմանած բազմանկյան մակերեսը: Դա հնարավոր է OpenLayers 3 -ում; հզոր JavaScript քարտեզագրման գործիք:
Այս հոդվածը կառաջնորդի ձեզ ավելացնել բազմանկյուն, այնուհետև մակերեսը հաշվարկել գնդի միջոցով:
Խնդրում ենք նկատի ունենալ, որ այս հոդվածին հետևելու համար ձեզ հարկավոր է տեղադրել OpenLayers քարտեզ վեբ էջում: Եթե չունեք, ինչպես պատրաստել քարտեզ ՝ օգտագործելով OpenLayers 3:
Քայլեր
Քայլ 1. Ստեղծեք բազմանկյունի հատկություն:
Պոլիգոն կոնստրուկտորի գործառույթին անհրաժեշտ է կոորդինատային զանգվածների զանգված; նախ սահմանեք այս զանգվածը փոփոխականի մեջ, որպեսզի հետագայում կարողանաք օգտագործել այն: Պարզապես պատճենեք հետևյալ տողի ծածկագիրը ձեր մեջ
տարր:
var կոորդինատները =
Քայլ 2. Ավելացրեք հնարավորությունը վեկտորային շերտին:
Քարտեզին բազմանկյունը ավելացնելու համար հարկավոր է այն ավելացնել աղբյուրին, որը ավելացնել վեկտորային շերտին, որը կարող եք ավելացնել քարտեզի վրա.
var vector_layer = new ol.layer. Vector ({աղբյուրը ՝ նոր ol.source. Vector ({առանձնահատկությունները ՝ [polygon_feature]}))}) map.addLayer (վեկտորի_շերտ);
Քայլ 3. Փոխեք հատկության երկրաչափությունը `կոորդինատներ օգտագործելու համար:
var current_projection = new ol.proj. Projection ({կոդը ՝ "EPSG: 4326"}); var new_projection = tile_layer.getSource (). getProjection (); polygon_feature.getGeometry (). transform (ընթացիկ_նախագիծ, նոր_նախագիծ);
Քայլ 4. Հաշվարկը կատարելու համար ստեղծեք ոլորտ:
Գնդակը պետք է լինի Երկրի չափ (պետք է ունենա 6.3 մետր շառավիղ): Տեխնիկապես, գնդի շառավիղը հավասար է WGS84 էլիպսոիդի կիսախոշոր առանցքին:
var ոլորտ = new ol. Sphere (6378137);
Քայլ 5. Օգտագործեք ոլորտը ՝ գեոդեզիական (Տարածք) մեթոդի միջոցով տարածքը հաշվարկելու համար:
Քանի որ մեթոդը տալիս է քառակուսի մետր արժեք, բաժանեք միլիոնով ՝ քառակուսի կիլոմետր ստանալու համար:
var տարածք_մ = ոլորտ. geodesicArea (կոորդինատները); var տարածք_կմ = տարածք_մ / 1000/1000; console.log ('տարածք:', area_km, 'km²'); // CONSOLE: տարածք ՝ 2317133.7166773956 կմ²
Քայլ 6. Ստուգեք, որ տարածքի պատասխանը իմաստ ունի:
Մենք գիտենք, որ դա ճիշտ է, քանի որ այն մոտավորապես նույն չափն ունի, ինչ Ալժիրը, որն ունի 2, 381, 741 կմ 2 տարածք (Վիքիպեդիայից):