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

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