Ako určiť plochu mnohouholníka v otvorených vrstvách 3?

Tento článok vás prevedie pridaním mnohouholníka
Tento článok vás prevedie pridaním mnohouholníka a potom vypočítaním plochy pomocou gule.

Polygóny sú skvelým spôsobom, ako znázorniť približnú plochu zeme na mape, a často je užitočné poznať oblasť mnohouholníka, ktorý ste definovali. To je možné v OpenLayers 3; výkonný JavaScript mapovať nástroj.

Tento článok vás prevedie pridaním mnohouholníka a potom vypočítaním plochy pomocou gule.

Podľa tohto článku musíte mať na webovej stránke nainštalovanú funkčnú mapu OpenLayers
Podľa tohto článku musíte mať na webovej stránke nainštalovanú funkčnú mapu OpenLayers.

Prosím na vedomie, že musíte mať pracovné OpenLayers máp nainštalovaný na webovej stránke sledovať tento článok. Ak ho nemáte, Ako vytvoriť mapu pomocou OpenLayers 3.

Kroky

  1. 1
    Vytvorte funkciu mnohouholníka. Funkcia polygónového konštruktora potrebuje rad súradnicových polí; najskôr definujte toto pole v premennej, aby ste ho mohli použiť neskôr. Jednoducho skopírujte nasledujúci riadok kódu do svojho <script></script> element:.
    var súradnice = [[10, 20], [20, 30], [30, 20], [20, 10]]; var polygon_feature = new ol.Feature ({geometry: new ol.geom.Polygon ([coordinates])}); 
  2. 2
    Pridajte funkciu do vektorovej vrstvy. Ak chcete pridať polygón na mapu, musíte ho pridať do zdroja, ktorý pridáte do vektorovej vrstvy, ktorú potom môžete pridať na mapu:
    var vector_layer = new ol.layer.Vector ({source: new ol.source.Vector ({features: [polygon_feature]}))} map.addLayer (vector_layer); 
  3. 3
    Transformujte geometriu objektu tak, aby používal súradnice.
    var current_projection = new ol.proj.Projection ({code: "EPSG: 4326"}); var new_projection = tile_layer.getSource (). getProjection (); polygon_feature.getGeometry (). transform (current_projection, new_projection); 
  4. 4
    Na výpočet vytvorte guľu. Guľa by mala mať veľkosť Zeme (mala by mať polomer 6,3 m). Technicky má guľa polomer rovný polovici hlavnej osi elipsoidu WGS84.
    var sféra = nová ol.Sphere (6378137); 
  5. 5
    Pomocou gule vypočítajte plochu pomocou metódy geodesicarea (). Pretože metóda poskytuje hodnotu v metroch štvorcových, vydelte ju miliónom a získajte kilometre štvorcové.
    var area_m = sphere.geodesicArea (súradnice); var area_km = area_m / 1000 /1000; console.log ('area:', area_km, 'km²'); // KONZOLA: rozloha: 2317133,7166773956 km² 
  6. 6
    Skontrolujte, či odpoveď v danej oblasti dáva zmysel. Vieme, že je to správne, pretože sa zdá, že má približne rovnakú veľkosť ako Alžírsko, ktoré má rozlohu 2381 741 km² (z Wikipédie).

Tipy

  • Nebojte sa používať dokumentáciu API OpenLayers 3: Aj keď je to spočiatku zdrvujúce, je nevyhnutné naučiť sa, ako s OpenLayers robiť nové veci.

Súvisiace články
  1. Ako spravovať fotografie na Macu?
  2. Ako používať Amazon Route 53?
  3. Ako nastaviť mediálny server pomocou Plexu?
  4. Ako získavať aktualizácie webových stránok CDC?
  5. Ako odinštalovať Nero 11?
  6. Ako kopírovať hudbu z disku CD na USB?
FacebookTwitterInstagramPinterestLinkedInGoogle+YoutubeRedditDribbbleBehanceGithubCodePenWhatsappEmail