เมื่อคุณระบุระดับความสูงสำหรับฟีเจอร์ในแผนที่ 3 มิติ เช่น เส้น รูปหลายเหลี่ยม โมเดล หรือเครื่องหมาย มีปัจจัยหลายอย่างที่อาจส่งผลต่อตำแหน่งของฟีเจอร์ ทั้งภายในฉากและวิธีที่การแสดงผลของฉากโต้ตอบกับฟีเจอร์นั้น เอกสารนี้ครอบคลุมการใช้ "AltitudeMode" ในแผนที่ 3 มิติและวิธีจัดการระดับความสูงสำหรับฟีเจอร์ต่างๆ
วิธีใช้ AltitudeMode กับฟีเจอร์ประเภทต่างๆ มีดังนี้
เครื่องหมาย: Marker3DElement, Marker3DInteractiveElement
ระบุระดับความสูงในสถานที่ตั้ง รวมถึงการอัดขึ้นรูป
โมเดล: Model3DElement, Model3DInteractiveElement
ระบุระดับความสูงในจุดยึดของโมเดล ซึ่งควรใช้ร่วมกับการวางแนวเพื่อการวางตำแหน่งที่เหมาะสมในฉาก
เส้นประกอบ: Polyline3DElement, Polyline3DInteractiveElement
ระบุวิธีใช้ระดับความสูงกับจุดตำแหน่งตามเส้นประกอบ
รูปหลายเหลี่ยม: Polygon3DElement, Polygon3DInteractiveElement
ระบุวิธีใช้ระดับความสูงกับจุดตำแหน่งตามรูปหลายเหลี่ยม
วิธีใช้ระดับความสูงในสภาพแวดล้อม 3 มิติ
เมื่อวางจุดภายในฉาก 3 มิติ ตำแหน่งสุดท้ายจะขึ้นอยู่กับสิ่งปลูกสร้าง 3 มิติหรือวัตถุที่บันทึกไว้ เช่น ต้นไม้ คุณต้องทำความเข้าใจแนวคิดหลัก 2 ประการต่อไปนี้
- แบบจำลองภูมิประเทศเชิงเลข (DTM): แสดงระดับความสูงของ "พื้นดินเปล่า" ให้คิดว่านี่คือรูปร่างตามธรรมชาติของพื้นดินที่ไม่มีอาคาร ต้นไม้ หรือโครงสร้างอื่นๆ อยู่ด้านบน พื้นที่ทั้งหมดได้รับการสนับสนุนโดย DTM ซึ่งเป็นพื้นฐานสำหรับระดับความสูงของโลก (คำนวณโดยใช้ EGM96)
- แบบจำลองพื้นผิวดิจิทัล (DSM): แสดงระดับความสูงของ "พื้นผิวด้านบน" ซึ่งรวมถึงอาคาร ต้นไม้ และโครงสร้างอื่นๆ ในพื้นที่ที่มีการจับภาพลักษณะต่างๆ (โดยเฉพาะสภาพแวดล้อมในเมืองที่มีอาคารเป็นส่วนใหญ่) พื้นผิวที่มองเห็นได้จะปรากฏสูงกว่าภูมิประเทศฐาน
ความแตกต่างระหว่าง DTM และ DSM มีความสำคัญต่อการทำความเข้าใจว่าโหมดระดับความสูงต่างๆ โต้ตอบกับโมเดลระดับความสูงแบบดิจิทัล (DEM) เหล่านี้อย่างไร เนื่องจากการวางตำแหน่งของฟีเจอร์อาจถูกบดบังหรือได้รับอิทธิพลจากโมเดลพื้นผิว คุณดูความแตกต่างได้ในแผนภาพด้านล่าง

