ตอนก่อนนี้ ผมเขียนโปรแกรมทดสอบไลบรารี GDAL/OGR ด้วยการเปิดไฟล์รูปแล้วอ่าน Metadata, ระบบพิกัด ตลอดจนแปลงฟอร์แม็ตของไฟล์รูป จะเห็นถึงความสามารถของไลบรารี ที่เตรียมฟังก์ชั่นทุกสิ่งทุกอย่างครอบคลุมด้าน Geospatial ไว้พร้อมสรรพ และไม่ต้องแปลกใจที่โปรแกรมดังๆ เช่น Google Earth, ArcGIS, Quantum GIS ต่างก็นำไปใช้ ดูชื่อโปรแกรมที่นำไลบรารีไปใช้ ที่นี่ และการดาวน์โหลดและการติดตั้งอ่านที่ blog ของผมได้ ที่นี่ ครั้งก่อนผมเขียนโปรแกรมสำหรับคำนวณแปลงค่าพิกัดระหว่าง UTM และ Geographic (Latitude/Longitude) ด้วยการดัดแปลงโค๊ดภาษา c++…
Category: Programming
การเขียนโปรแกรมทดสอบการใช้ไลบรารี 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…
แนะนำการใช้ฐานข้อมูล SQLite กับ Lazarus
ข้อดีของ SQLite พัฒนาโดย D. Richard Hipp ด้วยภาษา C จำนวนโค๊ดรวมๆแล้วประมาณสามหมื่นกว่าบรรทัด ซึ่งผู้พัฒนาได้รับคำชมว่าเป็นผู้ที่เข้าใจในวิทยาการด้านคอมพิวเตอร์อย่างลึกซึ้ง สำหรับ SQLite น่าจะเป็นฐานข้อมูลที่นิยมใช้กันมากที่สุดในโลก เนื่องจาก เล็ก เร็ว แรง และที่สำคัญมากคือ เสถียร และข้อดีอีกที่ไม่พูดไม่ได้คือ ฟรีและ cross-platform เป็นฐานข้อมูลที่จัดเก็บในไฟล์เดียว ไม่ต้องมีฝั่ง Server ไม่ต้องตั้งค่าใดๆให้ยุ่งยาก สามารถใช้ภาษาโปรแกรมได้เกือบทุกภาษาในโลกนี้ โดยเฉพาะ Lazarus จะมี component ที่ติดตั้งมาให้พร้อมใช้งานได้เลย…
การเขียนโปรแกรมเพื่อคำนวณระยะทางและอะซิมัท (Distance/Azimuth) บน Ellipsoid ด้วย Lazarus (ตอนที่ 2)
ตอนที่แล้วได้แนะนำสูตรที่จะใช้ในการคำนวณและแสดงยูนิต GeodesicCompute พร้อมทั้งยูนิต GeoEllipsoids ที่เคยแสดงไปแล้วเรื่องการแปลงค่าพิกัดระหว่าง UTM และ Geographic เปิด Lazarus คลิกที่เมนเมนู Project > New Project… คลิกเลือก Application คลิก OK ตั้งค่า Compiler Options ก่อน ผมขอย้ำอีกครั้งว่าเมื่อสร้าง Project ใหม่แล้วสิ่งแรกที่ต้องทำคือตั้ง Compiler Options ให้ตรงกับ Platform และ Widget…
การเขียนโปรแกรมเพื่อคำนวณระยะทางและอะซิมัท (Distance/Azimuth) บน Ellipsoid ด้วย Lazarus (ตอนที่ 1)
ตอนก่อนหน้านี้ ผมเขียนโปรแกรมแปลงพิกัดระหว่าง UTM และ Geographic (Lat/Long) และและถ้าไม่เขียนการหาระยะทางและอะซิมัท (เมื่อกำหนดจุด Latitude, Longitude ให้สองจุด) ก็ดูจะขาดอะไรไปอย่าง Model ที่ใช้ในการคำนวณ สัณฐานหรือรูปทรงที่ใช้แทนโลก ใช้กันอยู่ 2 แบบ คือ ทรงกลม(Spherical)และทรงรี(Ellipsoid) แต่ทรงรีจะใกล้เคียงกับกับโลกเรามากกว่า ดังนั้นการหาระยะทางและทิศทาง(อะซิมัท) บนทรงรีจะให้ความละเอียดถูกต้องมากกว่า การคำนวณระยะทางและอะซิมัทบนทรงกลมนั้นง่ายกว่าการคำนวณบนทรงรี การคำนวณระยะทางบนทรงกลมเช่นต้องการทราบระยะทางจากจุด A ไปจุด B เราจะใช้ plane คือแผ่นเรียบตัดผ่านจุด A…
การติดตั้ง Lazarus แบบ Subversion บน Windows
Blog ตอนก่อนผมเขียนเรื่องติดตั้ง lazarus แบบ subversion บน linux ละเอียดพอสมควร ติดค้างเรื่องติดตั้ง lazarus บนวินโดส์ และก็เหมือนเดิมผมยังแนะนำให้ใช้ subversion เหมือนบนลินุกซ์ จะได้ version ที่ update ตลอด ไม่ต้องห่วงเรื่อง bug แก้ไขได้เร็วพอสมควร เป้าหมายการติดตั้งของ lazarus แบบ subversion ของเราจะอยู่ที่ fpc 2.5.1 และ lazarus อยู่ที่เวอร์ชั่น…
ติดตั้ง Lazarus แบบ Subversion บน Linux อย่างไรให้สำเร็จ
ผมเชื่อว่าคงมีหลายท่านอยากจะใช้หรือทดลอง Lazarus ดู ส่วนใหญ่เลือกจะติดตั้งจาก package เช่น Debian หรือ RPM ซึ่งจะได้ version ใหม่กว่าการใช้ Synaptic อยู่เล็กน้อย แต่เมื่อใช้เปิดโปรแกรม lazarus มา load package (.lpk) เพิ่มเติม lazarus จะทำการ build ตัวเองใหม่ ส่วนใหญ่แล้วจะแป๊ก ซึ่งต้องตั้งค่าบางอย่างให้กับ lazarus จึงจะ compile & build…