[Update] การแปลงพิกัดจาก GPS เป็นที่อยู่จริงด้วย Reverse Geocoding API | การแปลงพิกัด – Australia.xemloibaihat

การแปลงพิกัด: คุณกำลังดูกระทู้

ในปัจจุบันมีอุปกรณ์ที่สามารถบ่งบอกพิกัดตำแหน่งปัจจุบันของผู้ใช้ได้มากมาย เช่น 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 (อย่าลืมใส่คีย์ที่ลงทะเบียนไว้):

โดย 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 ไป โดยที่ตำแหน่งนี้ ไม่ได้อยู่บนถนนเป๊ะๆ ตามภาพ

หากนำตำแหน่งนี้ไปเข้า 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 ต่อเดือน โดยข้อมูลที่แปลงกลับมานั้น ลึกถึงระดับบ้านเลขที่หรือซอยเล็กๆ กันเลยทีเดียว ดูเพิ่มเติม

Facebook Notice for EU!
You need to login to view and post FB Comments!

[Update] โปรแกรมเมอร์ GPS ช่วยหน่อยครับ เรื่องการคำนวณหาระยะทางจากพิกัดGPS ครับ | การแปลงพิกัด – Australia.xemloibaihat

No. 5



stricken

โพสกระทู้ (
153 )

บทความ (
0 )

ยังไม่ได้อะครับ แต่ตอนนี้สามารถแปลงเป็นพิกัดของ google ได้แล้วครับ

พิกัดที่ 1 คือ 13.8622283333333, 100.534103333333
พิกัดที่ 2 คือ 13.8622633333333, 100.534011666667

ซึ่งเมื่อเอาไปใส่ใน google ได้ระยะทางประมาณ 7 เมตร

ซึ่งเอาไปคำนวณตามวิธีของคุณ Shadow[L] ผลก็ไม่ได้ 7 เมตรครับ

ผมเขียนโค้ด คุณ Shadow[L] ให้มา
แบบแรก
Code (VB.NET)

Dim Olat, Olong, a, c, d, R As Double
R = 6371 'Earth’s Radius
Olat = lat2 - lat1
Olong = long2 - long1
a = Pow((Sinh(Olat / 2)), 2) + (Cos(lat1) * Cos(lat2) * Pow(Sinh(Olong / 2), 2))
c = 2 * Atan2(Sqrt(a), Sqrt(1 - a))
d = R * c

แบบที่2
Code (VB.NET)

Dim d, R As Double
R = 6371
d = Acos(Sin(lat1) * Sin(lat2) + Cos(lat1) * Cos(lat2) * Cos(long2 - long1)) * R

2 แบบแรก ผลออก 27 กิโลนู้นครับ!!! คงผิดตรงไหนแน่ๆ -o-*

ผมก็ลองเอาพิกัด ไปใส่ใน เว็บ http://www.ig.utexas.edu/outreach/googleearth/latlong.htmlที่คุณ Shadow[L] ให้มา
ผลคือ

มันก็ไม่ตรงอยู่ดี แต่ก็ต่างกันแค่ 3 เมตร

มีวิธีที่แม่นยำกว่านี้มั้ยครับ

ปล. พิกัด 2 จุดใน comment นี้ คนละพิกัดกับข้างบนครับ

Date :
2011-01-19 16:28:48
By :
stricken



#2 การแปลงระบบพิกัด จากพิกัดฉาก เป็นพิกัดเชิงขั้ว #แคลคูลัส


ใครมีอะไรสงสัย​ หรืออยากจะให้ทำอะไรเพิ่มเติมทักfacebookส่วนตัวมาได้เลยนะ
Facebook​ส่วนตัว​ :นิวัฒน์​ สุวรรณ​ฤทธิ์
Facebook​ Page​ :พี่วัต​อยากสอน
https://www.facebook.com/profile.php?id=100001758935217

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

#2 การแปลงระบบพิกัด จากพิกัดฉาก เป็นพิกัดเชิงขั้ว #แคลคูลัส

แปลงพิกัด utm เป็น lat long


แปลงพิกัดutmเป็นlatlongแปลงพิกัดlatlongเป็นutm
credit : https://www.youtube.com/watch?v=rudh9yUZ_Co
credit : https://www.engineeringtoolbox.com/

แปลงพิกัด utm เป็น lat long

การนำเข้าข้อมูลค่าพิกัดจากโปรแกรม Excel เข้าสู่โปรแกรม QGIS 3.10


EP5 การนำเข้าข้อมูลค่าพิกัดจากโปรแกรม excel เข้าสู่ QGIS 3.10 ถือเป็นวิธีการขั้นพื้นฐานที่ผู้หัดใช้โปรแกรมทางด้านสารสนเทศทางภูมิศาสตร์ควรที่จะรู้และปฎิบัติได้อย่างรวดเร็วและถูกต้อง (ข้อมูลค่าพิกัดตำแหน่งต้องซ้อนทับกับพื้นที่ศึกษา)…
…จริง ๆ แล้ววิธีนี้การนำเข้าข้อมูลค่าพิกัดนั้นสามารถทำได้ทั้งในโปรแกรม ArcMap และโปรแกรม QGIS ในความคิดส่วนตัวผมนั้น มองว่า QGIS นั้นมีขั้นตอนการทำที่ง่ายกว่าและรองรับข้อมูลที่เป็นภาษาไทยได้ดีกว่า ArcMap
…ก็เหมือนเดิมค้าบผม หากคลิปนี้เป็นประโยชน์แก่ตัวท่านหรือเพื่อน ๆ ของท่าน ก็กดไลค์กดแชร์กันออกไปค้าบเพื่อเป็นกำลังใจในการทำคลิปสอนครั้งต่อไป

การนำเข้าข้อมูลค่าพิกัดจากโปรแกรม Excel เข้าสู่โปรแกรม QGIS 3.10

#1 การแปลงระบบพิกัด จากพิกัดเชิงขั้ว เป็นพิกัดฉาก #แคลคูลัส


ใครมีอะไรสงสัย​ หรืออยากจะให้ทำอะไรเพิ่มเติมทักfacebookส่วนตัวมาได้เลยนะ
Facebook​ส่วนตัว​ :นิวัฒน์​ สุวรรณ​ฤทธิ์
Facebook​ Page​ :พี่วัต​อยากสอน
https://www.facebook.com/profile.php?id=100001758935217

#1 การแปลงระบบพิกัด จากพิกัดเชิงขั้ว เป็นพิกัดฉาก #แคลคูลัส

วิธีการแปลงรหัส UTM ไปเป็นรหัส Geocode หรือละติจูด ลองติจูด เพื่อใช้กับ Google Map แบบทีละหลายๆพิกัด


วิธีการแปลง(convert) รหัส UTM coordinate ไปเป็นรหัส Geocode หรือละติจูด(latitude) ลองติจูด (longitude) เพื่อใช้กับ Google Map แบบทีละหลายๆพิกัด เว็บที่ใช้แปลงตามนี้ http://www.engineeringtoolbox.com/utmlatitudelongituded_1370.html

วิธีการแปลงรหัส UTM ไปเป็นรหัส Geocode หรือละติจูด ลองติจูด เพื่อใช้กับ Google Map แบบทีละหลายๆพิกัด

นอกจากการดูบทความนี้แล้ว คุณยังสามารถดูข้อมูลที่เป็นประโยชน์อื่นๆ อีกมากมายที่เราให้ไว้ที่นี่: ดูบทความเพิ่มเติมในหมวดหมู่Wiki

ขอบคุณที่รับชมกระทู้ครับ การแปลงพิกัด

Leave a Reply

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