เมื่อฟีเจอร์ไม่มีข้อมูลระดับความสูง
หากคุณมีข้อมูลที่ไม่มีการวัดระดับความสูง หรือเมื่อใช้ข้อมูลจากบริการอื่นของ Google เช่น บริการ Routes หรือ Places คุณมักจะไม่มีระดับความสูงที่ระบุไว้ในเรขาคณิตที่แสดงผล ในกรณีเช่นนี้ การวางฟีเจอร์ในฉากจะกำหนดให้คุณต้องเลือก AltitudeMode อย่างระมัดระวัง ดังนี้
- ยึดติดกับพื้น: วิธีที่ง่ายที่สุด โดยที่ฟีเจอร์จะปรับให้สอดคล้องกับภูมิประเทศโดยอัตโนมัติ โหมดนี้ใช้โมเดล DTM
- กำหนดระดับความสูงที่กำหนดเอง + โหมดสัมพัทธ์: คุณสามารถกำหนดระดับความสูงที่เลือก แล้วใช้ RELATIVE_TO_GROUND (ซึ่งจะวางฟีเจอร์ที่สัมพันธ์กับโมเดล DTM) หรือ RELATIVE_TO_MESH (ซึ่งจะวางฟีเจอร์ให้ลอยอยู่เหนือโมเดล DSM)
- ใช้บริการอื่นเพื่อรับระดับความสูง: หากต้องการระดับความสูง DTM ที่แม่นยำ ณ ตำแหน่งของฟีเจอร์ คุณสามารถใช้บริการอย่าง Elevation API ของ Google Maps Platform ได้ หากเป็นเส้นหรือรูปหลายเหลี่ยม คุณจะต้องทำเช่นนี้กับแต่ละจุดที่ประกอบกันเป็นเส้นหรือรูปหลายเหลี่ยม
ตัวเลือก AltitudeMode มีความหมายว่าอย่างไรและควรใช้เมื่อใด
คุณระบุตัวเลือก AltitudeMode ได้ 4 รายการเมื่อกำหนดฟีเจอร์ ดังนี้
ABSOLUTE
ลองนึกภาพเครื่องบินที่บินอยู่ที่ระดับความสูงเหนือระดับน้ำทะเล เช่น 10,000 ฟุต ความสูงของเครื่องบินจะคงที่ ไม่ว่าจะบินเหนือภูเขาหรือหุบเขา
วิธีใช้: ระดับความสูงของวัตถุจะแสดงโดยสัมพันธ์กับระดับน้ำทะเลปานกลางเฉลี่ย (คำนวณโดยใช้ EGM96) ระบบจะตีความพิกัดระดับความสูงของฟีเจอร์เป็นระดับความสูงที่แน่นอนเหนือระดับน้ำทะเลปานกลาง
กรณีที่ควรใช้: สำหรับฟีเจอร์ที่มีระดับความสูงที่ทราบและแน่นอน เช่น เส้นทางการบิน วัตถุที่จมอยู่ใต้น้ำซึ่งมีความลึกที่แน่นอน หรือเครื่องมือทางวิทยาศาสตร์แบบจุดคงที่
CLAMP_TO_GROUND
ลองนึกภาพการวางผ้าปูปิกนิกบนเนินเขาโดยตรง ไม่ว่าเนินเขาจะชันหรือราบเรียบเพียงใด ผ้าห่มจะราบไปกับพื้นผิวที่มองเห็นได้เสมอ
วิธีใช้: ระดับความสูงของวัตถุจะแสดงเป็นวางอยู่บนพื้นโดยตรง โดยจะยังคงอยู่ที่ระดับพื้นดินตามภูมิประเทศ ไม่ว่าจะมีค่าระดับความสูงใดก็ตาม ระบบจะไม่สนใจพิกัดระดับความสูงขององค์ประกอบ แต่จะฉายลงบนพื้นผิวภูมิประเทศ (DTM) โดยตรง
กรณีที่ควรใช้: สำหรับฟีเจอร์ที่ควรสอดคล้องกับภูมิประเทศเสมอ เช่น ถนน รั้ว ทางเดิน เขตแดนของที่พัก หรือฐานของอาคาร
RELATIVE_TO_GROUND
ลองนึกภาพบอลลูนที่ลอยอยู่สูงกว่าระดับความสูงของพื้นดินตามธรรมชาติ (DTM) ที่อยู่ด้านล่าง 100 เมตร หากพื้นดินสูงขึ้น บอลลูนก็จะสูงขึ้นตามไปด้วย โดยรักษาระยะห่าง 100 เมตรจาก "พื้นดินเปล่า"
วิธีใช้: ระดับความสูงของวัตถุจะแสดงโดยสัมพันธ์กับพื้นผิว (DTM) ระบบจะตีความพิกัดระดับความสูงขององค์ประกอบเป็นค่าออฟเซ็ตจากระดับความสูงของภูมิประเทศที่ตำแหน่งแนวนอน
กรณีที่ควรใช้: สำหรับวัตถุที่ต้องรักษาความสูงให้คงที่เหนือภูมิประเทศตามธรรมชาติ เช่น เสาสื่อสารหรือสายไฟฟ้าเหนือศีรษะในพื้นที่ชนบท
RELATIVE_TO_MESH
ซึ่งคล้ายกับโดรนที่บินในระดับความสูงคงที่เหนือสิ่งที่บินผ่าน ไม่ว่าจะเป็นพื้นดินเปล่า หลังคาอาคาร หรือยอดไม้ โดยจะปรับตามพื้นผิวที่มองเห็นได้สูงสุด (DSM)
วิธีใช้: ระดับความสูงของวัตถุจะแสดงโดยสัมพันธ์กับระดับความสูงสูงสุดของพื้นดิน+อาคาร+ผิวน้ำ (DSM) พิกัดระดับความสูงของฟีเจอร์จะตีความว่าเป็นค่าออฟเซ็ตจากระดับความสูงของ DSM
กรณีที่ควรใช้: สำหรับวัตถุที่ต้องลอยอยู่เหนือสิ่งที่มีอยู่จริง (DTM, อาคาร, น้ำ) ในระดับความสูงที่กำหนด ซึ่งมีประโยชน์สำหรับเครื่องหมายบนหลังคาหรือฟีเจอร์ที่ปรับเปลี่ยนตามฉากที่มองเห็นได้แบบไดนามิก
ดูรายละเอียดเพิ่มเติมได้ที่เอกสารประกอบสำหรับค่าคงที่ AltitudeMode
ตัวอย่างภาพและการนำไปใช้จริง
ตัวอย่างเหล่านี้ใช้สถานที่เฉพาะเจาะจงอย่างสโตนเฮนจ์เพื่อแสดงให้เห็นว่าตัวเลือก AltitudeMode ที่แตกต่างกันส่งผลต่อตำแหน่งของฟีเจอร์อย่างไร ตัวอย่างเหล่านี้จะครอบคลุมเครื่องหมายระบุตำแหน่งก่อน จากนั้นจึงเป็นเส้นและพื้นที่ ซึ่งมีข้อควรพิจารณาที่แตกต่างกันเล็กน้อย
เครื่องหมายระบุตำแหน่ง
พิจารณาเครื่องหมายหมุดที่วางไว้ดังนี้
const markerLocation = { lat: 51.1789, lng: -1.8262, altitude: 102.23 };
คุณจะเห็นหมุดสีขาวในฉากด้านล่าง

