Data Expression
Data expression เป็นการเข้าถึงข้อมูลของ Feature เพื่อนำมาใช้ในการแสดงผลซึ่งมี Operator หรือตัวดำเนินการสำหรับ Data expression ซึ่งมี Expression Name เช่น get, has, id, geometry-type, properties, or feature-state เป็นต้น โดยใน Vallaris Maps Platform ผู้ใช้งานสามารถเขียนได้ที่แถบเมนู Advance
ในการแสดงผลข้อมูลบนแผนที่
Expression Structure
[expression_name, argument_0, argument_1, ...]
การแก้ไขและตกแต่ง Style ของแผนที่ด้วย JSON Object สามารถใช้งานได้กับรูปแบบ Syle ที่รองรับการใช้งาน Expreesion เท่านั้น
วิธีการตกแต่ง Map Advance Style
- คลิกที่ Layer ที่ต้องการตกแต่งจะแสดง Drawer ด้านขวามือ
- ที่มุมบนจะมีแถบที่ชื่อว่า "Advance" เมื่อคลิกจะทำการพิมพ์ JSON Object เพื่อตกแต่งสไตล์ได้

Data expressions operators
-
get เป็น Operator ในการเรียกฟิลด์ที่อยู่ใน Properties ของ Feature ซึ่งค่าข้อมูลที่อยู่ในฟิลด์ที่ทำการระบุจะต้องมีค่าของมูลเป็นประเภท String เท่านั้น และหากไม่สามารถเรียกฟิลด์นั้นๆ ผลลัพธ์ของในการเรียกข้อมูลจะเป็น "null"
Syntax
["get", string] : value
ตัวอย่างเช่น ["get", "population"] เป็นการรับค่าข้อมูลจากฟิลด์ที่ชื่อ "population" เพื่อนำมาใช้ในการเขียนเงื่อนไขในการแสดงผลต่อไป
-
has เป็น Operator ใช้เพื่อตรวจสอบการมีอยู่ของของฟิลด์ที่อยู่ใน Properties ของ Feature ซึ่งผลลัพธ์จากการใช้ Operater "has" เป็นค่า Boolaean (true/false)
Syntax
["has", string]: boolean
-
id เป็น Operator ในรับ id ของ Features หรือฟิลด์ที่มีคุณลักษณะเฉพาะ เพื่อเป็นเงื่อนไขในการแสดงผล ตัวอย่างเช่น ["==", ["id"], 1] หาก id ของ Features เท่ากับ 1 จะให้แสดงผลในรูปแบบใด
Syntax
["id"]: value
-
geometry-type เป็น Operator เพื่อรับประเภทของข้อมูลทางภูมิศาสตร์ (Geometry Type) ได้แก่ Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon เพื่อนำมาใช้ในการทำ Data expreesion
Syntax
["geometry-type"]: string
-
properties เป็น Operator เพื่อรับค่าข้อมูล (Value) ของฟิลด์ที่อยู่ใน Properties มีลักษณะคล้ายกับ Opeator
get
Syntax
["properties"]: object
-
feature-state เป็น Operator เพื่อรับค่าข้อมูลจาก feature-state เพื่อทำการเข้าถึงฟิลด์เพื่อทำการเปลี่ยนแปลงและแก้ไข Style ซึ่งสามารถใช้ได้กับฟิลด์
paint
เท่านั้นSyntax
[ "feature-state", string]: value
ตัวอย่างเช่น การเข้าถึงเมื่อทำการเมาส์ไป Hover Feature ทำการเปลี่ยนสีของ Feature นั้น เกิดจากการ Set State ของ Feature จาก False ให้เป็น True
feature-state ยังไม่รองรับการแก้ไข JSON บน Vallaris Map Platform แต่สามารถ Set JSON Style และทำการเรียกใช้ได้ในส่วนของนักพัฒนาเมื่อทำการเรียกรับข้อมูล Style ของแผนที่
ตัวอย่างการใช้ feature-state Example use feature-state
ตัวอย่างการใช้ Expression circle color
ตัวอย่างการใช้ step ในการ Classify
จากตัวอย่าง JSON ด้านล่าง "num_stu" เป็นชื่อของคอลัมน์ที่อยู่ใน Properties ของข้อมูล ซึ่งมีค่าของข้อมูลเป็นตัวเลขจำนวนนักเรียนในโรงเรียน และค่าสี red
, green
, blue
เป็นค่าสีที่ใช้สำหรับการจำแนก โดยมีเงื่อนไขในการแสดงผล คือ หากค่าของข้อมูลน้อยกว่า 100 ให้แสดง Feature เป็นสี red
หากค่าของข้อมูลอยู่ระหว่าง 100 - 300 ให้แสดงเป็นสี green
และหากของข้อมูลมีค่ามากกว่า 300 ให้แสดงเป็นสี blue
[
"step",
["get", "num_stu"],
"red", // "num_stu" is less than to 100 is red
100,
"green", // "num_stu" is between 100 and 300 is green
300,
"blue" // "num_stu" is more than is blue
]
ตัวอย่างการใช้ case ในการ Classify
จากตัวอย่าง JSON ด้านล่าง เป็นการ Classify โดยมีการเรียกใช้ข้อมูลจากคอลัมน์ num_stu
หากค่าของข้อมูล น้อยกว่าหรือเท่ากับ 100 ให้แสดงเป็นสี red
หากค่าของข้อมูลมีค่ามากกว่าหรือเท่ากับ 300 ให้แสดงเป็นสี green
และหากนอกเหนือจาก 2 เงื่อนไขที่กำหนดจะแสดง Feature เป็นสี blue
[
"case",
["<=", ["get", "num_stu"], 100], // "num_stu" is less than and equal 100 is red
"red",
[">=", ["get", "num_stu"], 300], // "num_stu" is more than 300 is green
"green",
"blue"
]
Camera expressions
Camera expressions เป็น expression สำหรับการแสดงผลข้อมูลบนแผนที่ เมื่อมีการเปลี่ยนแปลงระดับการ zoom ซึ่งสามารถใช้ได้กับ Style ที่รองรับการใช้ Expression
[ "interpolate", interpolation, ["zoom"], ... ]