Көпбұрыштар - бұл жердің шамамен аумағын картадан көрсетудің тамаша тәсілі, және көбінесе сіз анықтаған көпбұрыштың ауданын білу пайдалы. Бұл OpenLayers 3 -те мүмкін; JavaScript салыстырудың қуатты құралы.
Бұл мақала сізге көпбұрыш қосуға, сфераның көмегімен есептелген ауданды алуға көмектеседі.
Осы мақаланы орындау үшін веб -бетте OpenLayers жұмыс картасы орнатылуы қажет екенін ескеріңіз. Егер сізде жоқ болса, OpenLayers көмегімен картаны қалай жасауға болады 3.
Қадамдар
Қадам 1. Көпбұрышты мүмкіндікті жасаңыз
Polygon конструктор функциясына координаталық массивтер жиыны қажет; алдымен бұл жиымды айнымалы мәнде анықтаңыз, сонда сіз оны кейін пайдалана аласыз. Келесі код жолын өзіңізге көшіріңіз
элемент:
var координаттары =
Қадам 2. Мүмкіндікті векторлық қабатқа қосыңыз
Көпбұрышты картаға қосу үшін оны көзге қосу керек, оны векторлық қабатқа қосуға болады, оны кейін картаға қосуға болады:
var vector_layer = new ol.layer. Vector ({көзі: new ol.source. Vector ({ерекшеліктері: [polygon_feature]})})) map.addLayer (vector_layer);
Қадам 3. Координаттарды қолдану үшін мүмкіндіктің геометриясын өзгертіңіз
var current_projection = new ol.proj. Projection ({код: «EPSG: 4326»}); var new_projection = tile_layer.getSource (). getProjection (); polygon_feature.getGeometry (). түрлендіру (ағымдағы_жоба, жаңа_жоба);
Қадам 4. Есептеуді орындау үшін сфера жасаңыз
Сфера Жер көлеміндей болуы керек (радиусы 6,3 метр болуы керек). Техникалық тұрғыдан алғанда, шардың радиусы WGS84 эллипсоидының жартылай үлкен осіне тең.
var шар = new ol. Sphere (6378137);
Қадам 5. GeodesicArea () әдісін қолдана отырып, ауданды есептеу үшін сфераны қолданыңыз
Бұл әдіс шаршы метрдегі мәнді қамтамасыз ететіндіктен, шаршы километрді алу үшін миллионға бөліңіз.
var area_m = shar.geodesicArea (координаттары); var area_km = area_m / 1000/1000; console.log ('аймақ:', аймақ_км, 'км²'); // КОНСОЛ: ауданы: 2317133.7166773956 км²
Қадам 6. Аймақтық жауаптың мағыналы екенін тексеріңіз
Біз бұл дұрыс екенін білеміз, себебі оның көлемі шамамен 2, 381, 741 км² болатын Алжирмен бірдей мөлшерде болып көрінеді (Уикипедиядан).