Skip to main content
Version: v1.5.0

ตั้งค่าชั้นข้อมูล

การตั้งค่าชั้นข้อมูล (Layer) เป็นจุดเริ่มต้นสำหรับกำหนดรูปแบบในการแสดงบนแผนที่ โดยข้อมูลที่สามารถมาแสดงผลบน Map Style Editor คือข้อมูลเชิงพื้นที่ประเภท เวกเตอร์ (Vector) และราสเตอร์ (Raster) ซึ่งสามารถกำหนดได้ตามเนื้อหาในส่วนนี้

  1. แหล่งข้อมูลสำหรับแสดงผล
  2. รูปแบบการแสดงผล
  3. กรองข้อมูล
  4. ปรับการแสดงผลตามระยะซูม
  5. สร้างข้อมูลเพิ่มเติม (Metadata)

แหล่งข้อมูล​

Layer​

การสร้างชั้นข้อมูล โดยใช้ข้อมูลที่จัดเก็บไว้ใน Vallaris Geostore และทำการแปลงเป็นไทล์ (Tiles) ทั้งข้อมูลประเภทเวกเตอร์ไทล์ (Vector Tiles) และราสเตอร์ไทล์ (Raster Tiles)

  • Vector Tiles : ข้อมูล Vector Tiles ทีี่ได้จากการแปลงข้อมูล Feature ที่จัดเก็บบน Vallaris Geostore
  • Coverage Tiles : ข้อมูล Coverage Tiles ทีี่ได้จากการแปลงข้อมูล Coverage ที่จัดเก็บบน Vallaris Geostore

Source​

  • GeoJSON
    • GeoJSON (JSON)
    • GeoJSON (URL)
  • Vector
    • Vector (TileJSON URL)
    • Vector (XYZ URL)
  • Raster
    • Raster (TileJSON URL)
    • Raster (XYZ URL)
  • Image
    • Image

รูปแบบการแสดงผลข้อมูล​

เมื่อผู้ใช้งานทำการเพิ่มเลเยอร์ข้อมูล ส่วนการตั้งค่าการแสดงผล จุดเริ่มต้นของการออกแบบรูปแบบการแสดงผลให้กับข้อมูล เช่น ประเภทข้อมูล,ระดับการซูมที่ข้อมูลจะแสดงผลบนแผนที่

ขั้นตอนการตั้งค่ารูปแบบแสดงผล​

  1. เลือกเลเยอร์ ที่ต้องการตั้งค่าประเภทการแสดงผล
  2. คลิกไปที่ แถบเมนูตั้งค่า (Configuration)
  3. ที่แถบซ้ายมือคลิกที่ เมนูประเภท (Type)
  4. เมื่อระบุเสร็จสิ้นให้คลิกปุ่ม บันทึก

เวกเตอร์ (Vector) และไทล์ (Tiles)​

ข้อมูลเชิงพื้นที่ประเภทเวกเตอร์ ที่ได้ทำการเพิ่มชั้นข้อมูลมายังแผนที่ที่สร้างขึ้น ผู้ใช้งานต้องทำการระบุรูปแบบการแสดงผลให้สอดคล้องกับข้อมูล เพื่อประสิทธิภาพที่ดีในการสื่อสาร และนำเสนอได้อย่างมีประสิทธิภาพ

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

ข้อมูลเชิงพื้นที่ประเภทเวกเตอร์ มีรูปแบบการแสดงผลหลายรูปแบบ เพื่อตอบโจทย์การแสดงผลข้อมูลบนพื้นโลก

ประเภทข้อมูลเชิงพื้นที่รูปแบบการแสดงผลคำอธิบาย
จุด (Point)circle, symbol, heatmap ข้อมูลเชิงพื้นที่ประเภทจุด (Point) สามารถตั้งค่าเป็นลักษณะต่างๆ ของการแสดงผลบนแผนที่ ได้แก่ จุดแบบวงกลม (Circle) ,ความหนาแน่นของจุด (Heatmap) , จุดสำหรับไอคอนหรือข้อความ (Symbol) ซึ่งจะไม่สามารถแสดงในรูปแบบเส้น และพื้นที่ได้
เส้น (Line) circle,line, symbol, heatmapข้อมูลเส้น (Line) ที่แสดงในรูปแบบสัญลักษณ์ (Icon, Symbol, Text) ซึ่งจะต้องกำหนดค่่า symbol-placement เป็น line โดยสัญลักษณ์ (Symbol, Icon, Text) จะแสดงระนาบไปข้อมูลเส้น
พื้นที่ (Polygon)circle, , fill, fill-extrusion, symbol,heatmapข้อมูลพื้นที่ (Polygon) ที่แสดงในรูปแบบสัญลักษณ์ (Icon, Symbol, Text) จะแสดงไม่ตรงกับจุดกึ่งกลางเสมอไป โดยปกติแล้วค่าเริ่มต้นของ symbol-placement เป็น point จะใช้จุดกึ่งกลางของพื้นที่ (Polygon) เป็นตำแหน่งหลัก แต่พื้นที่ที่มีรูปร่างซับซ้อนขนาดใหญ่ จะทำการเลือกหลายจุดที่เหมาะสม เพื่อมองเห็นได้ชัด
ค่าเริ่มต้น

