Theppitak's blog

My personal blog.

08 มิถุนายน 2553

OSM Tidbits

เขียนถึง OpenStreetMap ไปสองตอนแล้ว (OpenStreetMap และ Meet OpenStreetMapper) ทำไป ๆ ก็พบเกร็ดเล็กเกร็ดน้อยเพิ่มขึ้น

  • เรื่องแรก ใครเล่น identi.ca อยู่ มีกลุ่มชื่อ openstreetmap สามารถ subscribe ได้ครับ จะได้แลกเปลี่ยนข้อมูลและความเห็นกับคนอื่น ๆ ที่ทำ OSM เหมือนกัน และหลายเรื่องที่เขียนใน blog นี้ ก็ได้มาจากกลุ่มนี้นี่แหละ
  • สำหรับคนที่ไม่มีอุปกรณ์ GPS หรือมี แต่โอกาสไม่เอื้ออำนวยให้ออกไปเก็บข้อมูล (โดยเฉพาะช่วงนี้หน้าฝน ติดฝนกันบ่อย หรือไม่ก็ fix ตำแหน่ง GPS ลำบาก) ก็ยังสามารถช่วยแก้ไขข้อมูลแผนที่ได้ โดย OSM จะมีเครื่องมือควบคุมคุณภาพคือ KeepRight ซึ่งจะคอยตรวจสอบหาจุดบกพร่องในข้อมูลแผนที่อยู่เรื่อย ๆ เช่น มีร้านขายยาที่ไม่มีชื่อ มีถนนที่ขาดลอยออกจากถนนอื่น (ที่ถูกแล้ว ถนนทุกเส้นบนพื้นดินควรจะเชื่อมถึงกันหมด) มีจุดที่ขาด tag บางอย่างไป ฯลฯ พวกนี้บางทีคนที่ลงพื้นที่เก็บข้อมูลก็เก็บมาไม่ครบหรือไม่สามารถหาข้อมูลได้ ถ้าคุณรู้ข้อมูล ก็สามารถเข้าไปช่วยเพิ่มได้ สำหรับผม ผมทำ bookmark สำหรับตัวเมืองขอนแก่น ไว้เลย เพราะกว่าจะเลื่อนแผนที่จากโตเกียวมาถึงได้มันช้าเอามาก ๆ
  • คุณ Willi2006 ฝากมาว่า เขาได้เสนอการจัด administrative level (ลำดับชั้นของการปกครอง) ของประเทศไทยเอาไว้ โดยไล่ลงมาจากประเทศไทย (Kingdom of Thailand), จังหวัด (Province), อำเภอ (District), ตำบล (Subdistrict), หมู่บ้าน (Village), ชุมชน (Community/Hamlet) โดยในระดับตำบลจะมี เทศบาล (Municipality) มาคาบเกี่ยว ถ้าใครมีอะไรเสนอแก้ไขหรือเพิ่มเติม ก็เข้าไปคุยกันที่ลิงก์ข้างต้นได้ครับ รายละเอียดของประเทศไทยจะรวบรวมไว้ที่ ฉบับร่างในวิกิ
  • นอกจากจะดูผ่านเว็บแล้ว บน GNOME ยังมีโปรแกรมดูแผนที่ OSM ชื่อ Emerillon อีกด้วย (มีใน Debian/Ubuntu apt-get ได้เลย)
  • ผมเคยเขียนถึง MapDroyd ไว้ใน blog ก่อน ว่าสามารถใช้ดูแผนที่ OSM แบบออฟไลน์บน Android ได้ แต่ปัญหาคือ ข้อมูลแผนที่จะค่อนข้างเก่า และเราไม่สามารถปรับข้อมูลได้เอง ต้องรอให้ทางผู้พัฒนาเตรียมข้อมูลให้ ก็เลยลองค้นหาตัวอื่นดู ก็ไปพบเครื่องมือชื่อ Mobile Atlas Creator สามารถดึงข้อมูลแผนที่ต่าง ๆ มาทำเป็นข้อมูลไว้ใช้แบบออฟไลน์บนมือถือได้ โดยรองรับแผนที่หลายแหล่ง ทั้ง OSM เอง ทั้ง Google Maps, Microsoft/Bing Maps และ Yahoo Maps ด้วย ดึงมาแล้วสามารถสร้างเป็นข้อมูลสำหรับโปรแกรมได้หลายตัว โดยตัวหนึ่งที่น่าสนใจที่ใช้ข้อมูลจากโปรแกรมนี้ได้คือ AndNav2 ผมจึงทดลองทำดู โดยมี คำอธิบาย ให้ที่วิกิของ AndNav ปรากฏว่าใช้การได้ดีครับ แต่ข้อเสียของวิธีนี้คือ ขนาดของข้อมูลจะใหญ่มากเมื่อเทียบกับของ MapDroyd เพราะ MapDroyd นั้นเขาบอกว่าใช้ฟอร์แมตพิเศษที่เรียกว่า MicroMap ซึ่งมีขนาดเล็ก เล็กไม่เล็กลองเทียบขนาดดู MapDroyd เก็บแผนที่ประเทศไทยทั้งประเทศรวมกับแผนที่โลกโดยรวมแบบไม่ลงรายละเอียดแล้ว ใช้เนื้อที่รวม 13 MB ในขณะที่ AndNav2 เก็บแค่แผนที่ตัวเมืองขอนแก่นเท่านั้น ก็ปาเข้าไป 74 MB แล้ว ลองเช็กข้อมูลดู เล่นเก็บข้อมูลเป็นบิตแมปของทุกมาตราส่วน ก็สมควรอยู่หรอก
  • อย่างไรก็ดี ก็ต้องบอกว่า AndNav2 ไม่ได้ออกแบบมาให้ใช้แบบออฟไลน์เหมือน MapDroyd แต่ก็ได้เตรียมการใช้งานแบบออฟไลน์สำหรับเส้นทางที่คำนวณแล้วได้