ตอนนี้ให้ดูรูปภาพด้านล่างซึ่งแสดงหมุดสีต่างๆ ที่วางตำแหน่งโดยใช้โหมดระดับความสูงที่แตกต่างกัน

มาดูว่า AltitudeMode ที่แตกต่างกันส่งผลต่อตำแหน่งของเครื่องหมายตามลำดับความสูงจากน้อยไปมากอย่างไร
CLAMP_TO_GROUND (หมุดสีม่วง)
หมุดนี้จะละเว้นค่าระดับความสูงและแนบตัวเองกับระดับความสูงของพื้นดินที่ใกล้ที่สุด คุณจะเห็นว่าหมุดสีขาวอยู่ด้านล่าง ซึ่งเป็นการ "ยึด" กับภูมิประเทศอย่างมีประสิทธิภาพ
ในทางเทคนิค โหมดนี้จะละเว้นระดับความสูงจริงและยึดหมุดไว้ที่ความสูง DTM ที่ใกล้ที่สุด
ABSOLUTE (White Pin)
หมุดนี้ใช้ค่าระดับความสูงที่แน่นอน (102.23 ม.) เพื่อวางเครื่องหมายที่ความสูงเหนือระดับน้ำทะเล (EGM96) โดยจะปรากฏที่ด้านบนของหินสโตนเฮนจ์ก้อนหนึ่งตามระดับความสูงที่ระบุไว้
ในทางเทคนิค โหมดนี้จะใช้ค่าระดับความสูงจริงที่ระบุเพื่อวางหมุดที่ความสูงที่ระบุเหนือระดับน้ำทะเล ซึ่งในตัวอย่างนี้คือตำแหน่งของสโตนเฮนจ์ แต่จะอยู่ที่ด้านบนของหินก้อนหนึ่ง
RELATIVE_TO_GROUND (หมุดสีส้ม)
หมุดนี้ใช้พื้นดิน (DTM) เป็นฐานและวางตัวเองสูงจากระดับพื้นดิน 102.23 ม. โดยดูเหมือนลอยอยู่เหนือพื้นดินตามธรรมชาติที่อยู่ใต้หินในสโตนเฮนจ์
ในทางเทคนิค โหมดนี้จะตั้งค่าฐานให้อยู่ในระดับ DTM จริงบนพื้น แล้ววางหมุดไว้ที่ความสูง 102.23 ม. เหนือฐาน
RELATIVE_TO_MESH (หมุดสีน้ำเงิน)
หมุดนี้ใช้พื้นผิวที่มองเห็นได้ (DSM) เป็นฐานและวางตัวเองสูงจากพื้นผิวนั้น 102.23 ม. โหมดนี้จะรวมความสูงของหินไว้ในการวัดด้วย โดยจะจัดแนวให้สูงกว่าหมุดสีส้มเล็กน้อย
ในทางเทคนิค โหมดนี้จะใช้ Mesh (DSM) เป็นฐานและวางตำแหน่งที่ระดับความสูงที่กำหนดเหนือ Mesh เนื่องจาก DSM อยู่ที่ด้านบนของหินที่ตั้งอยู่ หมุดนี้จึงรวมความสูงที่เพิ่มขึ้นนี้ไว้ในการวัดเมื่อกำหนดความสูงสัมพัทธ์ โดยจัดแนวให้สูงกว่าหมุด RELATIVE_TO_GROUND เล็กน้อย
เส้นและพื้นที่ของตำแหน่ง
สำหรับเส้นและพื้นที่ ทั้งระดับความสูงของจุดภายในฟีเจอร์ (ไม่ว่าจะระบุหรือไม่ก็ตาม) และ AltitudeMode ที่ใช้มีความสำคัญอย่างยิ่ง ลองตรวจสอบเส้นตามสโตนเฮนจ์ที่มีระดับความสูงที่ระบุดังต่อไปนี้
const lineCoords = [
{ lat: 51.1786, lng : -1.8266, altitude: 101.36 },
{ lat: 51.1787, lng : -1.8264, altitude: 101.18 },
{ lat: 51.178778, lng : -1.826354, altitude: 104.89 },
{ lat: 51.178815, lng : -1.826275, altitude: 107.55 },
{ lat: 51.178923, lng : -1.825980, altitude: 105.53 },
{ lat: 51.1791, lng : -1.8258, altitude: 100.29 },
{ lat: 51.1792, lng : -1.8257, altitude: 100.29 }
];
คุณจะเห็นเส้นนี้แสดงเป็นสีขาวในรูปภาพด้านล่าง โดยใช้การกำหนดตำแหน่งแบบสัมบูรณ์