ค่าเริ่มต้นเป็น วงกลม (Circle) ซึ่งผู้ใช้งานสามารถเปลี่ยนประเภทการแสดงผล ตามความเหมาะสมกับข้อมูลที่ได้ระบุไว้ได้

ราสเตอร์ (Raster) และไทล์ (Tiles)​

ข้อมูลเชิงพื้นที่ประเภทราสเตอร์ ข้อมูลในการแสดงผลอยู่ในรูปแบบ Coverage ซึ่งเป็นการแสดงผลในรูปแบบ Cloud Optimized GeoTIFF (COG) โดยมีคุณสมบัติในการแสดงผลข้อมูลที่มีการจัดเก็บแบบ tiled และ internal overviews เพื่อให้สามารถดึงข้อมูลเฉพาะส่วนที่ต้องการได้โดยตรงจากเซิร์ฟเวอร์

ประเภทการแสดงผล​

  • Coverage : สำหรับข้อมูล ภาพถ่ายดาวเทียม, ถ่ายทางอากาศ

กรองข้อมูล (Filter)​

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

ตัวอย่างข้อมูลเชิงพื้นที่ ที่มีข้อมูลคุณลักษณะ (Attribute Data)
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [100.523186, 13.736717]
},
"properties": {
"name": "Grand Palace",
"type": "Historical Site",
"city": "Bangkok",
"visitor_count": 8000
}
}

เงื่อนไขการกรองข้อมูล​

เมื่อผู้ใช้งานต้องการกรองข้อมูล จากข้อมูล Vector Tiles ทั้งหมดให้ใช้เฉพาะสิ่งที่ต้องการนำมาแสดงผล สามารถกรองข้อมูลที่อยู่ในฟิลด์ properties ของเลเยอร์ ซึ่งต้องทำการกำหนดเงื่อนไขสำหรับการ Filter มีตัวดำเนินการ ดังต่อไปนี้

  • All การใช้ All ข้อมูลจะแสดงผล เมื่อเงื่อนไขทั้งหมดเป็นจริง หรือตรงกับเงื่อนไขที่กำหนด (and)
  • Any การใช้ Any ข้อมูลจะแสดงผล เมื่อเงื่อนไขที่กำหนดมีตัวใดตัวหนึ่งเป็นจริง (or)
  • None ผลลัพธ์จะตรงข้ามกับเงื่อนไขที่ทำการระบุ (not)

ตัวกรอง (Filter)​

ข้อความ (Text)​

สัญลักษณ์คำอธิบายตัวอย่าง
==เท่ากับ["==", "pv_tn", "ขอนแก่น"]
!=ไม่เท่ากับ["!=", "pv_tn", "กรุงเทพฯ"]
inอยู่ในรายการ (OR หลายค่า)["in", "pv_tn", "ขอนแก่น", "นครพนม"]
!inไม่อยู่ในรายการ["!in", "pv_tn", "เชียงใหม่", "ภูเก็ต"]
hasมี property นี้อยู่["has", "pv_tn"]
!hasไม่มี property นี้["!has", "pv_tn"]

ตัวเลข (Number)​

สัญลักษณ์คำอธิบายตัวอย่าง
==เท่ากับ["==", "population", 1000000]
!=ไม่เท่ากับ["!=", "population", 500000]
>มากกว่า[">", "population", 1000000]
<น้อยกว่า["<", "population", 500000]
>=มากกว่าหรือเท่ากับ[">=", "population", 1000000]
<=น้อยกว่าหรือเท่ากับ["<=", "population", 500000]
inอยู่ในรายการ (OR หลายค่า)["in", "population", 100000, 200000, 300000]
!inไม่อยู่ในรายการ["!in", "population", 400000, 500000]
hasมี property นี้อยู่["has", "population"]
!hasไม่มี property นี้["!has", "population"]

ตรรกะ (Boolean)​

สัญลักษณ์คำอธิบายตัวอย่าง
==เท่ากับ (true หรือ false)["==", "is_active", true]
!=ไม่เท่ากับ (true หรือ false)["!=", "is_active", false]
hasมี property นี้อยู่["has", "is_active"]
!hasไม่มี property นี้["!has", "is_active"]