เสียดายจริงที่ช่วงนี้ติดฝน หรือไม่ก็ fix ตำแหน่ง GPS ลำบาก เลยไม่ค่อยได้ออกไปเก็บ track แต่ถึงกระนั้นก็ยังสามารถเล่นอย่างอื่นไปพลางได้

ป้ายกำกับ: , , ,

24 พฤษภาคม 2553

OpenStreetMap

กิจกรรมหนึ่งที่ DD ชวนกันทำระหว่างงาน Mini-DebCamp 2010 ก็คือ การช่วยกัน edit OpenStreetMap เวลาที่ออกไปข้างนอกกัน แหม.. มีกิจกรรมให้ contribute กันไม่เว้นแม้แต่เวลาเที่ยวเลยนะครับ

OpenStreetMap เป็นโครงการร่วมกันสร้างแผนที่ถนนในเมืองต่าง ๆ ทั่วโลก แล้วเผยแพร่ภายใต้ license Creative Commons Attribution-ShareAlike 2.0 (CC-BY-SA 2.0) โดยมีแนวคิดคล้ายกับ Wikipedia เพียงแต่เครื่องมือที่ใช้จะต่างไปจากการเขียนข้อความเท่านั้น

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

ผมเอง หลังจากที่ใช้โทรศัพท์มือถือจอขาวดำที่ได้รับบริจาคมาเป็นเวลาถึง 5 ปี จนแบตเสื่อม เสาอากาศหลุด สมุดโทรศัพท์พังกลายเป็นข้อมูลขยะไปแล้ว ก็ตัดสินใจก้าวกระโดดมาซื้อโทรศัพท์แอนดรอยด์ (hTC Tattoo) ในราคา 9,900 (โดยไม่ต้องเป็นนักศึกษา) ซึ่งยังถือว่าแพงสำหรับผม แต่มันก็ลดราคามามากแล้ว จาก 14,000 เลยหยวน ๆ โดยซื้อไปเมื่อก่อนงาน Mini-DebCamp จะเริ่มเล็กน้อย เครื่องนี้มี GPS แต่ก็ยังไม่พร้อมจะเริ่มทำ OpenStreetMap กับเขา เพราะเพิ่งจะหัดใช้ smart phone ได้ไม่กี่วัน แค่รับสาย-โทรออกเป็นก็บุญโขแล้ว

หลังจากหาข้อมูลสักพัก ลองเล่น Google Map ที่มากับ Android มันก็ต้องเชื่อมต่ออินเทอร์เน็ต พอออกไปนอกเมืองที่ไม่มีสัญญาณ EDGE/GPRS มันก็ไร้ประโยชน์โดยสิ้นเชิง จนมาเจอ MapDroyd จาก Android Market ที่สามารถดาวน์โหลดข้อมูล OpenStreetMap มาไว้ใช้แบบออฟไลน์ได้ ดูแล้วตัวนี้น่าจะมีประโยชน์กว่า ติดแต่ว่า ข้อมูลของ OpenStreetMap มันไม่ค่อยครบถ้วน แต่นั่นไม่ใช่ปัญหา เพราะเราสามารถช่วยกันเพิ่มได้ ผมสบายใจกับอิสระเสรีในการใช้ข้อมูลมากกว่า

