วิธีการออกแบบและรังวัดโครงข่าย GNSS ฉบับคนเดินถนน (ตอนที่ 1)

ผมว่าในปัจจุบันนี้ ช่างสำรวจหรือวิศวกรสำรวจคงมีประสบการณ์การรังวัด GNSS ด้วยกันทุกคน โดยเฉพาะการรังวัดที่มีจำนวนหมุดมากกว่าสามหมุดขึ้นไป ก็ออกตัวตามชื่อบทความนะครับคือฉบับคนเดินถนน ไม่ใช่ฉบับผู้เชี่ยวชาญใดๆ เป็นแค่ end user คนหนึ่งกลั่นมาจากอ่านตำราและประมวลมาจากประสบการณ์ทำงานที่ลองผิดลองถูกและจากผิดพลาดของตัวผมเอง

ในการรังวัดโครงข่าย GNSS ในที่นี้จะมาขอเน้นเรื่องคาบการรังวัด (session), เส้นฐานอิสระ(independent baseline) และ เส้นฐานไม่อิสระ(dependent (trivial) baseline) คืออะไร แล้วเราจะออกแบบโครงข่ายอย่างไรให้ดีและแข็งแรง ตลอดจนถึงการคำนวณโครงข่ายให้ได้ผลลัพธ์ได้ความละเอียด (accuracy) ที่ดีที่สุด

รูปทรงโครงข่าย (Network Geometry) พื้นฐาน

โครงข่ายจะประกอบไปด้วยเส้นฐาน (Baseline) ต่อเชื่อมกัน พื้นฐานอย่างง่ายที่สุดคือมีหมุดอยู่สามตัว เส้นฐานจะต่อกันเป็นลักษณะสามเหลี่ยม การรังวัดในลักษณะนี้คือการนำเครื่อง GNSS สามตัวไปตั้งที่หมุดทำการรังวัดพร้อมๆกัน ในระยะช่วงเวลาหนึ่ง เรียกว่าหนึ่งคาบการทำงาน (1 session)

รูปทรงโครงข่าย GNSS ที่แข็งแรงก็เหมือนรูปทรงโครงข่ายสามเหลี่ยม (Triangulation) ในสมัยแต่ก่อนหรือเหมือนกับรูปทรงนั่งร้านในงานก่อสร้าง หรือโครงเหล็กสะพานที่ต่อกันเป็นสามเหลี่ยมล๊อคกันอย่างแน่นหนา

รูปที่ 1 รูปทรงโครงข่ายพื้นฐาน

การปรับปรุงโครงข่าย

ในกรณีรูปทรงโครงข่ายเป็นรูปทรงสามเหลี่ยมมาต่อกัน แต่จำนวนจุดต่อนั้นไม่พอทำให้โครงข่ายไม่แข็งแรง ด้งรูปล่างด้านซ้าย การปรับปรุงแก้ไขโดยการเพิ่มเส้นฐานเข้าไปดังรูปด้านล่างขวา โดยที่เส้นทึบหมายถึงไปรังวัด GNSS มาเพิ่ม ส่วนเส้นประอาจจะประเมินได้ว่าเป็นเส้นฐานไม่อิสระที่ไม่ต้องรังวัดมาเพิ่มก็ได้ ในหัวข้อต่อไปจะมาประเมินว่าเส้นฐานไหนคือเส้นฐานอิสระและไม่อิสระ

เส้นฐานอิสระ (Independent baseline) และเส้นฐานไม่อิสระ (Dependent baseline)

จำนวนเส้นฐานทั้งหมด = N * (N – 1) / 2, จำนวนเส้นฐานอิสระ = N – 1 โดยที่ N คือจำนวนเครื่องรับ GNSS ใน session นั้น ดังนั้นที่ผมพูดไปแล้วว่ามีเครื่อง GNSS จำนวน 3 ตัว คำนวณจำนวนเส้นฐานทั้งหมด = 3 * (3 – 1) / 2 = 3 เส้นฐาน และจำนวนเส้นฐานอิสระ = 3 – 1 = 2 เส้นฐาน

รูปที่ 3 แสดงเส้นฐานทั้งหมดของรูปทรงสามเหลี่ยม

