คอมโพเน็นต์ OpenGPSX Concept ของ component คือผู้พัฒนาโปรแกรมทั่วๆไปสามารถนำ component ของผมไปใช้งานได้ง่าย ใช้เวลาน้อย โดยไม่ต้องมีความรู้เรื่อง GPS มาก ผมเขียนคอมโพเน็นต์ตัวนี้ขึ้นมาเพราะผมใช้ GPS บ่อย ตั้งแต่เครื่องมือถือทั่วๆไปเช่น Garmin หรือบน Pocket PC ก็เคยใช้ จนกระทั่งเครื่อง GPS ระดับ Precise เช่น Trimble, Leica ที่มีสนนราคาเรือนล้านบาท ใช้งานใน mode เช่น…
Category: Lazarus
การเขียนโปรแกรมต่อ GPS ด้วยคอมโพเน็นต์ OpenGPSX (ภาค 1)
ขออภัยที่เรื่อง “การเขียนโปรแกรมต่อ GPS ตอน NMEA Parser ด้วย Lazarus (ภาค 1)” ทิ้งช่วงไว้นาน ผมจะเขียนเนื้อเรื่องต่อแต่ขอเปลี่ยนชื่อเป็น “การเขียนโปรแกรมต่อ GPS ด้วยคอมโพเน็นต์ OpenGPSX (ภาค 1)” เพื่อให้สัมพันธ์กับคอมโพเน็นต์ที่ผมพัฒนาขึ้นมา ขอให้ทราบตามนี้ครับ การเขียนโปรแกรม Interface กับ GPS เป็นที่ทราบกันดีครับว่าเครื่อง GPS ในปัจจุบันใช้กันแพร่หลายมากจนเป็นเรื่องธรรมดา โดยเฉพาะทีฺ่ฮิตคือติดบนรถยนต์เพื่อนำทาง (Car Navigator) ในส่วนข่าวสาร ข้อมูลเกี่ยวกับเรื่อง…
การเขียนโปรแกรมคำนวณแปลงพิกัดระหว่าง Datum ด้วยไลบรารี GDAL/OGR (ตอนที่ 2)
รูปด้านล่างแสดงตัว object ที่วางลงบนฟอร์มประกอบด้วย 2 combobox เก็บ datum ซึ่งผมจำกัดไว้แค่เท่าที่ประเทศไทยใช้กัน ส่วนตัวอื่นๆ ก็ไม่มีอะไรมาก มี Textbox จำนวน 4 ตัวสำหรับให้ผู้ใช้โปรแกรมกรอกค่าพิกัดที่ต้องการแปลง และ Label จำนวน 4 ตัวเพื่อแสดงค่าพิกัดที่แปลงแล้ว และสุดท้ายคือมี Button จำนวน 2 ตัวเอาไว้แสดงระบบพิกัดที่ดูแล้วเข้าใจง่าย และเรียกรูปแบบการแสดงผลนี้ว่า Well Known Text (WKT) ระบบค่าพิกัดในรูปแบบ EPSG…
การเขียนโปรแกรมคำนวณแปลงพิกัดระหว่าง Datum ด้วยไลบรารี GDAL/OGR (ตอนที่ 1)
ตอนก่อนนี้ ผมเขียนโปรแกรมทดสอบไลบรารี GDAL/OGR ด้วยการเปิดไฟล์รูปแล้วอ่าน Metadata, ระบบพิกัด ตลอดจนแปลงฟอร์แม็ตของไฟล์รูป จะเห็นถึงความสามารถของไลบรารี ที่เตรียมฟังก์ชั่นทุกสิ่งทุกอย่างครอบคลุมด้าน Geospatial ไว้พร้อมสรรพ และไม่ต้องแปลกใจที่โปรแกรมดังๆ เช่น Google Earth, ArcGIS, Quantum GIS ต่างก็นำไปใช้ ดูชื่อโปรแกรมที่นำไลบรารีไปใช้ ที่นี่ และการดาวน์โหลดและการติดตั้งอ่านที่ blog ของผมได้ ที่นี่ ครั้งก่อนผมเขียนโปรแกรมสำหรับคำนวณแปลงค่าพิกัดระหว่าง UTM และ Geographic (Latitude/Longitude) ด้วยการดัดแปลงโค๊ดภาษา c++…
การเขียนโปรแกรมทดสอบการใช้ไลบรารี GDAL/OGR
ตอนก่อนผมแนะนำไลบรารี GDAL/OGR ไปพอสมควร ตอนนี้มาเริ่มลองโปรแกรมมิ่งดูกัน โปรแกรมทดสอบผมดัดแปลงจากโค๊ดภาษาซี เป็น Lazarus ดูรายละเอียดโค๊ดภาษาซีได้ที่นี่ http://www.gdal.org/gdal_tutorial.html ส่วนไลบรารีส่วนมากแปลงจาก VB6 Download sourcecode สนใจก็ดาวน์โหลดได้ที่นี่ GDALTest1.zip ไลบราีรีที่ผมเขียน wrapper มามีทั้งหมด 11 ไฟล์ มีไฟล์ gdal.pas, gdalcore.pas, ogr.pas, ogrcore.pas, gdaldriver.pas, gdaldrivermanager.pas, gdalrasterband.pas, gdaldataset.pas, ogrspatialreference.pas, ogrcoordinatetramsformation.pas, gdalcolortable.pas…
ปฐมบท “GDAL/OGR “ สุดยอดไลบรารีสำหรับการพัฒนาโปรแกรม GIS
ตอนก่อนๆผมเคยแนะนำ GDAL (Geospatial Data Abstraction Library) เป็น Library แบบ opensource ใช้จัดการอ่านและเขียนภาพ (Raster) ที่อ้างอิงกับระบบพิกัดภูมิศาสตร์ ไลบรารีพัฒนาด้วยภาษา glibc/glibc++ ส่วน OGR ก็เช่นเดียวกันเป็นส่วนหนึ่งของ GDAL แต่ใช้กับจัดการกับไฟล์ Vector GDAL/OGR เดิมที่ก่อนหน้าเวอร์ชั่น 1.3.2 พัฒนาโดย Frank Warmerdam ภายหลังโอนย้ายภาระกิจไปยังสมาคม GDAL/OGR Project Management ซึ่งอยู่ภายใต้…
การใช้ฐานข้อมูล SQLite กับ Lazarus ในเบื้องต้น (ตอนที่ 2)
ตอนที่แล้วผม post ตัวโค๊ดทั้งหมด มาดูคำอธิบายตรงสาระที่สำคัญ Declare ตัวแปรสำหรับ SQLite ที่ class ของ TfrmSetEllipsoid จะ declare เพื่อจัดการกับฐานข้อมูล SQLite ผม declare ทีส่วน private มีตัวแปร FDBCon, FSql, FTrans เป็นตัวแปรในระดับ Dataset ตัวแปร FDBCon อยู่ล่างสุดทำหน้าที่ชี้ไปยัง Database ส่วน FTrans ทำหน้าที่เรื่อง…
การใช้ฐานข้อมูล SQLite กับ Lazarus ในเบื้องต้น (ตอนที่ 1)
ตอนก่อนหน้านี้ผมพูดเรื่อง SQLite พร้อมทั้ง tools สำหรับ admin ที่หาได้ในวินโดส์ พร้อมทั้งการ Pump ข้อมูลจากไฟล์ CSV เข้าฐานข้อมูล ต่อไปนี้จะมาดูลึกเข้าไปอีกนิด จะมาเขียนโปรแกรมเพื่อติดต่อกับฐานข้อมูล ด้วย Lazarus ปัญหาของการพัฒนาโปรแกรมฐานข้อมูล SQLite ด้วย Lazarus ก็คือถ้าใช้ object จำพวก Data-aware(แทนฟิลด์) เช่น DBNavigator, DBEdit, DBGrid เป็นต้นพวกนี้อิงอยู่กับ Datasource และ Datasource…
การเขียนโปรแกรมเพื่อคำนวณระยะทางและอะซิมัท (Distance/Azimuth) บน Ellipsoid ด้วย Lazarus (ตอนที่ 2)
ตอนที่แล้วได้แนะนำสูตรที่จะใช้ในการคำนวณและแสดงยูนิต GeodesicCompute พร้อมทั้งยูนิต GeoEllipsoids ที่เคยแสดงไปแล้วเรื่องการแปลงค่าพิกัดระหว่าง UTM และ Geographic เปิด Lazarus คลิกที่เมนเมนู Project > New Project… คลิกเลือก Application คลิก OK ตั้งค่า Compiler Options ก่อน ผมขอย้ำอีกครั้งว่าเมื่อสร้าง Project ใหม่แล้วสิ่งแรกที่ต้องทำคือตั้ง Compiler Options ให้ตรงกับ Platform และ Widget…
การเขียนโปรแกรมคำนวณการแปลงค่าพิกัดระหว่าง UTM Grid และ Geographic (Lat/Long) ด้วย Lazarus และ Delphi (ตอนที่ 3)
จากตอนที่ 2 จะเห็นโค๊ดที่ผม post 2 unit คือ GeoEllipsoids.pas และ GeoCompute.pas ถ้าสนใจก็ copy ไปวางที่ Text Editor แล้ว Save ชื่อไฟล์ตามที่ผม เราจะเริ่มต้นสร้าง New Project บน Lazarus จากนั้น Add file “GeoEllipsoids.pas” และ “GeoCompute.pas” เข้ามาในโปรเจคใหม่ที่สร้างขึ้น ผมทิ้งท้ายเรื่องสร้างโปรเจคใหม่ในตอนที่ 1…