API

การแปลงพิกัดจาก GPS เป็นที่อยู่จริงด้วย Reverse Geocoding API

ในปัจจุบันมีอุปกรณ์ที่สามารถบ่งบอกพิกัดตำแหน่งปัจจุบันของผู้ใช้ได้มากมาย เช่น Smartphone, Smartwatch, กล่อง GPS ที่ติดกับรถยนต์ และในอีกหลายอุปกรณ์ ซึ่งทุกครั้งที่เราเห็นข้อมูล ก็มักจะเป็น “พิกัดตำแหน่งบนแผนที่” หรือ “ที่อยู่ที่คนเข้าใจได้ – แขวงลุมพินี เขตปทุมวัน กรุงเทพมหานคร 10400” แต่ท่านรู้ไหมว่า สิ่งที่ได้จากอุปกรณ์ Hardware sensor เหล่านั้น อาจจะเป็นแค่พิกัดตัวเลขเท่านั้น เช่น 13.730947, 100.541747 ไม่ได้มีที่อยู่แบบสำเร็จรูปมาให้เลย แล้วเขาทำอย่างไรกันล่ะ?

เฉลยยย เขาเรียกกันว่า (Revese) Geocoding ครับ โดยหลักๆ จะแบ่งได้เป็น 2 แบบ

  • Geocoding คือ การแปลงที่อยู่จริงให้เป็นพิกัด (Converts human-addresses to coordinates.)
  • Reverse Geocoding คือ การแปลงจากพิกัดให้เป็นที่อยู่จริง (Converts coordinates to human-readable addresses.)

ตัวอย่างจากคู่มือพัฒนาระบบ ก็จะเห็นว่า พิกัดและชื่อที่อยู่สอดคล้องกัน

ภาพตัวอย่างการแปลงพิกัดจาก latitude, longitude มาเป็นชื่อที่อยู่ภาษาไทยได้

วิธีการเรียกใช้งาน

REST API (อย่าลืมใส่คีย์ที่ลงทะเบียนไว้):

https://api.longdo.com/map/services/address?lon=100.53726&lat=13.72427&noelevation=1&key=[YOUR-KEY-API]

โดย web service จะรับพิกัด latitude, longitude เพื่อคืนค่ากลับมาเป็น JSON Result ดังตัวอย่างด้านล่าง

// https://api.longdo.com/map/services/address?lon=100.53726&lat=13.72427&key=

{
   "geocode": "100402",
   "country": "ประเทศไทย",
   "province": "กรุงเทพมหานคร",
   "district": "เขตบางรัก",
   "subdistrict": "แขวงสีลม",
   "postcode": "10500",
   "aoi": "กรรณิการ์ คอร์ท",
   "road": "ถนนสาทรเหนือ",
   "road_lon": 100.537323,
   "road_lat": 13.724069
 }

ซึ่ง parameter การส่งและคำอธิบายผลลัพธ์มีอยู่ที่คู่มือพัฒนาระบบ

ต่อยอดโดยนำพิกัดไปหาเส้นถนนที่ใกล้ที่สุด (Snap to the road)

จากผลลัพธ์ข้างต้น ความดีงามของ web service นี้ คือเราสามารถประยุกต์ใช้แบบ “snap to the road” หรือการหาว่าพิกัดที่เรามีนั้น ใกล้ถนนเส้นไหนมาที่สุดนั่นเอง

เราส่งพิกัด 100.53726, 13.72427 ไป โดยที่ตำแหน่งนี้ ไม่ได้อยู่บนถนนเป๊ะๆ ตามภาพ

ทดลองค้นหาพิกัด 100.53726, 13.72427 ที่เว็บไซต์ https://map.longdo.com/

หากนำตำแหน่งนี้ไปเข้า Longdo Map Reverse geocoding จะได้รับพิกัดตามด้านล่างนี้เป็น response ประมาณนี้ครับ

   "road": "ถนนสาทรเหนือ",
   "road_lon": 100.537323,
   "road_lat": 13.724069

การประยุกต์ใช้

สามารถทำได้อย่างหลากหลายครับ ตัวอย่างเช่น

  • ธุรกิจติดตามรถยนต์ (GPS Company): นำค่าพิกัดที่ได้จากกล่อง GPS มาแปลงเป็นที่อยู่จริงเพื่อแสดงผลบน Web App หรือ Mobile App
  • ระบบ Check-in: ยิ่งสถานการณ์ที่ต้อง Work From Home ในหลายๆ องค์กรก็มีการพัฒนาระบบ Check-in Platform เพื่อให้พนักงานกดบันทึกตำแหน่ง และส่งค่าพิกัดไปแจ้งส่วนกลางเป็นที่อยู่จริงนั่นเอง

ยังมีเทคนิคอีกมากมายที่จะให้นักพัฒนาทุกท่านได้ศึกษา สามารถเข้าร่วมกลุ่ม Longdo Map API Community กันได้ที่นี่เลยครับ : ) https://www.facebook.com/groups/708165893234850

พบกันในบทความถัดไปครับ

หากนักพัฒนาหรือเจ้าของธุรกิจมีโจทย์เหล่านี้อยู่ ก็สามารถใช้ Longdo Map API เพื่อการแปลงพิกัดนี้ได้ฟรี! 100,000 service transactions ต่อเดือน โดยข้อมูลที่แปลงกลับมานั้น ลึกถึงระดับบ้านเลขที่หรือซอยเล็กๆ กันเลยทีเดียว ดูเพิ่มเติม