Skip to main content
Version: v1.5.0

ชั้นข้อมูลเวกเตอร์

ข้อมูลเวกเตอร์ และข้อมูลเวกเตอร์ไทล์ ในการปรับแต่งลักษณะชั้นข้อมูล (Layer) สามารถแสดงผลได้หลายรูปแบบ ตามประเภทของชั้นข้อมูล (Layer) circle , line ,fill , fill-extrusion , heatmap ซึ่งสามารถแบ่งออกเป็น 2 ส่วนหลัก การปรับแต่งรูปแบบพื้นฐาน (Basic) และขั้นสูง (Advance)

ปรับแต่งขั้นสูง (Advance)

กำหนดค่าการแสดงผลเอง (Custom)

ประเภทชั้นข้อมูล (Layer type)​

ประเภทชั้นข้อมูลคำอธิบาย
จุด (Circle)สำหรับการแสดงข้อมูลที่เป็นจุด เช่น ที่ตั้งของสถานที่หรือเหตุการณ์บนแผนที่ โดยสามารถปรับขนาด สี และความโปร่งใสของจุดได้
สัญลักษณ์ (Symbol)สำหรับการแสดงข้อมูลที่เป็นเส้น เช่น เส้นทางถนน ทางเดิน หรือเส้นทางคมนาคม โดยสามารถปรับความหนา สี และรูปแบบของเส้นได้
เส้น (Line) สำหรับการแสดงข้อมูลที่เป็นเส้น เช่น เส้นทางถนน ทางเดิน หรือเส้นทางคมนาคม โดยสามารถปรับความหนา สี และรูปแบบของเส้นได้
พื้นที่ (Fill) สำหรับการแสดงพื้นที่ เช่น เขตการปกครอง พื้นที่ป่า หรือแหล่งน้ำ โดยสามารถปรับสีขอบเขตและความโปร่งใสได้
พื้นที่ที่สามารถยกความสูงได้ (Fill Extrusion)สำหรับใช้แสดงพื้นที่ในรูปแบบ 2.5 มิติ โดยสามารถยกความสูงของพื้นที่ตามค่าจากข้อมูลคุณลักษณะ (Attribute data) ที่เป็นตัวเลข เช่น ความสูงของอาคารหรือระดับความสำคัญของพื้นที่
แผนที่ความร้อน (Heatmap)สำหรับใช้แสดงความหนาแน่นของข้อมูลในรูปแบบสี เช่น ความหนาแน่นของประชากร จุดเกิดเหตุ หรือความถี่ของเหตุการณ์ในพื้นที่

ปรับแต่งพื้นฐาน (Basic)​

ผู้ใช้สามารถตั้งค่าการแสดงผลและรูปแบบข้อมูลได้ง่ายๆ ผ่านหน้าจอการใช้งาน (UI) เพื่อให้เหมาะกับข้อมูลที่ต้องการแสดงผล

การปรับแต่งคำอธิบาย
ค่าคงที่ การกำหนดค่าการแสดงผลเป็นค่าคงที่ คือ ค่าการแสดงผลจะเป็นไปตามค่าที่ระบุหรือกำหนดไว้
กำหนดการแสดงผลจากข้อมูล การแสดงผลตามข้อมูล คือ ลักษณะการแสดงผลบนแผนที่จะเปลี่ยนไปตามข้อมูลที่กำหนดไว้ โดยผู้ใช้ สามารถใช้ค่าข้อมูลของฟิลด์ ที่อยู่ภายในฟิลด์ properties
- กำหนดด้วยฟังก์ชัน match เป็นการเปรียบเทียบค่าจาก property แล้วเลือกผลลัพธ์จากแต่ละกรณีที่ "ตรงกัน"
- ใช้กับข้อมูลประเภทตัวอักษร (String)
กำหนดการแสดงผลตามช่วงข้อมูล การแสดงผลตามช่วงข้อมูลที่กำหนด เหมาะสำหรับการแสดงข้อมูลที่เป็นค่าต่อเนื่อง เช่น ขนาด สี ความโปร่งแสง เป็นต้น
- กำหนดด้วยฟังก์ชัน interpolate
- ใช้กับข้อมูลประเภทตัวเลข (Number)
- เปลี่ยนแปลงลักษณะการแสดงผลข้อมูล ตามช่วงค่าที่กำหนด โดยลักษณะการแสดงผลในแต่ละช่วงค่า เป็นไปตามทฤษฎีกราฟแต่ละรูปแบบ linear exponential cubic-bezier step
กำหนดการแสดงผลตามระดับซูม การเปลี่ยนลักษณะการแสดงผล ตามระดับการซูมที่กำหนด
- กำหนดด้วยฟังก์ชัน interpolate
- เปลี่ยนแปลงลักษณะการแสดงผลข้อมูล ตามระดับการซูมที่กำหนด (Zoom level) และเป็นไปตามทฤษฎีกราฟแต่ละรูปแบบ linear exponential cubic-bezier step