รูปภาพด้านล่างแสดงเส้นที่ใช้โหมดระดับความสูงที่แตกต่างกันอีกครั้ง มาดูรายละเอียดของแต่ละระดับกัน โดยเริ่มจากระดับต่ำสุดไปจนถึงสูงสุด

CLAMP_TO_GROUND (เส้นสีม่วง)
เส้นนี้จะละเว้นระดับความสูงที่ระบุสำหรับแต่ละจุด และ "พาด" เส้นเหนือพื้นดินที่อยู่ด้านล่าง (DTM) โดยตรงแทน โดยจะอิงตามภูมิประเทศ โดยไม่สนใจสิ่งต่างๆ เช่น อาคารหรือหินที่อยู่ด้านบน
ในทางเทคนิค โหมดนี้จะไม่สนใจค่าระดับความสูงจริงและจะวางเส้นเหนือ DTM โดยอิงตามภูมิประเทศที่อยู่ด้านล่างและไม่สนใจเมชขององค์ประกอบที่อยู่ด้านบน
ABSOLUTE (White Line)
เส้นนี้ใช้ระดับความสูงที่แน่นอนสำหรับแต่ละจุด ทำให้เส้นพาดผ่านหินบางก้อน โดยจะเชื่อมต่อด้วยเส้นตรงระหว่างแต่ละจุด ซึ่งบางครั้งอาจทำให้ดูเหมือนว่าเส้นผ่านวัตถุหากจุดไม่ถี่พอ
ในทางเทคนิคแล้ว โหมดนี้จะติดตามระดับความสูงที่ระบุสำหรับแต่ละจุด โดยเชื่อมต่อจุดเหล่านั้นด้วยเส้นตรง ซึ่งหมายความว่าโหมดนี้สามารถผ่านเมช (เช่น หิน) ได้หากค่าระดับความสูงกำหนดไว้ เราจะกล่าวถึงสถานการณ์นี้ในส่วนถัดไป
RELATIVE_TO_GROUND (เส้นสีส้ม)
เส้นนี้ใช้พื้นดินตามธรรมชาติ (DTM) เป็นฐานและวางแต่ละจุดที่ระดับความสูงที่ระบุเหนือระดับพื้นดินนั้น
ในทางเทคนิค โหมดนี้จะใช้ DTM เป็นฐานและวางตำแหน่งเส้นที่ระดับความสูงที่ระบุซึ่งสัมพันธ์กับ DTM
RELATIVE_TO_MESH (เส้นสีน้ำเงิน)
เส้นนี้ใช้พื้นผิวที่มองเห็นได้ ซึ่งรวมถึงอาคารและหินเป็นฐาน จากนั้นจะวางแต่ละจุดที่ระดับความสูงที่ระบุเหนือเมชนั้น ซึ่งจะจำลองรูปร่างของเส้นให้สอดคล้องกับภูมิทัศน์ที่มองเห็นได้อย่างมีประสิทธิภาพ
ในทางเทคนิค โหมดนี้จะใช้เมช (DSM) เป็นฐานและวางตำแหน่งที่ระดับความสูงที่ระบุเหนือเมชนั้น โดยเส้นอาจเปลี่ยนแปลงไปตามเมชโดยขึ้นอยู่กับลักษณะต่างๆ บนพื้นดิน
เมื่อไม่ได้ระบุระดับความสูงสำหรับเส้น
ตอนนี้ลองพิจารณาพิกัดเส้นเดียวกันแต่ไม่มีการระบุระดับความสูง
const lineCoords = [
{ lat: 51.1786, lng : -1.8266 },
{ lat: 51.1787, lng : -1.8264 },
{ lat: 51.178778, lng : -1.826354 },
{ lat: 51.178815, lng : -1.826275 },
{ lat: 51.178923, lng : -1.825980 },
{ lat: 51.1791, lng : -1.8258 },
{ lat: 51.1792, lng : -1.8257 }
];
ในสถานการณ์นี้ซึ่งไม่มีการระบุระดับความสูง เส้นมักจะปรากฏในตำแหน่งที่คล้ายกัน เส้นสีขาว สีส้ม และสีม่วงอาจรวมกันเป็นเส้นเดียว (สีส้ม เนื่องจากโดยปกติแล้วจะวาดเป็นเส้นสุดท้าย) เนื่องจากเส้นทั้งหมดมีค่าเริ่มต้นเป็นการวางตำแหน่งระดับพื้นดินที่คล้ายกัน คุณจะเห็นข้อมูลนี้ที่ด้านล่าง

