Skip to main content

รูปหลายเหลี่ยมที่ยกความสูงได้

รูปหลายเหลี่ยมที่ยกความสูงได้ (Fill Extrusion) เป็นการนำข้อมูลพื้นที่ (Polygon) มาทำการ Extrusion สามารถทำได้กับข้อมูลที่เป็นประเภท polygon หรือ multipolygon ซึ่งอยู่ในรูปแบบ Fill Extrusion โดยสามารถใช้ fill-extrusion ในการปรับแต่งรูปแบบของแผนที่ได้ ดังนี้

  • fill-extrusion-base ความสูงจากพื้นดินของ Feature มีหน่วยเป็นเมตร โดยค่าข้อมูลที่นำมาใช้กับ base เป็นประเภท (Number) และมีค่า Default คือ 0
  • fill-extrusion-color สีของ Feature โดยสามารถทำการรูปแบบของสีทั้งในรูปแบบ rgb และ rgba ซึ่งมีค่า Default คือ #b2c756
  • fill-extrusion-height ความสูงของ Feature มีหน่วยเป็นเป็นเมตร และมีค่า Default คือ 0 สามารถนำมาใช้ในการสร้าง Feature ให้อยู่ในรูปแบบ 3 มิติได้
  • fill-extrusion-pattern รูปแบบ หรือ Sprite ที่ใช้ในการตกแต่งแผนที่ โดยความกว้างและ ความยาวของแผนที่มีผลต่อการแสดงผล และรูปภาพหรือ Sprite จะมีการปรับสเกลตามระดับการซูมแผนที่
  • fill-extrusion-translate-anchor รูปแบบการแสดงผลของ Feature ซึ่งมี 2 รูปแบบคือ map และ viewport

ตัวอย่างการสร้าง Style

Extrusion height

การสร้างความสูงให้กับข้อมูลประเภท Fill Extrusion โดยสามารถทำได้กับข้อมูลเชิงพื้นที่ประเภทพื้นที่ (Polygon) ซึ่งข้อมูลจำเป็นต้องมีข้อมูลคุณลักษณะ (Properties) ที่มีฟิลด์ (Field) สำหรับนำมาใช้ในการ Extrusion

buiding.json
[
"number",
[ "get",
"height"
]
]

จากตัวอย่าง JSON

  • number : ทำการ Extrude กับค่าข้อมูลประเภทตัวเลข
  • height : เป็นชื่อคอลัมน์ที่ใช้สำหรับ Extrude เป็นการ Extrusion ด้วย Style Height ในรูปแบบ Advance โดยใช้ค่าข้อมูลจากฟิลด์ "height"
icon.json
[
"*",
[
"get",
"pm25"
]
]

จากตัวอย่าง JSON

  • "*" : ประเภทของข้อมูลที่นำมาทำการ Extrude กับค่าข้อมูลทุกประเภท
  • pm25 : เป็นชื่อคอลัมน์ที่นำมา Extrude เป็นการ Extrusion ด้วย Style Height ในรูปแบบ Advance โดยใช้ค่าข้อมูลจากฟิลด์ "pm25"

Extrusion height แบบคูณเท่าค่าข้อมูล

buiding.json
[
"number",
[ "get",
"height"
],
2
]

จากตัวอย่าง JSON

  • number : ทำการ Extrude กับค่าข้อมูลประเภทตัวเลข
  • height : เป็นชื่อคอลัมน์ที่ใช้สำหรับ Extrude เป็นการ Extrusion ด้วย Style Height ในรูปแบบ Advance โดยใช้ค่าข้อมูลจากฟิลด์ "height" แบบคูณ 2

Extrusion โดยใช้ OSM Building Layer

ผู้ใช้งานสามารถทำการ Extrusion Layer buiding ของแผนที่ OSM ซึ่งใน Style ของแผนที่ของ OSM จะมี Layer ชื่อ buiding โดยต้องทำการกำหนด Configuration ให้เป็น Fill Extrusion และรูปแบบของ height และ base ที่แถบการแก้ไข Style ในรูปแบบ Advance ดังต่อไปนี้

การระบุ JSON ที่แถบเมนู height

{
"property": "render_height",
"type" : "identity"
}

การระบุ JSON ที่แถบเมนู base

{
"property": "render_min_height",
"type": "identity"
}