พัฒนาและปรับปรุงต่อ ก็ต่อจากตอนที่ 1 ตอนนี้ผมปรับมาเป็นรุ่น 2.0.1 built 5727 พยายามโค๊ดเท่าที่เวลาเอื้ออำนวยครับ ปรับเรื่องตัวหนังสือภาษาไทยและเรื่อง print preview ปัญหาของตัวหนังสือ Unicode หลังจาก update โปรแกรมมาได้พักหนึ่ง ผมก็พบกับปัญหา 2 เรื่องคือเรื่อง Unicode กับ Meta file (สำหรับการแสดง Print Preview) เรื่องแรกเนื่องจากเดิมโปรแกรมอยู่บน Delphi ตัวหนังสือที่เห็นบนโปรแกรมทั้งหมดเป็น Ascii เมื่อโปรแกรมมาอยู่บน Lazarus…
Category: Linux
หนทางข้างหน้าของ Traverse Pro ที่พัฒนาด้วย Lazarus (ตอนที่ 1)
ทำไมต้องพัฒนาและปรับปรุง โปรแกรมคำนวณวงรอบ (Traverse Pro) สำหรับช่างสำรวจ/ช่างโยธา ที่ผม post ไว้ใน blog และเปิดให้ดาวน์โหลด ก็มีคนเข้ามาดูและดาวน์โหลดไปทดลองใช้กันพอสมควร ถ้าโปรแกรมจะมีประโยชน์บ้างก็ขอเป็นวิทยาทานให้กับช่างสำรวจ/ช่างโยธาในเมืองไทยเรา ผมใช้ Ubuntu อยู่หลายปีก็รู้สึกว่าชอบ ก็คงเหมือนแฟนๆ Ubuntu ท่านอื่นๆ ที่รัก Ubuntu ที่นี้ผมก็มีความรู้สึกว่าโปรแกรมที่ผมเคยพัฒนาไว้บนวินโดส์น่าจะนำมาใช้ได้ในลินุกซ์ Ubuntu จะใช้ wine ก็กระไรอยู่เคยลองแล้วมันรู้สึกว่าแปลกแยกใช้ได้ไม่เต็มฟีเจอร์ หลังจากไม่ได้ใช้ Delphi ในการพัฒนาโปรแกรมซึ่งก็ผ่านไปหลายปี จนมาพบกัน Lazarus ได้สัก 2-3…
SAGA GIS สุดยอดโปรแกรมวิเคราะห์ Terrain
SAGA GIS (System for Automated Geoscientific Analyses) ดูชื่อโปรแกรมแล้วผมค่อนข้างงงเล็กๆ สำหรับชื่อ Geoscientific เปิดดิคไม่พบน่าจะเป็นการผสมกันระหว่าง Geo กับ Scientific รวมๆแล้วน่าจะว่าหมายถึง วิทยาศาสตร์ธรณ๊ รวมๆแล้วชื่อโปรแกรมน่าจะเป็นโปรแกรมวิเคราะห์ด้านวิทยาศาสตร์ธรณี อะไรประมาณนี้ สนใจเข้าไปดูได้ website ของผู้พัฒนา SAGA GIS โปรแกรมพัฒนาด้วย C++ ใช้ widget ของ WxWidget เป็นโปรแกรม opensource และ…
การสืบค้น (Query) ข้อมูลเชิงพื้นที่ด้วย Spatialite (ตอนที่ 1)
ตอนที่แล้วผมเสนอเรื่องการแปลงไฟล์ CSV เป็นข้อมูลเชิงพื้นที่ หรือเรียกกันว่า Spatial converter ฟีเจอร์ตัวนี้สามารถทำได้ง่ายๆในโปรแกรมด้าน GIS เช่น MapWindow (ข้อสำคัญคือในข้อมูล CSV นั้นต้องมีคอลัมน์ X, Y เก็บค่าพิกัดด้วย) แต่ใน spatialite ใช้คำสั่ง query เชิงพื้นที่สามารถทำให้ user ได้เข้าใจได้ลึกซึ้งกว่าใช้โปรแกรมสำเร็จรูป ซึ่งก็ไม่ได้ยากจนเกินไป มาดูตอนนี้ผมจะเสนอ การใช้ query ลึกเข้าไปอีกนิดเพื่อแสดงความสัมพันธ์ในเชิงพื้นที่ ระหว่างฐานข้อมูล 2 ตัว ดาวน์โหลดฐานข้อมูลตัวอย่าง…
แปลงข้อมูล CSV เป็นฐานข้อมูลเชิงพื้นที่ด้วย Spatialite
ข้อมูลทดสอบ เขียนเรื่อง spatialite มา 2-3 ตอนแล้ว มาดูในตอนนี้สมมติว่ามี text file ที่เป็นรูปแบบ csv คั่นฟิลด์หรือคอลัมน์ด้วยเครื่องหมายคอมมา (,) ในข้อมูลมีคอลัมน์ค่าพิกัด X และ Y ด้วย เราจะมาแปลงเป็นฐานข้อมูลของ spatialite ซึ่งสามารถ export เป็น shapefile ได้ถ้าต้องการ สนใจดาวน์โหลดข้อมูลมาทดลองได้ตามลิงค์นี้ landmark_n.zip ดาวน์โหลดโปรแกรม spatialite, spatialite-gui และ spatialite-gis…
การเขียนโปรแกรมต่อ GPS ด้วยคอมโพเน็นต์ OpenGPSX (ภาค 6 ตอนจบ)
เครื่องรับสัญญาณ GPS ที่จะนำมาทดสอบ คงจะเป็นตอนสุดท้ายแล้ว มาลองทดสอบด้วยอุปกรณ์จริงๆ เพื่อทดสอบการรับข้อมูลที่เป็น NMEA จากเครื่องรับ GPS ก่อนหน้านี้ผมเคยลองด้วย GPS Trimble 5700 ด้วยการใช้สาย Serial ต่อที่ Port 2 ของเครื่อง (เครื่องรุ่นนี้มีช่องต่ออยู่ 3 Port) ส่วน Port 1 ใช้โปรแกรม GPS Configuration ที่มากับเครื่อง set ให้ output…
การเขียนโปรแกรมต่อ GPS ด้วยคอมโพเน็นต์ OpenGPSX (ภาค 5)
ทดสอบ OpenGPSX บน Ubuntu มาลองทดสอบกันบน Ubuntu Lucid ก็เริ่มจากดาวน์โหลดคอมโพเน็นต์ มาก่อน ทำการติดตั้งเหมือนในวินโดส์ ที่ผมกล่าวไปแล้ว เนื่องจากโค้ดของ Lazarus เป็น cross-platform โค้ดที่ใช้ใน Windows ก็สามารถนำมาใช้ได้เลยใน Linux แต่ติดขัดตรงโปรแกรมที่จะใช้ทดสอบ ผมจะแยกเวอร์ชั่นวินโดส์และเวอร์ชั่น Linux เพราะฟอร์มที่สร้างในวินโดส์ ถ้านำมาใช้ใน Linux ตัวหนังสือ object ที่เราแปะลงฟอร์มเช่น Label, Edit จะใหญ่มากเพราะปัญหาเรื่อง Font…
การเขียนโปรแกรมต่อ GPS ด้วยคอมโพเน็นต์ OpenGPSX (ภาค 4)
OpenGPSX component on SourceForge ผมได้นำ component ตัวนี้ไปใส่ใน SourceForge.net เป็นที่เรียบร้อยแล้ว ถ้าต้องการตัวที่ update ก็ไปดาวน์โหลดกันได้เลยครับ หน้าตาของ OpenGPSX บน sourceforge ก็ประมาณดังรูปด้านล่าง จากตอนที่แล้วเราทำการแปะคอมโพเน็นต์ลงบนฟอร์ม เพื่อทดสอบอย่างง่าย ต่อไปจะเปิด project ของ Lazarus ที่ผมเขียนขึ้นเพื่อนำคอมโพเน็นต์มาใช้งาน สามารถดาวน์โหลดตามลิงค์นี้ opengpsproject.zip ก่อนจะเปิด project นี้ต้องติดตั้งตัวคอมโพเน็นต์ ที่ผมกล่าวไปแล้วในภาคที่ 3 ก่อนนะครับ…
การเขียนโปรแกรมต่อ GPS ด้วยคอมโพเน็นต์ OpenGPSX (ภาค 3)
ทำความเข้าใจเรื่อง Baud rate Blog ที่ผมเขียนเรื่องนี้คงจะมีหลายภาค ตอนนี้ภาค 3 จะมาเริ่มโปรแกรมมิ่งกัน เพื่อนำคอมโพเน็นต์ OpenGPSX มาใช้งาน ก่อนจะไปต่อผมขอพูดเกร็ดเล็กเกร็ดน้อย เกี่ยวกับเรื่อง Baud rate กับ NMEA บางประโยคเช่น $GPGSV การต่อเครื่อง GPS เข้ากับเครื่องคอมพิวเตอร์ผ่านทาง serial port คงจะคุ้นๆเรื่อง Baud rate เดิมทีก่อนหน้านี้ใช้ Baud rate 4800 b/s…
การเขียนโปรแกรมต่อ GPS ด้วยคอมโพเน็นต์ OpenGPSX (ภาค 2)
คอมโพเน็นต์ OpenGPSX Concept ของ component คือผู้พัฒนาโปรแกรมทั่วๆไปสามารถนำ component ของผมไปใช้งานได้ง่าย ใช้เวลาน้อย โดยไม่ต้องมีความรู้เรื่อง GPS มาก ผมเขียนคอมโพเน็นต์ตัวนี้ขึ้นมาเพราะผมใช้ GPS บ่อย ตั้งแต่เครื่องมือถือทั่วๆไปเช่น Garmin หรือบน Pocket PC ก็เคยใช้ จนกระทั่งเครื่อง GPS ระดับ Precise เช่น Trimble, Leica ที่มีสนนราคาเรือนล้านบาท ใช้งานใน mode เช่น…