เส้นสีน้ำเงิน (RELATIVE_TO_MESH) ใช้เมช (DSM) เป็นฐานอีกครั้ง เนื่องจากไม่ได้ระบุระดับความสูง ระบบจึงวางซ้อนจุดไว้ด้านบนของ Mesh โดยตรง โปรดทราบว่าเครื่องมือนี้ไม่ได้วางเส้นบนเมช แต่จะเชื่อมต่อจุดที่ระบุบนเมชด้วยการเชื่อมต่อแบบตรง แม้ว่าการดำเนินการนี้อาจดูยอมรับได้ในบางตัวอย่าง แต่ก็อาจทำให้เกิดปัญหาด้านการมองเห็นเมื่อถูกฟีเจอร์อื่นๆ บดบัง เราจะพูดถึงปัญหานี้ในส่วนถัดไป
การโต้ตอบของตาข่ายและเส้น ตอนนี้เรามาดูเส้นประกอบอีกเส้นกัน รูปภาพนี้อยู่ในพื้นที่เดียวกัน แต่มีพื้นที่ครอบคลุมมากกว่า (หรือมีรายละเอียดเพิ่มเติมเกี่ยวกับ DSM ที่อยู่ด้านบนของ DTM)
const lineCoords = [
{ lat: 51.188404, lng: -1.779059, altitude: 70.69 },
{ lat: 51.187955, lng: -1.780143, altitude: 77.25 },
{ lat: 51.187658, lng: -1.781552, altitude: 68.97 },
{ lat: 51.187376, lng: -1.782447, altitude: 99.02 },
{ lat: 51.186912, lng: -1.783692, altitude: 104.35 },
{ lat: 51.185855, lng: -1.788368, altitude: 86.91 },
];
เมื่อเราเห็นการแสดงข้อมูลโดยใช้วิธีการ (และสี) เดียวกันกับก่อนหน้านี้ เราจะได้มุมมองนี้