ดังนั้นสามเส้นจะมีเส้นหนึ่งที่เป็น dependent (trivial) baseline และอีกสองเส้นเป็น independent baseline คือจะเป็นรูปเปิดไม่เป็นรูปปิด ดังนั้นการคำนวณจะเอาไปคำนวณเพียงสองเส้นเท่านั้น ที่ไม่เอามาใช้ทั้งสามเส้นเพราะเส้นที่สามคือเส้นฐานที่ไม่อิสระจะสัมพันธ์กับข้อมูลสองเส้นหน้านี้ ภาษาอังกฤษใช้คำว่า correlate และถ้าใช้ทั้งสามเส้น เนื่องจากใช้ข้อมูลชุดเดียวกันจะทำให้เกิด loop ที่มีค่าเข้าบรรจบเป็นศูนย์ ทำให้ loop closure ดูดีกว่าความเป็นจริง

แล้วคำถามคือสองเส้นไหนที่เป็นเส้นฐานอิสระและอีกเส้นที่ไม่อิสระ คำตอบคือมีทุกความเป็นไปได้ ในการคำนวณปรับแก้โครงข่าย (Network Adjustment) อาจจะต้องมีการลองผิดลองถูกว่าแบบไหนออกมาดีที่สุด

ในกรณีมีเครื่อง GNSS 4 เครื่อง รังวัดหนึ่ง session บนหมุด 4 หมุด ดังนั้นจำนวนเส้นฐานทั้งหมด = 4 * (4 – 1) / 2 = 6 เส้นฐาน จำนวนเส้นฐานอิสระ = 4 – 1 = 3 เส้นฐาน

รูปที่ 5 แสดงเส้นฐานทั้งหมดของรูปทรงสี่เหลี่ยม

ความน่าจะเป็นของเส้นฐานอิสระทั้งหมดมี 16 รูปแบบ แต่ละรูปแบบจะมีเส้นฐานอิสระจำนวน 3 เส้นเท่านั้นที่จะนำไปคำนวณ (Network Adjustment) สัญลักษณ์เส้นฐานอิสระเป็นเส้นทึบ เส้นฐานไม่อิสระแสดงเป็นเส้นประ

รูปที่ 6 แสดงเครื่องรับสัญญาน GNSS จำนวน 4 ตัวตั้งบนหมุด 4 ตัวกับความน่าจะเป็นของเส้นฐานอิสระทั้งหมดจำนวน 16 รูปแบบ

ตัวอย่างการเลือกเส้นฐานอิสระ

สมมุติการรังวัดใช้หมุด CORS เป็นฐานจำนวน 4 หมุด และใช้เครื่องรับสัญญาน GNSS จำนวน 6 เครื่อง ตั้งรังวัดบนหมุด PM1-PM6 พร้อมๆกันในระยะช่วงเวลาหนึ่ง

จำนวนเครื่องรับ GNSS ของ CORS 4 เครื่อง รวมกับเครื่องรับ GNSS บนหมุด PM1-PM6 จำนวน 6 เครื่อง (N) เท่ากับ 10 เครื่อง จำนวนเส้นฐานทั้งหมด = N*(N-1)/2 = 10*(10-1)/2 = 45 เส้น

รูปที่ 7 แสดงเส้นฐานทั้งหมดต่อการวัดหนึ่งคาบ

จำนวนเส้นฐานอิสระ = (N-1) = (10-1) = 9 เส้น

รูปที่ 8 แสดงเส้นฐานอิสระ (independent baselines) ต่อการวัดหนึ่งคาบ

หลักการเลือกเส้นฐานอิสระจะเลือกจากเส้นฐานที่สั้นที่สุดก่อน ดังนั้นเส้นที่สั้นที่สุดจะเป็นเส้นตรงที่เชื่อมหมุด PM1-PM6 จำนวน 5 เส้น แล้วเลือกเส้นที่โยงจากหมุด CORS เข้ามาหาหมุดที่ทำการรังวัด จะได้ CORS1-PM1, CORS2-PM5, CORS3-PM2 และ CORS4-PM6 จำนวน 4 เส้น รวมกันทั้งหมด 9 เส้นก็จะเป็นตัวแทนเส้นฐานอิสระ ส่วนเส้นที่เหลือจำทำการ disabled ในโปรแกรมประมวลผล เรียกเส้นที่เหลือนี้ว่าเส้นฐานไม่อิสระ (dependent baseline)

ถ้าสังเกตุดูเส้นฐานอิสระแสดงด้วยเส้นสีแดงจะเห็นว่ายังไม่มีรูปร่างที่เป็นวงปิด (loop) เลย

การเพิ่ม Redundancy เพื่อตรวจสอบคุณภาพโครงข่าย (Loop Closure)

จากรูปด้านบนในงานรังวัดใช้หมุด CORS 4 หมุดและหมุดที่จะทำการรังวัด 6 หมุด PM1-PM6 จะเห็นถ้าตั้งรังวัดแค่หนึ่งคาบหรือ 1 session ปัญหาที่เกิดขึ้นจะไม่มี loop closure ให้ไว้ตรวจสอบคุณภาพโครงข่าย วิธีแก้ไขคือตั้งวัดใหม่อีกหนึ่งคาบ โดยที่ยกขาตั้งกล้องแล้วตั้งใหม่ที่หมุด PM1-PM6 การรังวัดใหม่อีกครั้งเรียกวิธีการแบบนี้ว่า Dual sessions สุดท้ายจะได้เส้นฐานอิสระทั้งหมดจำนวน = 9 + 9 = 18 เส้น ประกอบเป็น loop closure จำนวน 6 วงดังรูปด้านล่าง โดยแต่ละวงต้องประกอบด้วยเส้นฐานอิสระจากการวัดแต่ละคาบอย่างน้อย 2 คาบ (ความเป็นไปได้ของเส้นฐานอิสระอาจจะแตกต่างจากนี้ขี้นอยู่กับ trial and error แล้วได้ค่าที่ดีกว่า)

รูปที่ 9 แสดงการรังวัด GNSS แบบ Dual sessions

การออกแบบโครงข่าย GNSS

ในกรณีหมุดที่ต้องการรังวัด มีมากกว่าเครื่องรับ GNSS จะต้องมีการรังวัดมากกว่า 1 session การรังวัดเพิ่มจำนวนคาบการวัด จะทำให้โครงข่ายแข็งแรงแต่ก็จะแลกมากับค่าใช้จ่ายและเวลา นอกจากนั้นการวัดโดยเพิ่มคาบการวัด จะได้ส่วนเกินออกมา (Redundancy) สามารถนำไปคำนวณ Loop closure ได้ และสำคัญมากใน 1 loop นั้นจะต้องประกอบไปด้วยเส้นฐานมากกว่า 1 session ขึ้นไป (ถ้ารังวัดคาบเดียวกันเดียวแล้วไม่เอาเส้นฐานไม่อิสระออกจะกลายเป็น loop ค่าบรรจบที่ได้จะเป็นศูนย์ คือจะดีกว่าความเป็นจริงเพราะเป็นข้อมูลชุดเดียวกัน) นอกจากนั้น Redundant ยังช่วยเรื่อง Network adjustment ในภายหลังด้วย ผมจะลำดับการคำนวณให้ก่อน โดยที่ขั้นตอนการคำนวณมีดังนี้

  1. ประมวลผลเส้นฐาน (Baseline Processing)
  2. ประมวลผลการเข้าบรรจบตัวเอง (Loop Closure)
  3. ประมวลผลปรับแก้โครงข่าย (Network Adjustment)

ตัวอย่างที่ผ่านมาผมแสดงตัวอย่างว่าจำนวนเครื่องรับสัญญาน GNSS มีเท่าจำนวนหมุด เพื่อแสดงการหาเส้นฐานอิสระและเส้นฐานไม่อิสระ ในความเป็นจริงจำนวนหมุดอาจจะมีมากกว่าจำนวนเครื่องรับสัญญาน ทำให้ต้องออกแบบโครงข่าย GNSS เพื่อจะนำมาทำการรังวัด

โจทย์ที่ 1 มีโครงข่ายหมุดที่ต้องการรังวัดโดยกำหนดให้หมุด C และ E เป็นหมุดหลักฐานของโครงการที่มีค่าพิกัดและระดับ ต้องการรังวัดหมุด A, B, D, F, G, H โดยเชื่อมโยงเป็นโครงข่ายกับหมุดหลักฐาน C และ E รวมจำนวนหมุดทั้งหมด 8 หมุด และมีเครื่องรับสัญญาณ GNSS จำนวน 4 เครื่อง โดยที่กำหนดให้แต่ละหมุดต้องมีการตั้งเครื่องรับสัญญาน GNSS 2 ครั้

รูปที่ 10 แสดงหมุดหลักฐานที่ต้องการรังวัดโครงข่าย GNSS

การออกแบบโครงข่ายกรณีมีเครื่องรับสัญญาน GNSS จำนวน 4 เครื่อง

ตามที่ผมได้บอกไปแล้ว ความน่าจะเป็นของเส้นฐานอิสระที่จำนวนเครื่องรับสัญญาน GNSS 4 เครื่อง มีทั้งหมด 16 รูปแบบ ต่อการตั้งหนึ่งคาบ ดังนั้นความน่าจะเป็นของรูปแบบการตั้งบนหมุดจำนวน 8 หมุด ก็จะมากเป็นทวีคูน แต่หลักการเลือกเส้นฐานอิสระคือควรจะเป็นสั้นที่สุดก่อน ผมออกแบบโดยการลากเส้นได้ดังนี้

รูปที่ 11 แสดงการออกแบบโครงข่าย GNSS เมื่อใช้เครื่องรับสัญญาน GNSS จำนวน 4 เครื่อง

มีเครื่องรับสัญญาน GNSS (N) จำนวน 4 เครื่อง เส้นฐานทั้งหมดในแต่ละคาบ = N*(N-1)/2 = 4*(4-1)/2 = 6 เส้น จำนวนเส้นฐานอิสระ = (N-1) = (4-1) = 3 เส้นต่อคาบ

ผมลากเส้นฐานอิสระแต่ละคาบ สุดท้ายจะได้จำนวนคาบทั้งหมด 4 คาบ จำนวนเส้นฐานอิสระทั้งหมด = 4 * 3 = 12 เส้นฐาน โดยมีเงื่อนไขว่าแต่ละหมุดจะตั้งเพียง 2 ครั้งเท่านั้น (ผมเขียนจำนวนไว้เช่น 1+1)

คาบการวัด (sessions)

เส้นฐานอิสระ (Independent baselines)

1

D-A

A-B

B-C

2

A-E

E-C

C-F

3

B-F

F-H

H-G

4

D-G

G-E

E-H

การออกแบบโครงข่ายกรณีมีเครื่องรับสัญญาน GNSS จำนวน 3 เครื่อง

สมัยแต่ก่อนเครื่องรับสัญญาน GNSS ที่มีคุณภาพระดับ survey grade นั้นมีราคาหลักล้านบาทขึ้นไปต่อเครื่อง ใครมีเครื่องรับสัญญาน GNSS 3 เครื่องขึ้นไปก็นับว่าเป็นผู้มีฐานะดีพอสมควร มาสมัยนี้เครื่องรับสัญญาน GNSS มีราคาที่ถูกลงระดับหลักแสน การที่จะมีเครื่องรับสัญญาน GNSS ในสำนักงานเป็นสิบๆเครื่องจึงดูไม่แปลกนัก มาลองดูโจทย์เดียวกัน ถ้ามีเครื่องรับ 3 เครื่อง จะออกแบบโครงข่ายได้อย่างไร

รูปที่ 12 แสดงการออกแบบโครงข่าย GNSS เมื่อใช้เครื่องรับสัญญาน GNSS จำนวน 3 เครื่อง

มีเครื่องรับสัญญาน GNSS (N) จำนวน 3 เครื่อง เส้นฐานทั้งหมดในแต่ละคาบ = N*(N-1)/2 = 3*(3-1)/2 = 3 เส้น จำนวนเส้นฐานอิสระ = (N-1) = (3-1) = 2 เส้น

ผมลากเส้นฐานอิสระแต่ละคาบอาศัยรูปแบบจากเครื่องรับสัญญาน 4 เครื่อง แต่จำนวนคาบทั้งหมดจะเพิ่มขึ้นเป็น 6 คาบ จำนวนเส้นฐานอิสระทั้งหมด = 6 * 2 = 12 เส้นฐาน เงื่อนไขเหมือนเดิมว่าแต่ละหมุดจะตั้งเพียง 2 ครั้งเท่านั้น

คาบการวัด (sessions)

เส้นฐานอิสระ (Independent baselines)

1

B-A

A-D

2

A-E

E-C

3

C-B

B-F

4

C-F

F-H

5

E-H

H-G

6

D-G

G-E

การออกแบบโครงข่ายกรณีมีเครื่องรับสัญญาน GNSS จำนวน 2 เครื่อง

ในกรณีมีเครื่องรับสัญญาน GNSS แค่ 2 เครื่อง รับรองว่าการไปรังวัดในสนามจะใช้เวลามากภาษาชาวบ้านเรียกว่าโยกเครื่องจนเอวเคล็ด แต่มีประเด็นที่น่าสนใจเมื่อใช้เครื่องรับสัญญาน 2 เครื่องจะมีเรื่อง Redundancy มาให้วิเคราะห์ขบคิด

ในเบื้องต้นผมออกแบบโดยอาศัยเส้นฐานอิสระที่ใช้เครื่องรับสัญญาน GNSS 4 เครื่องมาเป็นต้นแบบ จำนวนคาบจาก 4 คาบการรังวัดจะกลายเป็นจำนวนคาบทั้งหมด 12 คาบเมื่อเครื่องรับสัญญานเหลือแค่ 2 เครื่อง (การแสดงผลอาศัยเส้นประมาช่วย เนื่องจากไม่สามารถใช้จำนวนสี 12 สี แยกด้วยสายตาบางสีใกล้เคียงกันมาก)

รูปที่ 13 แสดงการออกแบบโครงข่าย GNSS เมื่อใช้เครื่องรับสัญญาน GNSS จำนวน 2 เครื่อง

มีเครื่องรับสัญญาน GNSS (N) จำนวน 2 เครื่อง เส้นฐานทั้งหมดในแต่ละคาบ = N*(N-1)/2 = 2*(2-1)/2 = 1 เส้น จำนวนเส้นฐานอิสระ = (N-1) = (2-1) = 1 เส้น หมายเหตุไม่มีเส้นฐานไม่อิสระ

จำนวนเส้นฐานอิสระทั้งหมด = 12 * 1 = 12 เส้นฐาน สังเกตุว่าแต่ละหมุดจะตั้งมากกว่า 2 ครั้งขึ้นไป (มีเพียงหมุด D เท่านั้นที่ตั้ง 2 ครั้ง หมุด E ตั้งมากที่สุด 4 ครั้ง หมุด A, B ,C, F, G และ H ตั้ง 3 ครั้ง)

คาบการวัด (sessions)

เส้นฐานอิสระ (Independent baselines)

1

A-D

2

A-E

3

A-B

4

B-C

5

B-F

6

G-D

7

G-E

8

C-F

9

C-E

10

H-G

11

H-E

12

H-F

การรังวัดในสนามเมื่อมีเครื่องรับสัญญาน GNSS 2 เครื่อง สมมติว่าตั้งเครื่องรับที่ 1 ที่หมุด A คาบแรกตั้งเครื่องรับที่ 2 ที่หมุด D เมื่อรังวัดครบหนึ่งคาบจะได้เส้นฐานอิสระ A-D ต่อไปจะรังวัดเส้นฐานอิสระ A-E โดยการย้ายเครื่องที่ 2 ไปที่หมุด E แล้วหมุด A จะตั้งเครื่องรับที่ 1 แช่ต่อไปหรือจะมีการยกขาตั้งกล้องมาตั้งใหม่และวัดความสูง (re-centered, re-plumbed &H.I.) ผู้เชี่ยวชาญทั้งหลายแนะนำให้ยกขาตั้งกล้องตั้งกันใหม่ครับ เพื่อจะได้มี redundancy ไปคำนวณในลำดับต่อไป

ความผิดพลาดจากการวัดความสูงผิดนี่เป็นกันมาก บางสำนักให้ช่างสำรวจถ่ายรูปความสูงของตลับเมตรขณะทำการวัดไว้ด้วย สมมติว่าความสูง (HI) ของจุด A วัดผิดและตั้งเครื่องรับที่ 1 แช่ไว้ การย้ายเครื่องรับที่ 2 จากหมุด D ไปหมุด E และไปหมุด B เมื่อทำการคำนวณค่าบรรจบวง A-D-E แล ะA-E-B จะพบว่าไม่ผ่านทั้งสองวง ตรวจสอบยาก ดังนั้นการรังวัดแต่ละคาบการวัดในกรณีนี้การตั้งเครื่องรับที่จุด A ใหม่ทุกครั้งจึงเป็นสิ่งที่ควรทำ

รูปที่ 14 แสดงการวัดความสูงจานรับสัญญานเครื่องรับสัญญาน GNSS และถ่ายรูปไว้อ้างอิงกันการอ่านผิดพลาด

ดังนั้นข้อกำหนดที่ให้ตั้งเครื่องรับสัญญาน GNSS ที่หมุดมากกว่า 1 หนึ่งครั้งจึงเป็นข้อยกเว้นถ้าใช้เครื่องรับสัญญานแค่ 2 เครื่อง บางข้อกำหนด (specifications) นิยมกำหนดให้ redundancy เป็นเส้นฐานอิสระที่ซ้ำกันควบคู่ไปด้วย ตัวอย่างการรังวัดที่ผมแสดงให้ดูดังรูปที่ 9 แสดงเส้นฐานอิสระที่วัดซ้ำได้แก่ PM2-PM3, PM3-PM4 และ PM4-PM5 ซึ่งเป็นการวัดแบบ dual session

การออกแบบโครงข่ายกรณีมีเครื่องรับสัญญาน GNSS จำนวน 4 เครื่องและตั้งรังวัดที่หมุดมากกว่า 3 ครั้ง

จากโจทย์ที่ 1 ถ้าต้องการตั้งรังวัดที่หมุดมากกว่า 3 ครั้งขึ้นไป (More than triple occupations) ในที่นี้จำนวนเส้นฐานอิสระจะเพิ่มขึ้น จำนวนคาบการวัด (session) จะเพิ่มขึ้นเช่นเดียวกัน

รูปที่ 15 แสดงการออกแบบโครงข่าย GNSS เมื่อใช้เครื่องรับสัญญาน GNSS จำนวน 4 เครื่อง และรังวัดซ้ำที่หมุดมากกว่า 3 ครั้ง

มีเครื่องรับสัญญาน GNSS (N) จำนวน 4 เครื่อง เส้นฐานทั้งหมดในแต่ละคาบ = N*(N-1)/2 = 4*(4-1)/2 = 6 เส้น จำนวนเส้นฐานอิสระ = (N-1) = (4-1) = 3 เส้น

จำนวนเส้นฐานอิสระทั้งหมด = 6 * 3 = 18 เส้นฐาน สังเกตุว่าแต่ละหมุดจะตั้งมากกว่า 3 ครั้ง มีเพียงหมุด F เท่านั้นที่ตั้ง 4 ครั้ง และจะได้เส้นฐานอิสระที่ซ้ำมี redundancy คือเส้นฐานอิสระ B-F, D-E และ GH

คาบการวัด (sessions)

เส้นฐานอิสระ (Independent baselines)

1

B-F

F-H

H-G

2

A-B

B-C

C-F

3

D-G

G-E

E-H

4

A-D

D-E

E-C

5

D-E

E-A

A-C

6

B-F

F-G

G-H

โปรดติดตามกันตอนต่อไปจะเป็นการไปจะเป็นการ enable หรือ disable ในโปรแกรมประมวลผล จะใช้ Trimble Business Center เป็นกรณีศึกษา

7 thoughts on “วิธีการออกแบบและรังวัดโครงข่าย GNSS ฉบับคนเดินถนน (ตอนที่ 1)”

  1. ขอบคุณมากครับ รอตอน 2 เลยครับ

  2. ผมคิดว่า การทำ session อิสระ นอกจากจะไม่ทำให้ loop closure ดีกว่าความเป็นจริงแล้ว

    สิ่งที่คำนึงอีกอย่างคือ การคาลิเบรต tribrach/ plummet ด้วยครับ เพราะเคยเจอเคส ทำเท่าไรก็ไม่เข้าเพราะ

    การตั้งหลายครั้ง error random มากๆ เลยครับ

    1. อ่าใช่ครับ เป็นสิ่งจำเป็นที่ละเลยไม่ได้เลยครับ ใน check list ก่อนทำรังวัดต้องมีหัวข้อนี้ด้วย สำหรับการใช้ TBC ชัดเจนมากในการ settings หัวข้อ Standard errors ที่ต้องป้อนค่า instrument centering error อย่างผมป้อนตัวเลขไว้ที่ 0.002m เสมอ

Leave a Reply to Sor Cancel reply

Your email address will not be published. Required fields are marked *