ปรับการแสดงผลตามระยะซูม​

ระดับการซูมของแผนที่เป็นการกำหนดสัดส่วนการแสดงผลของแผนที่ในเชิงตัวเลข โดยแผนที่ที่ให้บริการมีขอบเขตการซูมตั้งแต่ระดับต่ำสุดที่ 0 ถึงระดับสูงสุดที่ 22

  • ระดับการซูมต่ำสุด (0): แสดงภาพรวมของพื้นที่ในขอบเขตกว้างที่สุด เช่น การแสดงภาพรวมระดับโลกหรือระดับทวีป เหมาะสำหรับการมองภาพรวมของพื้นที่ขนาดใหญ่
  • ระดับการซูมสูงสุด (22): แสดงรายละเอียดของพื้นที่ในขอบเขตแคบที่สุด เช่น การแสดงรายละเอียดของอาคาร หรือตรอกซอย เหมาะสำหรับการพิจารณารายละเอียดของสถานที่เฉพาะเจาะจง

ระดับการซูม​

ระดับการซูม : 0

022

มุมมองการแสดงผล :

โลก

  • โลก (0 - 3)
  • ทวีป (4 - 5)
  • ประเทศ (6 - 9)
  • ภูมิภาค (10 - 11)
  • จังหวัด(12 - 14)
  • อำเภอ (15- 16)
  • ตำบล (17 - 18)
  • หมู่บ้าน, เส้นทาง (19 - 22)

คำอธิบายข้อมูลของชั้นข้อมูล (Layer Metadata)​

ข้อมูลเพิ่มเติม ของชั้นข้อมูล (Layer) ซึ่งเป็นประโยชน์ในการอธิบาย รายละเอียดหรือความหมาย ให้กับชั้นข้อมูลนั้นๆ ที่ต้องการสื่อให้กับผู้ใช้งานในการพัฒนาเว็บไซต์

ชั้นข้อมูลบนแผนที่ (Layer) มีองค์ประกอบสำคัญที่ใช้สำหรับการแสดงผล

ชื่อฟิลด์คำอธิบาย
idรหัสชื่อชั้นข้อมูล (Layer)
layoutการตั้งค่าด้านการแสดงผล
  • visible : แสดงผล
  • none : ซ่อน
  • maxzoomระดับซูมสูงสุดที่ชั้นข้อมูลแสดงผล
    minzoomระดับซูมต่ำสุดที่ชั้นข้อมูลแสดงผล
    paintการกำหนดสไตล์ของชั้น เช่น สี ขอบ ความโปร่งแสง เป็นต้น
    sourceรหัสหรือชื่อแหล่งข้อมูล เช่น vector tile, geojson ฯลฯ
    source-layerชื่อของชั้นข้อมูลย่อยภายใน Vector Tiles
    typeประเภทชั้นข้อมูล
  • circle : จุดวงกลม
  • line : เส้น
  • symbol : สัญลักษณ์
  • fill : พื้นที่
  • fill-extrusion : พื้นที่ยกความสูง
  • heat-map : พื้นที่ยกความสูง
  • {
    "id": "layer_id",
    "layout": {
    "visibility": "visible"
    },
    "maxzoom": 22,
    "metadata": {
    "vallaris:group": "Group-example"
    },
    "minzoom": 0,
    "paint": {...},
    "source": "66ee393eae78b6d2972e1cc6",
    "source-layer": "66ee393eae78b6d2972e1cc6",
    "type": "fill"
    }

    ขั้นตอนการสร้างคำอธิบายข้อมูล (Matadata)​

    1. เลือกชั้นข้อมูล (Layer) ที่ต้องการสร้างข้อมูลเพิ่มเติม จะแสดงหน้าต่างสำหรับแก้ไขด้านขวามือ
    2. เลือกแท็บ "ตั้งค่า" และเลือกเมนู "คำอธิบายชุดข้อมูล"
    3. คลิกปุ่ม "เพิ่มคีย์" จะปรากฏว่าหน้าต่างสำหรับระบุชื่อ "ฟิลด์" และ "ค่าข้อมูล"
    4. คลิกปุ่ม "บันทึก" เพื่อเพิ่มข้อมูลเพิ่มเติม (Metadata)
    info

    คำอธิบายชั้นข้อมูล (Layer Metadata) ไม่ส่งผลต่อการแสดงผลของแผนที่โดยตรง แต่สามารถนำไปใช้ในงานพัฒนา เช่น การจัดกลุ่ม หรือแสดงคำอธิบายชั้นข้อมูลในเว็บแอปพลิเคชัน