สีม่วงคือ CLAMP_TO_GROUND ซึ่งคุณจะเห็นว่าอยู่ตามพื้นดิน สีขาวคือแบบสัมบูรณ์ ซึ่งคุณจะเห็นว่าเส้นตรงเชื่อมต่อจุดต่างๆ ที่วางตำแหน่งแบบสัมบูรณ์ในพื้นที่ โดยสีส้มและสีน้ำเงินเป็นเวอร์ชันที่เกี่ยวข้องกับพื้นผิว (DTM) หรือเมช (DSM) โปรดทราบว่าเส้นสีน้ำเงินมีรูปแบบที่แตกต่างกันเล็กน้อยเนื่องจากความสูงของลักษณะด้านล่าง
เราจะเห็นได้อีกครั้งว่าลักษณะของการสร้างเส้นหมายความว่าเส้นจะผ่านตาข่ายเมื่อจุดต่างๆ เชื่อมต่อกันด้วยเส้นตรง สถานการณ์นี้อาจทำให้เกิดปัญหาในการมองเห็นเส้น คุณจึงสามารถตั้งค่า drawsOccludedSegments เป็น true เพื่อให้มองเห็นเส้นผ่านต้นไม้ได้ ดังที่แสดงรายละเอียดเพิ่มเติมในรูปภาพต่อไปนี้ ซึ่งยังคงมองเห็นเส้นที่ผ่านเมชได้