ปรับแต่งขั้นสูง (Advance)​

ผู้ใช้งานสามารถสามารถปรับแต่งการแสดงผลชั้นข้อมูลรูปแบบขั้นสูง (Advance) โดยสามารถระบุค่าการแสดงผลแผนที่ แบบกำหนดเอง (Custom) เพื่อควบคุมลักษณะการแสดงผลชั้นข้อมูลได้อย่างยืดหยุ่น เช่น สี ขนาด ความโปร่งใส และอื่นๆ ตามโครงสร้างของ Maplibre Style Specification

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

แบบทั่วไป​

การกำหนดค่าการแสดงผลโดยตรงตามที่ระบุไว้ โดยไม่ผ่านเงื่อนไขหรือการประมวลผลเพิ่มเติม ซึ่งสามารถดำเนินการได้กับทุกประเภทชั้นข้อมูล (Layer Type) การกำหนดแบบทั่วไป จะมีโครงสร้างที่ไม่ซับซ้อน สามารถระบุตามค่าข้อมูลที่ต้องแบบตรงไปตรงมา ตามประเภทข้อมูลที่ต้องการ เช่น ตัวเลข (Number), ตัวหนังสือ (String), ค่าสี และอื่นๆ เป็นต้น

"value"
รูปแบบค่าสีที่รองรับ
  • Color name: ชื่อของสีโดยตรง เช่น red,blue,green
  • HEX name: การกำหนดค่าสีด้วยเลขฐานสิบหก เช่น #FF0000 หมายถึงสีแดง
  • RGB name: การกำหนดสีด้วยค่าสีในช่วง 0-255 เช่น rgb(255, 0, 0)
  • RGBA name: การกำหนดสีด้วยค่าสีในช่วง 0-255 และค่า alpha หรือค่าความโปร่งแสง โดยมีค่า 0-1

การแสดงผลตามค่าข้อมูล (Value)​

การนำข้อมูลคุณลักษณะ (Attibutes data) ที่อยู่ภายในฟิลด์ properties เพื่อใช้กำหนดเงื่อนไขสำหรับแสดงผลข้อมูลบนแผนที่ ซึ่งเหมาะสำหรับค่าข้อมูลประเภท ตัวหนังสือ (String) และตัวเลข (Number) โดยลักษณะแสดงผลจะเปลี่ยนไปตามข้อมูล

แสดงผลตามค่าข้อมูล (Data Expression)​

การแสดงผลตามค่าข้อมูล (Value) เป็นการเรียกใช้ฟังก์ชัน match เหมาะสำหรับเปรียบเทียบค่าจาก ฟิลด์ข้อมูลเพียงหนึ่งฟิลด์ กับเงื่อนไขที่ระบุไว้แบบ ตรงตัว เหมาะสำหรับข้อมูลประเภท ข้อความ (String) ที่มีการจัดหมวดหมู่ เช่น ชื่อจังหวัด ประเภท หรือสถานะต่าง ๆ

warning

