รูปหลายเหลี่ยมเป็นวิธีที่ยอดเยี่ยมในการแสดงพื้นที่โดยประมาณของที่ดินบนแผนที่ และมักจะเป็นประโยชน์ที่จะทราบพื้นที่ของรูปหลายเหลี่ยมที่คุณกำหนดไว้ เป็นไปได้ใน OpenLayers 3; เครื่องมือสร้างแผนที่ JavaScript อันทรงพลัง
บทความนี้จะแนะนำคุณในการเพิ่มรูปหลายเหลี่ยม จากนั้นจึงคำนวณพื้นที่โดยใช้ทรงกลม
โปรดทราบว่าคุณต้องติดตั้งแผนที่ OpenLayers ที่ใช้งานได้ในหน้าเว็บเพื่อติดตามบทความนี้ หากคุณไม่มี วิธีทำแผนที่โดยใช้ OpenLayers 3
ขั้นตอน
ขั้นตอนที่ 1 สร้างคุณลักษณะรูปหลายเหลี่ยม
ฟังก์ชันคอนสตรัคเตอร์รูปหลายเหลี่ยมต้องการอาร์เรย์ของอาร์เรย์พิกัด กำหนดอาร์เรย์นี้ในตัวแปรก่อนเพื่อให้คุณสามารถใช้งานได้ในภายหลัง เพียงคัดลอกโค้ดบรรทัดต่อไปนี้ลงใน your
ธาตุ:
พิกัด var =
ขั้นตอนที่ 2 เพิ่มคุณสมบัติให้กับเลเยอร์เวกเตอร์
ในการเพิ่มรูปหลายเหลี่ยมลงในแผนที่ คุณต้องเพิ่มรูปหลายเหลี่ยมลงในซอร์ส ซึ่งคุณเพิ่มลงในเลเยอร์เวกเตอร์ ซึ่งคุณสามารถเพิ่มลงในแผนที่ได้:
var vector_layer = ol.layer. Vector ใหม่ ({ แหล่งที่มา: ol.source. Vector ใหม่ ({ คุณสมบัติ: [polygon_feature] }) }) map.addLayer (vector_layer);
ขั้นตอนที่ 3 แปลงรูปทรงของจุดสนใจเพื่อใช้พิกัด
var current_projection = ol.proj. Projection ใหม่ ({รหัส: "EPSG:4326"}); var new_projection = tile_layer.getSource().getProjection(); รูปหลายเหลี่ยม_feature.getGeometry().transform(current_projection, new_projection);
ขั้นตอนที่ 4 สร้างทรงกลมเพื่อทำการคำนวณ
ทรงกลมควรมีขนาดเท่ากับโลก (ควรมีรัศมี 6.3 เมตร) ในทางเทคนิค ทรงกลมมีรัศมีเท่ากับกึ่งแกนเอกของทรงรี WGS84
var sphere = ol. Sphere ใหม่ (6378137);
ขั้นตอนที่ 5. ใช้ทรงกลมเพื่อคำนวณพื้นที่โดยใช้วิธี geodesicArea()
เนื่องจากวิธีนี้ให้ค่าเป็นตารางเมตร หารด้วยล้านจะได้ตารางกิโลเมตร
var area_m = sphere.geodesicArea (พิกัด); var area_km = area_m / 1000 / 1000; console.log('พื้นที่: ', area_km, 'km²'); // CONSOLE: พื้นที่: 2317133.7166773956 km²
ขั้นตอนที่ 6 ตรวจสอบว่าคำตอบในพื้นที่เหมาะสม
เรารู้ว่าถูกต้องเพราะดูเหมือนว่าจะมีขนาดใกล้เคียงกับแอลจีเรีย ซึ่งมีพื้นที่ 2, 381, 741 ตารางกิโลเมตร (จากวิกิพีเดีย)