แล้วจะแก้ไขข้อมูลอย่างไร? หน้าแรกที่จะเริ่มศึกษาข้อมูลก็คือ OpenStreetMap Wiki โดยเริ่มที่ Beginners' Guide โดยขั้นตอนหลัก ๆ คือ: เก็บ GPS track เป็น GPX, อัปโหลด GPX, แก้ไขแผนที่, เติมข้อมูล, สั่งวาดแผนที่

ซอฟต์แวร์ที่ใช้ในแต่ละขั้นตอนนั้น มีรวบรวมรายชื่อไว้ในหน้า Software โดยสำหรับอุปกรณ์ติดตามตัวก็มีให้ทั้ง Windows Mobile, iPhone และ Android แล้วก็มีเครื่องมือแก้ไขบนเดสก์ท็อปที่น่าสนใจสองตัว คือ JOSM และ Merkaartor (มีบน Debian ทั้งสองตัว)

ในที่นี้ขอเล่าเฉพาะตัวที่ผมได้ลองใช้มา

การเก็บข้อมูลด้วยโทรศัพท์ Android มีตัวเลือกหลายตัว แต่ที่ผมใช้เป็นประจำคือ OSM Tracker for Android เพราะสามารถเก็บ track พร้อมทั้งเพิ่ม POI (point of interest) ได้อย่างสะดวก ส่วนตัวอื่น ๆ เช่น GPS Logger for Android นั้น เก็บแต่ track อย่างเดียว เพิ่ม POI ไม่ได้

การแก้ไขแผนที่ เริ่มแรกผมใช้ Merkaartor ก่อน เป็นโปรแกรมที่ใช้ Qt เป็นฐาน หน้าจอสวยงามน่าใช้ แต่ต่อมาก็ได้รับคำแนะนำจาก Paul Wise ว่า ผู้เริ่มต้นควรเริ่มจาก JOSM จะดีกว่า ตัวนี้เป็นโปรแกรม Java อาจจะกินทรัพยากรมากกว่าก็จริง แต่มีฟีเจอร์ที่เป็น killer คือ preset ที่กำหนดเป็น template ไว้สำหรับเพิ่มข้อมูลประเภทต่าง ๆ พร้อมลิงก์ไปยังเอกสารประกอบบนเว็บอย่างครบครัน ในขณะที่ Merkaartor นั้น ผู้ใช้ต้องรู้จัก tag ต่าง ๆ พอสมควร เพราะมันให้เพิ่มเองหมด ได้ฟังอย่างนี้ก็เลยลอง แรก ๆ ก็สลับไปมาระหว่างสองตัว เพราะรู้สึกว่า Merkaartor มันให้ความรู้สึกเหมือนแก้แผนที่โดยตรงมากกว่า แต่พอใช้ JOSM ไปไม่นานก็คุ้นเคย แล้วก็เลยใช้แต่ JOSM อย่างเดียวมาตลอด

ช่วงกว่าอาทิตย์ที่ผ่านมา ผมเลยกำหนดเป็นกิจวัตรประจำวัน ที่จะออกไปสำรวจและเก็บ GPS track ทุกเย็นในละแวกบ้าน ถือเป็นการบังคับให้ตัวเองออกกำลังกายไปในตัว หรือบางทีออกไปธุระที่ไหนก็จะเก็บ GPS track ไปพร้อมกันด้วย แล้วก็กลับมา edit บนเครื่องที่บ้าน (ความจริงพอมีเครื่องมือแก้ไขแบบออนไลน์บนมือถืออยู่เหมือนกัน แต่ผมมันมนุษย์ออฟไลน์ครับ ไว้ให้มีคนออกค่า EDGE ให้ก่อนค่อยทำออนไลน์ เหอ ๆ)

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

ขณะเดียวกัน ผมก็เคยช่วยรายงานข้อผิดพลาดใน Longdo map มาบ้าง ระหว่างนี้ไปเก็บข้อมูลที่ไหนก็เลยพลอยได้รายงานปัญหาของ Longdo ควบคู่กันไปด้วย (แต่กว่าเขาจะแก้ให้ ก็คงใช้เวลาสักหน่อย)

มาช่วยกันทำ OpenStreetMap กันเถอะ นี่เป็น open content อีกรูปแบบหนึ่งที่เราจะช่วยกันเตรียมได้ ผมเตรียมข้อมูลละแวกบ้านผม ถ้าคุณมาเที่ยวแถวบ้านผมก็ใช้ข้อมูลได้ ผมไปเที่ยวบ้านคุณก็ได้ใช้ข้อมูลของคุณ แลกเปลี่ยนกันนะครับ :-)

ป้ายกำกับ: , , ,

hacker emblem