เมื่อมีการเรียกใช้ฟิลด์ (Field) ที่มีค่าข้อมูลประเภทตัวเลข (Number) ให้ทำการแก้ไข โดยลบเครื่องหมาย Double Straight Quote (") ที่แท็บขั้นสูง (Advance) เพื่อเปลี่ยนประเภทข้อมูลจากข้อความ (String) เป็นตัวเลข (Number) เช่น "19" เป็น 19

Data Expression
[
"match",
[
"get",
"field"
],
["value1"],"output1",
["value2"],"output2",
...
"defaultOutput"
]

แสดงผลตามช่วงค่าข้อมูล (Data Expression Range)​

การแสดงผลตามช่วงค่าข้อมูล (Value Range) เป็นการใช้ฟังก์ชัน interpolate ซึ่งจะแสดงผลข้อมูลในลักษณะการไล่ระดับตามช่วงค่าที่กำหนด และมีการเปลี่ยนแปลงแบบค่อยเป็นค่อยไป

Expressionประเภทค่าข้อมูลเหมาะสำหรับ
interpolateจำนวนเต็ม, ทศนิยมการแสดงผลตามช่วงค่า
matchค่าคงที่เปรียบเทียบค่าที่ตรงตัว
caseตรรกะ (Boolean)เงื่อนไข ตรรกะซับซ้อน
linear
 [
"interpolate",
["linear"],
["get", "property"],
value1 , output1,
value2, output2
...
]
step
[
"step",
["get","property"],
"defaultOutput"
stopInput1, output1,
stopInput2, output2,
...
]
exponential
[
"interpolate",
[
"exponential", 1 //base is between 0-2
],
["get", "properties"],
input1, output1,
input2, output2,
...
"defaultOutput"
]
cubic-bezier
[
"interpolate",
[
"cubic-bezier",
1, //x1 max is 1 min is 0
1, //x2
1, //y1
1 //y2
],
[
"get","properties"],
input1, output1,
input2, output2,
...
"defaultOutput"
]

ลักษณะการแสดงผลแบบช่วงค่าข้อมูล​

รูปแบบลักษณะการเปลี่ยน
linearเปลี่ยนอย่างสม่ำเสมอ
exponentialช่วงต้นหรือปลายชัดเจน
cubic-bezierปรับความรู้สึกของการเปลี่ยน
stepเปลี่ยนทันทีตามช่วง

การแสดงตามระดับการซูม​

การเปลี่ยนแปลงลักษณะการแสดงผลของข้อมูลตามระดับการซูมของแผนที่ โดยผู้ใช้สามารถกำหนดค่าการแสดงผล เช่น ขนาด สี หรือความหนาของเส้น ให้แตกต่างกันไปในแต่ละช่วงระดับการซูมได้

zoom
[
"interpolate",
["linear" ],
[ "zoom" ],
zoomlevel1, // Zoom level
"output1",
zoomlevel2, // Zoom level
"output2"
...
]

การแสดงผลตาม เงื่อนไข ฟังก์ชัน​

การกำหนดเงื่อนไข โดยใช้ข้อมูลภายในฟิลด์ properties ซึ่งเป็นการเรียกใช้ฟังก์ชัน case คล้ายกับการเขียนเงื่อนไขในฟังก์ชัน if/else เพื่อเปรียบเทียบและคำนวณ สำหรับกำหนดลักษณะการแสดงผลข้อมูล

case
["case",
condition1, output1,
condition2, output2,
...,
defaultOutput
]

ตารางการปรับแต่ง​

จุด (Circle)​

ชื่อPropertyค่าเริ่มต้นคำอธิบาย
ความเบลอcircle-blur0ค่าความเบลอของจุด ซึ่งจะทำการเบลอทั้งจุดยกเว้นจุดกึ่งกลางของจุดเท่านั้นที่ไม่เบลอ
สีcircle-color#000000สีของจุด
ความทึบcircle-opacity1ค่าความทึบของจุด
- ค่าสูงสุด (ทึบสุด) : 1
- ค่าต่ำสุด(โปร่งใสสุด) : 0
มุมมองการวางจุดcircle-pitch-alignmentviewportรูปแบบการแสดงผลของจุดเมื่อเปลี่ยนมุมลาดเอียง (Pitch)
- map : จุดอยู่ในแนวระนาบเดียวกับแผนที่
- viewport : จุดอยู่ในแนวระนาบของมุมลาดเอียง
มุมมองขนาดจุดcircle-pitch-scaleviewportขนาดของจุดเมื่อเปลี่ยนมุมลาดเอียง (Pitch)
- map : ขนาดสัมพันธ์กับแผนที่
- viewport : ขนาดสัมพันธ์กับมุมมอง (ใกล้ = ใหญ่, ไกล = เล็ก)
รัศมีcircle-radius5ขนาดรัศมีของจุด (หน่วย: พิกเซล)
เรียงลำดับคีย์circle-sort-key0การเรียงลำดับการวาดของจุดวงกลมภายในชั้นข้อมูลเดียวกัน โดยค่าต่ำอยู่ล่าง ค่าสูงอยู่บนค่าที่สูงกว่าจะอยู่เหนือค่าที่ต่ำกว่า
สีเส้นขอบcircle-stroke-color#FFFFFFสีขอบของจุด
ความทึบเส้นขอบcircle-stroke-opacity1ความทึบของเส้นขอบจุด
- ค่าสูงสุด (ทึบสุด) : 1
- ค่าต่ำสุด(โปร่งใสสุด) : 0
ความหนาเส้นขอบcircle-stroke-width1ความกว้างของขอบจุด
เลื่อนตำแหน่งจุดcircle-translate[0,0]กำหนดค่า offset ของจุดจากพิกัดตั้งต้น [x,y] (หน่วย: พิกเซล)
มุมการเลื่อนตำแหน่งจุดcircle-translate-anchormapมุมมองของ circle-translate (ต้องตั้งค่า circle-translate ก่อน)
- map : ตำแหน่งสัมพันธ์กับแผนที่
- viewport : ตำแหน่งสัมพันธ์กับการมองเห็น

เส้น (Line)​

ชื่อPropertyค่าเริ่มต้นคำอธิบาย
ความเบลอline-blur0ระดับการเบลอของเส้น (หน่วย: พิกเซล)
รูปแบบปลายเส้นline-capbuttรูปลักษณะปลายของเส้น มี 3 รูปแบบ: butt, round, square
สีline-color#B2C756สีของเส้น
เส้นประline-dasharray1ระยะความยาวของเส้นประและช่องว่าง ความยาวของเส้นจะปรับตามขนาดความกว้างของเส้น (ใช้ร่วมกับ line-pattern ไม่ได้)
ระยะห่างเส้นขอบline-gap-width0ความกว้างในการสร้างช่องว่างภายในเส้น (Gap)
ลักษณะจุดชื่อมต่อเส้นline-joinmiterรูปลักษณะของปลายเส้นที่เชื่อมต่อกัน มี 3 แบบ: bevel, round, miter
ค่ามุมเส้นเชื่อมline-miter-limit2การปรับค่าความโค้งมนของเส้นเชื่อมต่อกัน ต้องเลือก line-join เป็น miter
เลื่อนตำแหน่งจุดline-offset0การกำหนดระยะห่างของเส้น (หน่วย: พิกเซล)
- ค่าลบ: Offset ไปทางซ้าย
- ค่าบวก: Offset ไปทางขวา
ความทึบline-opacity0ความทึบแสงของเส้น
ลวดลายline-patternnullรูปแบบของเส้นโดยใช้ Sprite หรือรูปภาพ (สามารถเพิ่มรูปภาพบน Vallaris ได้)
ความมนปลายเส้นline-round-limit1.05การปรับค่าความโค้งมนของเส้นที่เชื่อมต่อกัน ต้องเลือก line-join เป็น round
เรียงลำดับคีย์line-sort-key0เรียงลำดับ Feature จากน้อยไปหามาก Feature ที่มีคีย์สูงกว่าจะอยู่เหนือคีย์ต่ำกว่า
เลื่อนตำแหน่งจุดline-translate[0,0]Offset ของเส้นจากพิกัดตั้งต้น [x,y] (หน่วย: พิกเซล)
มุมการเลื่อนตำแหน่งจุดline-translate-anchormapการแสดงผลมุมของ line-translate (ต้องตั้งค่า line-translate ก่อน)
ความกว้างline-width1ขนาดความกว้างของเส้น โดยมีค่าต่ำสุดเท่ากับ 1

พื้นที่ (Fill)​

ชื่อPropertyค่าเริ่มต้นคำอธิบาย
ลดความคมชัดเส้นขอบfill-antialiastrueความคมชัดของพื้นที่รูปปิด โดยมีประเภทเป็น Boolean มีค่าที่สามารถเลือกได้คือ true และ false
สีfill-colorrgb(178,199,86)การเติมสีของพื้นที่รูปปิด (Polygon) ซึ่งเป็นรูปแบบสีแบบ rgb นอกจากนี้สามารถรองรับรูปแบบ rgba เพื่อกำหนดความทึบของสี (Opacity) และเมื่อใช้ fill-pattern จะไม่สามารถแสดงสีได้
ความทึบfill-opacity0.5ความทึบแสงของ Feature โดยค่าในการกำหนดความทึบแสงเป็นตัวเลข ซึ่งในการกำหนดค่ามีผลต่อการแสดงเส้นขอบของ Polygon ด้วย
สีเส้นขอบfill-outline-color#000000สีของเส้นขอบ โดยในการกำหนดสีของเส้นขอบจำเป็นต้องกำหนด fill-antialias ให้เป็น true จึงสามารถกำหนดสีขอบได้
ลวดลายfill-patternnullการกำหนดรูปภาพให้แสดงบนพื้นที่ Polygon เรียกว่า Sprite ซึ่งบน Vallaris สามารถเพิ่มรูปภาพขึ้นไปเพื่อใช้เป็น Sprite ได้
เรียงลำดับคีย์fill-sort-key0เป็นการเรียงลำดับ Feature จากน้อยไปหามากตามค่าที่กำหนด Feature ที่มีคีย์การเรียงลำดับที่สูงกว่าจะปรากฏเหนือ Feature ที่มีคีย์การเรียงลำดับที่ต่ำกว่า
เลื่อนตำแหน่จุดfill-translate[0,0]การกำหนดค่า offset ของจุดจากค่าพิกัดตั้งต้น เป็นค่า [x, y] ซึ่งมีหน่วยเป็นพิกเซล (Pixel)
มุมการเลื่อนตำแหน่งจุดfill-translate-anchormapการแสดงผลมุมของ Translate ซึ่งต้องทำการตั้งค่า fill-translate ก่อน

พื้นที่ที่สามารถยกความสูงได้ (Fill Extrusion)​

ชื่อPropertyค่าเริ่มต้นคำอธิบาย
ฐานfill-extrusion-base0ความสูงจากพื้นดินของ Feature มีหน่วยเป็นเมตร โดยค่าข้อมูลที่นำมาใช้กับ base เป็นประเภทตัวเลข (Number)
สีfill-extrusion-color#b2c756สีของ Feature โดยสามารถกำหนดรูปแบบของสีทั้งในรูปแบบ rgb และ rgba
ความสูงfill-extrusion-height0ความสูงของ Feature มีหน่วยเป็นเมตร สามารถนำมาใช้ในการสร้าง Feature ให้อยู่ในรูปแบบ 3 มิติได้
ความทึบfill-extrusion-opacity0.5ความทึบแสงของ Feature
ลวดลายfill-extrusion-patternnullรูปแบบ หรือ Sprite ที่ใช้ในการตกแต่งแผนที่ โดยความกว้างและความยาวของแผนที่มีผลต่อการแสดงผล และปรับสเกลตามระดับการซูมแผนที่
มุมการเลื่อนตำแหน่งจุดfill-extrusion-translate-anchormapรูปแบบการแสดงผลของ Feature ซึ่งมี 2 รูปแบบคือ map และ viewport

แผนที่ความร้อน (Heatmap)​

ชื่อPropertyค่าเริ่มต้นคำอธิบาย
รัศมีheatmap-radius30รัศมีการกระจายอิทธิพลของจุดข้อมูลแต่ละจุด มีหน่วยเป็นพิกเซล และมักปรับตามระดับการซูม
น้ำหนักheatmap-weight1น้ำหนักของแต่ละจุดข้อมูล กับความหนาแน่นของข้อมูล โดยมักใช้ค่าจากคุณลักษณะ (Attribute) ของ Feature เช่น ความแรงของเหตุการณ์
ความเข้มheatmap-intensity1ความเข้มของแผนที่ความร้อนโดยรวม สามารถปรับตามระดับการซูมได้
สีheatmap-colorroyalblue,cyan, lime, yellow, red ช่วงสีของจุดที่ความร้อน ซึ่งต้องกำหนดมากว่า 1 สี เพื่อไล่ระดับสีตามความหนาแน่นของข้อมูล heatmap-density
ความทึบheatmap-opacity1ความโปร่งใสของชั้น Heatmap สามารถใช้ทำ fade in/out ตามระดับซูม