ลักษณะของการวางตำแหน่งในพื้นที่หมายความว่าจุดต่างๆ อาจอยู่ภายในเมช และเส้นที่เชื่อมต่อจุดต่างๆ ก็อาจอยู่ภายในเมชด้วย ซึ่งอาจทำให้เกิดข้อบกพร่องด้านภาพ ในส่วนด้านล่าง เราอาจเห็นวิธีปรับปรุงอาร์ติแฟกต์ดังกล่าวหากเป็นไปได้
การแก้ปัญหาในการโต้ตอบระหว่างเส้นและภูมิประเทศ
ในอีกตัวอย่างหนึ่ง ในพื้นที่เดียวกัน เราจะเห็นอาร์ติแฟกต์อื่นๆ ที่เราต้องระวังเมื่อใช้โหมดระดับความสูงที่เฉพาะเจาะจง
ในที่นี้ เรามีพื้นที่ที่ค่อนข้างราบเรียบซึ่งส่วนใหญ่อยู่ในระดับ DTM โดยมีรายละเอียดเพิ่มเติมที่จำกัดอยู่เหนือพื้นที่ดังกล่าวใน Mesh สถานการณ์นี้จะเกิดขึ้นในพื้นที่ที่ไม่มีความครอบคลุมแบบ 3 มิติเหนือโมเดลภูมิประเทศด้วย โปรดดูสถานที่ต่อไปนี้ตามที่ระบุด้านล่าง
const lineCoords = [
{ lat: 51.194642, lng: -1.782636, altitude: 99.10 },
{ lat: 51.193974, lng: -1.783952, altitude: 99.86 },
{ lat: 51.192203, lng: -1.787175, altitude: 96.14 },
{ lat: 51.190024, lng: -1.790250, altitude: 105.92 },
{ lat: 51.187491, lng: -1.793580, altitude: 102.60 },
{ lat: 51.183690, lng: -1.798745, altitude: 95.69 },
];
และสามารถดูได้ในรูปภาพ โดยเส้นจะแสดงสีเหมือนเดิม (สีขาว: ABSOLUTE, สีน้ำเงิน: RELATIVE_TO_MESH, สีม่วง: CLAMP_TO_GROUND, สีส้ม: RELATIVE_TO_GROUND)

ที่นี่เราจะเห็นอาร์ติแฟกต์จำนวนหนึ่ง โดยอาร์ติแฟกต์แรกคือเนื่องจากไม่มีการปกคลุมพื้นผิว เส้นสีส้ม (RELATIVE_TO_GROUND) และสีน้ำเงิน (RELATIVE_TO_MESH) จึงอยู่ในตำแหน่งเดียวกัน (ส่วนใหญ่) (โดยเส้นสีน้ำเงินจะแสดงเป็นเส้นที่วาดล่าสุด)
นอกจากนี้ เรายังเห็นว่าเส้นสีม่วง (CLAMP_TO_GROUND) อยู่บนพื้นและมองเห็นได้บนเนินเขา ขณะที่เส้นสีขาว (ABSOLUTE) หายไปในเนินเขาเนื่องจากมีเพียงจุดที่เชื่อมต่อกันและเส้นตรงผ่านพื้นดิน
คุณจะเห็นข้อมูลนี้ได้ในรูปภาพนี้เมื่อซ่อนเส้นสีม่วงไว้

