Skip to main content

Data Expression

Data expression เป็นการเข้าถึงข้อมูลของ Feature เพื่อนำมาใช้ในการแสดงผลซึ่งมี Operator หรือตัวดำเนินการสำหรับ Data expression ซึ่งมี Expression Name เช่น get, has, id, geometry-type, properties, or feature-state เป็นต้น โดยใน Vallaris Maps Platform ผู้ใช้งานสามารถเขียนได้ที่แถบเมนู Advance ในการแสดงผลข้อมูลบนแผนที่

tip

Expression Structure

[expression_name, argument_0, argument_1, ...]

tip

การแก้ไขและตกแต่ง 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

caution

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"], ... ]