เมื่อระบุระดับความสูงสำหรับฟีเจอร์ในแผนที่ 3 มิติ เช่น เส้น รูปหลายเหลี่ยม โมเดล หรือเครื่องหมาย จะมีปัจจัยหลายอย่างที่อาจส่งผลต่อตำแหน่งของฟีเจอร์ ทั้งภายในฉากและในลักษณะที่การแสดงผลฉากโต้ตอบกับฟีเจอร์นั้น เอกสารนี้ครอบคลุมการใช้ "AltitudeMode" ในแผนที่ 3 มิติและวิธีจัดการระดับความสูงสำหรับฟีเจอร์
วิธีใช้ AltitudeMode
กับฟีเจอร์ประเภทต่างๆ มีดังนี้
เครื่องหมาย: Marker3DElement, Marker3DInteractiveElement
ระบุระดับความสูงในตำแหน่ง รวมถึงการอัดขึ้นรูป
โมเดล: Model3DElement, Model3DInteractiveElement
ระบุระดับความสูงในจุดยึดของโมเดล ซึ่งควรใช้ร่วมกับการวางแนวเพื่อการวางตำแหน่งที่เหมาะสมในฉาก
โพลีไลน์: 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 ตัวเลือกที่คุณระบุได้เมื่อกำหนดฟีเจอร์
สัมบูรณ์
ลองนึกภาพเครื่องบินที่บินในระดับความสูงเหนือระดับน้ำทะเลที่เฉพาะเจาะจง เช่น 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 }
];
คุณจะเห็นบรรทัดนี้แสดงในรูปภาพด้านล่างเป็นสีขาวโดยใช้ positioning แบบสัมบูรณ์
อีกครั้งที่รูปภาพด้านล่างแสดงเส้นทางโดยใช้โหมดระดับความสูงต่างๆ มาดูรายละเอียดของแต่ละระดับกัน ตั้งแต่ระดับต่ำสุดไปจนถึงระดับสูงสุด
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 ในไลบรารีเรขาคณิตของ 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