ซึ่งอาจทำให้เกิดอาร์ติแฟกต์ภาพที่แปลกตา โดยจะเห็นเส้นหายไปใต้พื้น (หรือแม้แต่ผ่านเมช) เนื่องจากเส้นระหว่างจุดต่างๆ จะเป็นเส้นตรง คุณอาจปรับปรุงการแสดงภาพของเส้นดังกล่าวได้โดยการเพิ่มจุดระหว่างเส้นโดยใช้วิธีการประมาณค่าในช่วง วิธีนี้จะส่งผลต่อภาพอย่างไรนั้นขึ้นอยู่กับวิธีการที่ใช้
- สำหรับการวัดแบบสัมพัทธ์ (RELATIVE_TO_GROUND หรือ RELATIVE_TO_MESH): เมื่อใช้ค่าระดับความสูงแบบสัมพัทธ์ การสร้างจุดเพิ่มเติมตามเส้นหรือรูปหลายเหลี่ยมจะช่วยให้วางฟีเจอร์ในระดับที่เหมาะสมมากขึ้น ซึ่งสอดคล้องกับโปรไฟล์ระดับความสูงได้ดีขึ้น หากไม่มีจุดกึ่งกลางเหล่านี้ในข้อมูล คุณสามารถใช้ฟังก์ชันการประมาณค่าในช่วง เช่น ฟังก์ชัน Interpolate ในไลบรารีเรขาคณิตของ Google Maps Platform เพื่อเพิ่มจุดกึ่งกลางได้ จากนั้นจะมีการกำหนดค่าสัมพัทธ์ให้กับจุดใหม่เหล่านี้ ซึ่งจะวางไว้เหนือโปรไฟล์ระดับความสูงที่เกี่ยวข้อง จากนั้นจะจำกัดความยาวของเส้นที่เชื่อมต่อจุดต่างๆ และปรับปรุงการแสดงภาพ
- สำหรับฟีเจอร์แบบสัมบูรณ์ (ABSOLUTE): สำหรับฟีเจอร์แบบสัมบูรณ์ (ABSOLUTE) จุดอื่นๆ จะต้องมีค่าระดับความสูงจริง การประมาณค่าในช่วงระหว่างค่าสัมบูรณ์ที่มีอยู่จะไม่ให้จุดที่สะท้อนค่าใดๆ เหนือ Mesh ได้อย่างถูกต้อง เนื่องจากจะเป็นเพียงค่าเฉลี่ยระหว่างจุด A และจุด B
สรุป
หวังว่าเอกสารนี้จะให้ภาพรวมที่ครอบคลุมเกี่ยวกับตัวเลือก AltitudeMode ในแผนที่ 3 มิติแบบเสมือนจริง โดยอธิบายรายละเอียดว่า ABSOLUTE, CLAMP_TO_GROUND, RELATIVE_TO_GROUND และ RELATIVE_TO_MESH ส่งผลต่อการวางและการแสดงผลฟีเจอร์ต่างๆ เช่น เครื่องหมาย เส้น และรูปหลายเหลี่ยมอย่างไร
การทำความเข้าใจวิธีการทำงานร่วมกันของโหมดเหล่านี้กับโมเดลภูมิประเทศแบบดิจิทัล (DTM) และโมเดลพื้นผิวดิจิทัล (DSM) ที่สำคัญเป็นสิ่งสำคัญในการสร้างการแสดงแผนที่ 3 มิติที่ถูกต้องและน่าสนใจด้วยภาพที่มีข้อบกพร่องน้อยที่สุด
เราหวังว่าคุณจะทดลองใช้โหมดระดับความสูงเหล่านี้ในโปรเจ็กต์ของคุณเองเพื่อปลดล็อกศักยภาพสูงสุดของการทำแผนที่ 3 มิติ และสร้างประสบการณ์ที่น่าสนใจและสมจริงสำหรับผู้ใช้ และแสดงความคิดเห็น
ผู้ร่วมให้ข้อมูล
Matt Toon | วิศวกรโซลูชัน, นักพัฒนาซอฟต์แวร์ Geo