Yuav Ua Li Cas Txheeb Xyuas Cheeb Tsam ntawm Polygon hauv OpenLayers 3

Cov txheej txheem:

Yuav Ua Li Cas Txheeb Xyuas Cheeb Tsam ntawm Polygon hauv OpenLayers 3
Yuav Ua Li Cas Txheeb Xyuas Cheeb Tsam ntawm Polygon hauv OpenLayers 3

Video: Yuav Ua Li Cas Txheeb Xyuas Cheeb Tsam ntawm Polygon hauv OpenLayers 3

Video: Yuav Ua Li Cas Txheeb Xyuas Cheeb Tsam ntawm Polygon hauv OpenLayers 3
Video: Asus ROG Strix G15 Linux Install 2024, Tej zaum
Anonim

Polygons yog txoj hauv kev zoo los sawv cev kwv yees thaj tsam ntawm thaj av ntawm daim duab qhia chaw, thiab nws yog qhov muaj txiaj ntsig zoo kom paub thaj tsam ntawm cov duab uas koj tau txhais. Qhov no ua tau hauv OpenLayers 3; lub cuab yeej muaj zog JavaScript daim phiaj.

Kab lus no yuav qhia koj ntxiv cov duab ntau, tom qab tau txais thaj tsam suav nrog siv tus kheej.

Thov nco ntsoov tias koj yuav tsum muaj OpenLayers daim ntawv qhia ua haujlwm tau teeb tsa hauv lub vev xaib kom ua raws kab lus no. Yog tias koj tsis muaj, Yuav Ua Li Cas Daim Ntawv Qhia Siv OpenLayers 3.

Cov kauj ruam

7151572 1
7151572 1

Kauj Ruam 1. Tsim kom muaj ntau lub ntsej muag

Polygon constructor muaj nuj nqi xav tau cov kab ke ua ke; txhais cov kab no hauv qhov sib txawv ua ntej kom koj tuaj yeem siv nws tom qab. Tsuas yog luam kab kab hauv qab no rau hauv koj li

ntsiab lus:

var coordinates =

7151572 2
7151572 2

Kauj Ruam 2. Ntxiv qhov tshwj xeeb rau txheej vector

Txhawm rau ntxiv cov duab ntau rau hauv daim duab qhia chaw, koj yuav tsum ntxiv nws mus rau qhov chaw, uas koj ntxiv rau txheej txheej vector, uas koj tuaj yeem ntxiv rau daim duab qhia chaw:

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

7151572 3
7151572 3

Kauj Ruam 3. Hloov pauv qhov tshwj xeeb cov duab geometry los siv kev tswj hwm

var current_projection = tshiab ol.proj. Projection ({code: "EPSG: 4326"}); var new_projection = tile_layer.getSource (). getProjection (); polygon_feature.getGeometry (). hloov (tam sim no_projection, tshiab_projection);

7151572 4
7151572 4

Kauj Ruam 4. Tsim tus kheej los ua qhov kev suav

Tus kheej yuav tsum yog lub ntiaj teb me me (yuav tsum muaj lub vojvoog ntawm 6.3m meters). Cov txheej txheem, tus kheej muaj lub vojvoog sib npaug rau ib nrab txoj kab loj ntawm WGS84 ellipsoid.

var sphere = tshiab ol. Sphere (6378137);

7151572 5
7151572 5

Kauj Ruam 5. Siv tus kheej los xam thaj tsam uas siv tus qauv geodesicArea ()

Vim tias txoj hauv kev muab tus nqi hauv square metres, faib los ntawm ib lab kom tau txais square kilometers.

var cheeb tsam _m = sphere.geodesicArea (tswj); var cheeb tsam _km = cheeb tsam _m / 1000 /1000; console.log ('cheeb tsam:', cheeb tsam _km, 'km²'); // CONSOLE: cheeb tsam: 2317133.7166773956 km²

7151572 6
7151572 6

Kauj Ruam 6. Txheeb xyuas tias thaj chaw teb muaj txiaj ntsig

Peb paub tias nws raug vim tias nws zoo li kwv yees li tib yam li Algeria, uas muaj thaj tsam ntawm 2, 381, 741 km² (los ntawm Wikipedia).

Pom zoo: