ข้อมูลเชิงลึกสำหรับการจัดการเส้นทางจราจร: คำแนะนำในการเลือกเส้นทาง

รูปภาพ

เอกสารนี้มีแนวทางปฏิบัติแนะนำสำหรับการกำหนด SelectedRoutes โดยใช้ Road Selection API สำหรับผลิตภัณฑ์ Roads Management Insights (RMI) การกําหนด SelectedRoutes อย่างถูกต้องเป็นขั้นตอนที่สําคัญที่สุด เพื่อให้มั่นใจว่าคุณจะได้รับข้อมูลการเข้าชมที่ถูกต้องและเชื่อถือได้สําหรับ ส่วนถนนที่คุณต้องการตรวจสอบ ดูภาพรวมทางเทคนิคทั้งหมดได้ในเอกสารประกอบเกี่ยวกับ Road Selection API อย่างเป็นทางการ

หลักการสำคัญของการสร้างเส้นทางที่เลือก

เมื่อกำหนด SelectedRoute สำหรับการตรวจสอบ คุณควรปฏิบัติตามหลักการต่อไปนี้ เพื่อให้มั่นใจในความถูกต้องของ SelectedRoute และความถูกต้องของข้อมูล

1. เฉพาะเจาะจงสำหรับข้างถนน

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

2. จัดการถนนหลายชั้นและสะพานลอย

บนถนนที่ซับซ้อนซึ่งมีหลายระดับ (เช่น ทางหลวงซ้อนกัน สะพานลอย ทางแยกที่ซับซ้อน) พิกัดละติจูดและลองจิจูดคู่เดียวอาจไม่ชัดเจนและ อาจส่งผลให้ระบบ "สแนป" เส้นทางไปยังระดับที่ไม่ถูกต้อง คุณควรใช้จุดอ้างอิงกลางเพื่อนำทางไปยังส่วนถนนและระดับที่ถูกต้องเพื่อป้องกันปัญหานี้ การเพิ่มจุดแวะพักอย่างน้อย 1 จุดจะช่วยให้ เส้นทางเป็นไปตามที่คุณต้องการ

3. กำหนดจุดเริ่มต้นและจุดสิ้นสุดที่ถูกต้อง

SelectedRoute จะเริ่มต้นหรือสิ้นสุดภายในอุโมงค์ไม่ได้ จุดต้นทางและจุดปลายทางของ SelectedRoute ควรอยู่ในที่โล่ง ระบบรองรับ SelectedRoutes ที่ วิ่งผ่านอุโมงค์ แต่ส่วนการตรวจสอบเองไม่สามารถเริ่มต้น หรือสิ้นสุดภายในอุโมงค์

รูปภาพ

4. กำหนดความยาวเส้นทางที่เหมาะสม

SelectedRoute มีความยืดหยุ่นและกำหนดได้ในหลายระดับ ดังนี้

  • เส้นทางสั้นๆ: SelectedRoute อาจสั้นเพียงช่วงตึกเดียว ซึ่งมีประโยชน์สำหรับการวิเคราะห์แบบละเอียดในเขตเมือง
  • เส้นทางที่สม่ำเสมอ: คุณสามารถกำหนด SelectedRoutes ที่มีระยะทางเท่ากัน (เช่น ทุกๆ 0.5 ไมล์) เพื่อให้การรายงานสอดคล้องกัน
  • เส้นทางยาว: SelectedRoute สามารถครอบคลุมถนนที่ยาวและต่อเนื่อง ซึ่งเหมาะอย่างยิ่งสำหรับการตรวจสอบทางหลวงทั้งสายหรือถนนสายหลัก ระหว่างทางแยกที่สำคัญ

เลือกความยาวของ SelectedRoute ที่ตรงกับความต้องการในการตรวจสอบและการวิเคราะห์ของคุณมากที่สุด

5. ระบุส่วนของถนนที่มีการแยกในแนวตั้ง (อุโมงค์ สะพานยกระดับ สะพาน ฯลฯ)

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

ในตัวอย่างนี้ที่บอสตันที่ 42.362347, -71.055935 มีอุโมงค์ขนาดใหญ่ ชื่อ Big Dig

รูปภาพ

เมื่อเราวางจุดอ้างอิงบนถนน แม้ว่าพิกัดทางภูมิศาสตร์ที่แน่นอนจะมีความคลาดเคลื่อนเพียงเล็กน้อย ก็อาจทำให้การคำนวณเส้นทางแตกต่างกันอย่างมาก ความละเอียดอ่อนในการวางจุดอ้างอิงนี้เป็นปัจจัยสำคัญในอัลกอริทึมการเลือก SelectedRoute

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

รูปภาพ

รูปภาพ

6.ถนนบางสายติดตามไม่ได้

คุณอาจติดตาม SelectedRoute ไม่ได้เสมอไป

  • นอกเหนือจาก "เขตอำนาจศาล" ที่จดทะเบียน
  • "สาธารณูปโภคบนท้องถนน" ต่ำ
    • ซึ่งอาจส่งผลให้การติดตามเปลี่ยนแปลงไปเมื่อเวลาผ่านไป

การตรวจสอบจะทำงานแบบไม่พร้อมกัน ⇒ ตรวจสอบว่า SelectedRoutes ที่ลงทะเบียนทั้งหมดผ่านการตรวจสอบนี้หรือไม่

แนวทางปฏิบัติแนะนำสำหรับคำจำกัดความ SelectedRoute

ทําตามแนวทางปฏิบัติแนะนำเหล่านี้เพื่อปรับปรุงคุณภาพของคำจำกัดความ SelectedRoute และข้อมูลที่ได้

ใช้จุดแวะพักกลางทาง (จุดกลาง)

แม้จะเป็นเส้นทางที่สั้นและดูเหมือนจะเรียบง่ายที่เลือกไว้ เราขอแนะนำอย่างยิ่งให้รวมจุดแวะพักกลางทางอย่างน้อย 1 จุด

  • เพราะเหตุใด
    • การกำหนดเส้นทางของคำแนะนำ: ช่วยให้ SelectedRoute เป็นไปตาม เส้นทางที่เฉพาะเจาะจงที่คุณต้องการ โดยเฉพาะอย่างยิ่งหากมีถนนทางเลือก ระหว่างต้นทางและปลายทาง
    • เปิดใช้ลูป: ต้องระบุเพื่อแสดงลูปหรือ SelectedRoutes แบบ "ไปกลับ" ที่ต้นทางและปลายทางเหมือนกันอย่างถูกต้อง
    • ปรับปรุงการตรวจหาการอ้อม: ยิ่งคุณระบุจุดอ้างอิงมากเท่าไร ระบบก็จะยิ่งตรวจหาและแจ้งจุดข้อมูลที่การเข้าชมอาจ เบี่ยงเบนจาก SelectedRoute ที่คุณต้องการได้ง่ายขึ้น
  • วิธีการ
    • คุณค้นหาจุดกึ่งกลางตาม SelectedRoute ที่ทราบได้โดยใช้ฟังก์ชันเชิงพื้นที่
    • ตัวอย่าง (BigQuery): ใช้ฟังก์ชัน ST_LINEINTERPOLATEPOINT
    • ตัวอย่าง (JavaScript): ใช้ฟังก์ชัน along จากไลบรารี Turf.js

จับคู่เส้นทางจากระบบภายนอก

หากคุณนำเข้าข้อมูลเส้นทางจาก GIS ภายนอกหรือระบบที่สร้างขึ้นบน เครือข่ายถนนอื่น พิกัดอาจไม่สอดคล้องกับเครือข่ายถนนของ Google อย่างสมบูรณ์ ซึ่งอาจส่งผลให้เกิด "เส้นทางที่ไม่ต้องการ"

  • วิธีแก้ไข
    1. ตรวจสอบข้างถนน: ก่อนอื่น ให้ตรวจสอบว่าต้นทางและจุดเริ่มต้นอยู่ข้างถนนที่ถูกต้อง
    2. การปักหมุดบนถนน: ใช้เมธอด Roads API v2 matchPath เพื่อ ปักหมุดข้อมูลเส้นทางที่มีอยู่บนเครือข่ายถนนของ Google
    3. ปรับและวาดใหม่ด้วยตนเอง: ปรับจุดอ้างอิงด้วยตนเองใน เครื่องมือให้ตรงกับถนนของ Google จากนั้นใช้เมธอด Routes API computeRoute (โดยตั้งค่าการจราจรเป็น "ไม่ทราบ") เพื่อสร้าง เส้นโพลีไลน์ที่สะอาดซึ่งเป็นไปตามเครือข่ายของ Google
    4. ติดตาม: ในกรณีที่จำเป็น ให้วางซ้อนข้อมูลบนเครือข่ายถนนของ Google ในเครื่องมือ GIS แล้วติดตามเส้นทางด้วยตนเองเพื่อสร้างจุดอ้างอิงใหม่

การทำความสะอาดและการตรวจสอบข้อมูล

ข้อมูลที่คุณได้รับใน BigQuery จะแสดงถึงสภาพแวดล้อมจริง คุณควร ใช้ขั้นตอนการล้างข้อมูลเพื่อกรองข้อมูลที่ไม่ได้แสดงถึง SelectedRoute หลัก

จัดการการอ้อม

Routes API ซึ่งขับเคลื่อน RMI จะพยายามแสดงเส้นทางที่ถูกต้องเสมอ หาก SelectedRoute ที่คุณต้องการถูกบล็อกหรือมีการจราจรหนาแน่นอย่างมาก API อาจแสดงเส้นทางที่อ้อมและเบี่ยงเบนจากจุดแวะพักกลางที่กำหนด ตัวอย่างเช่น หาก SelectedRoute ระบุเส้นทางจาก A -> B -> C การอ้อม อาจทำให้เส้นทางที่แสดงกลับมาเป็นเส้นทางจาก A -> C โดยตรง

ตัวอย่างเช่น หากเราวางแผนเส้นทางนี้ https://www.google.com/maps/dir/OR-213,+Oregon+City,+OR+97045/Caufield,+Oregon+City,+OR+97045/OR-213,+Oregon+City,+OR+97045/OR-213,+Oregon+City,+OR+97045/643+OR-213,+Oregon+City,+OR+97045/OR-213,+Oregon+City,+OR+97045/Oregon+City,+OR+97045/Washington+Dr,+Oregon+City,+OR+97045/@45.3754391,-122.5822044,15.2z/data=!4m50!4m49!1m5!1m1!1s0x549570b9f466b4a1:0x6390dd57f70701fd!2m2!1d-122.5787!2d45.3231933!1m5!1m1!1s0x549570ca19ded1b3:0xd28eaf8da19c4509!2m2!1d-122.5756369!2d45.3303343!1m5!1m1!1s0x549576c6b4992137:0xb6ed1e1848a8e2a5!2m2!1d-122.5841289!2d45.3640919!1m5!1m1!1s0x549576c0c48ee6f1:0x86497e036c5dd444!2m2!1d-122.5850086!2d45.3662193!1m5!1m1!1s0x549576bfbca6fa93:0xf6b573219354d3f!2m2!1d-122.5851045!2d45.3696112!1m5!1m1!1s0x549576be3782e5db:0xd0ea93d91e8a0792!2m2!1d-122.5857424!2d45.371047!1m5!1m1!1s0x5495769635216053:0x150f4a4f811b98d6!2m2!1d-122.5870571!2d45.3752342!1m5!1m1!1s0x54957697b928b269:0x2b114f280e6ab0f0!2m2!1d-122.5875209!2d45.3760557!3e0?entry=ttu&g_ep=EgoyMDI1MTAxMy4wIKXMDSoASAFQAw%3D%3D เราจะเห็นการอ้อมที่ยาวมาก ซึ่งอาจเกิดจากสภาพถนน แต่หากไม่แก้ไขอย่างระมัดระวัง อาจทำให้มีการเก็บรวบรวมข้อมูลที่ไม่ถูกต้อง

รูปภาพ

สำหรับ RMI บันทึกที่เปลี่ยนเส้นทางเหล่านี้มีประโยชน์น้อยกว่าเนื่องจากไม่ได้แสดง SelectedRoute ที่เฉพาะเจาะจงซึ่งคุณกำลังตรวจสอบ

  • การดำเนินการ: อย่าลบแถวเหล่านี้เพียงอย่างเดียว คุณควรแจ้งว่าไม่เหมาะสมเพื่อ วิเคราะห์เพื่อทำความเข้าใจว่าการอ้อมเกิดขึ้นเมื่อใดและเพราะเหตุใด
  • วิธีแจ้งว่ามีการอ้อมเส้นทาง: มี 2 วิธีหลักในการระบุการอ้อมเส้นทางโดยอัตโนมัติ
    1. จุดอ้างอิงไม่ตรงกัน: ตรวจสอบว่าเรขาคณิตของเส้นทางที่แสดง ไม่มีจุดอ้างอิงกลางทั้งหมดที่คุณระบุ
    2. ความคลาดเคลื่อนของระยะทาง: ตรวจสอบว่าdistanceของเส้นทางที่ส่งคืนแตกต่างจากระยะทางที่คาดไว้ของSelectedRouteอย่างมากหรือไม่ เกณฑ์ที่ใช้กันโดยทั่วไปคือความแตกต่าง 5%
  • ตัวอย่าง BigQuery สำหรับการแจ้งการอ้อม คุณสามารถรวมตาราง SelectedRoutes (ซึ่งมีระยะทางที่คาดไว้) กับตาราง RouteResponses และใช้คำสั่ง CASE เพื่อสร้างการแจ้งได้

การจัดการรูปทรงเรขาคณิต "MultiLineString"

ประเภทข้อมูล GEOGRAPHY ของ BigQuery มีข้อจำกัดคือไม่สามารถจัดเก็บ LineString เดียวที่ซ้อนทับกันเอง (เช่น การเลี้ยวกลับรูปตัวยู เส้นทางที่ซ้ำรอยเดิมเนื่องจากมีการอ้อม)

  • อาการ: เมื่อเกิดกรณีนี้ BigQuery จะบันทึกเรขาคณิตเป็น MultiLineString และอาจไม่มีบางส่วนของเส้นทาง
  • การดำเนินการ: คุณควรกรองระเบียนเหล่านี้จากการวิเคราะห์หลัก
    1. ตัวกรอง BigQuery: ใช้ WHERE ST_GEOMETRYTYPE(route_geometry) != "ST_MultiLineString"
  • วิธีแก้ไข
    1. หากการทับซ้อนเกิดจากการอ้อม ระบบจะกรองบันทึกออกได้ตามที่อธิบายไว้ข้างต้น
    2. หาก SelectedRoute ที่ต้องการมีการทับซ้อนกัน คุณควรระบุใหม่โดยแบ่ง SelectedRoute ออกเป็นออบเจ็กต์ SelectedRoute แยกกันอย่างน้อย 2 รายการ

การแปลงเขตเวลา

ข้อมูลการประทับเวลาทั้งหมดในการส่งออก RMI BigQuery จะแสดงในเวลาสากลเชิงพิกัด (UTC) สําหรับการรายงานหรือการวิเคราะห์ในเขตเวลาท้องถิ่น คุณควร แปลงการประทับเวลาเหล่านี้

  • ตัวอย่าง BigQuery สำหรับการแปลงเวลา: ใช้ฟังก์ชัน DATETIME และ TIMESTAMP เพื่อแปลงการประทับเวลา UTC เป็นเขตเวลาท้องถิ่นที่เฉพาะเจาะจง เช่น "America/Los_Angeles"

บทสรุป

การทำตามแนวทางปฏิบัติแนะนำที่ระบุไว้ในคู่มือนี้จะช่วยให้คุณมั่นใจได้ว่าคำจำกัดความของ SelectedRoute นั้นถูกต้องและมีประสิทธิภาพ ซึ่งจะนำไปสู่ข้อมูลการเข้าชมที่เชื่อถือได้และนำไปใช้ได้จริงจากผลิตภัณฑ์ข้อมูลเชิงลึกด้านการจัดการถนน การกำหนดเส้นทางอย่างเหมาะสม การจัดการรูปทรงถนนที่ซับซ้อน และการตรวจสอบความถูกต้องของข้อมูลที่ได้เป็นขั้นตอนสำคัญในการใช้ประโยชน์จากศักยภาพทั้งหมดของ RMI สำหรับความต้องการในการจัดการถนน

ผู้เขียน

Sarthak Gangopadhyay: Google Maps Devrel Naoya Moritani: Google Maps Devrel