ตอนที่แล้วผม post ตัวโค๊ดทั้งหมด มาดูคำอธิบายตรงสาระที่สำคัญ Declare ตัวแปรสำหรับ SQLite ที่ class ของ TfrmSetEllipsoid จะ declare เพื่อจัดการกับฐานข้อมูล SQLite ผม declare ทีส่วน private มีตัวแปร FDBCon, FSql, FTrans เป็นตัวแปรในระดับ Dataset ตัวแปร FDBCon อยู่ล่างสุดทำหน้าที่ชี้ไปยัง Database ส่วน FTrans ทำหน้าที่เรื่อง…
Category: Windows
การใช้ฐานข้อมูล SQLite กับ Lazarus ในเบื้องต้น (ตอนที่ 1)
ตอนก่อนหน้านี้ผมพูดเรื่อง SQLite พร้อมทั้ง tools สำหรับ admin ที่หาได้ในวินโดส์ พร้อมทั้งการ Pump ข้อมูลจากไฟล์ CSV เข้าฐานข้อมูล ต่อไปนี้จะมาดูลึกเข้าไปอีกนิด จะมาเขียนโปรแกรมเพื่อติดต่อกับฐานข้อมูล ด้วย Lazarus ปัญหาของการพัฒนาโปรแกรมฐานข้อมูล SQLite ด้วย Lazarus ก็คือถ้าใช้ object จำพวก Data-aware(แทนฟิลด์) เช่น DBNavigator, DBEdit, DBGrid เป็นต้นพวกนี้อิงอยู่กับ Datasource และ Datasource…
การสร้าง 3D Anaglyph ด้วย MicroDem
ตอนที่แล้วผม post การทำ animation (flyby) ด้วย 3Dem ซึ่งโปรแกรมได้หยุดพัฒนาไปแล้ว มาดู Tools ที่ฟรีตัวต่อไป ที่นำมาใช้งานด้าน GIS เป็นโปรแกรมรุ่นเก่าเหมือนกัน แต่ตัวนี้ยังพัฒนาต่อเนื่อง และ MicroDem นี้มี feature ที่แฝงอยู่เป็นจำนวนมาก แต่ข้อเสียของโปรแกรมนี้คือ ใช้งานยาก ถ้าไม่รู้ว่าอะไรอยู่ตรงไหน เวลาใช้งานครั้งแรกๆ จะหงุดหงิด พาลเลิกไปเลย คือมี icon ของฟังก์ชั่น เยอะไปหมด พอคลิกดูที่น่าใช่กลับไม่ใช่ คือวิจารณ์ข้อเสียของ…
การจำลองภาพเคลื่อนไหวมุมสูง (Flyby) 3D ด้วย Tools ฉบับกระเป๋า 3DEM
3Dem เป็นโปรแกรมขนาดเล็กมาก จะเรียกว่าฉบับกระเป๋าก็ได้ เขียนโดย Richard Horne ตอนนี้หยุดพัฒนาไปแล้วครับ ถึงจะหยุดพัฒนาไปแล้วแต่ก็ยังหา download ได้หลาย website เช่นที่นี่ 3dem_setup.exe โปรแกรม 3DEM เมื่อออกมาใหม่ๆเป็นที่กล่าวขานพอสมควร คือออกมานานมากตั้งแต่ Windows 95 นู่นครับ ใช้ OpenGL เป็น engine ในการ render เป็น 3D และแน่นอนสามารถจำลองเป็นภาพเคลื่อนไหว สามารถจัดเก็บเป็นฟอร์แม็ต avi และ…
แนะนำการใช้ฐานข้อมูล 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…
เทคนิคการใช้โปรแกรมแปลงค่าพิกัด GeoCalc
ใน Blog ของ WordPress ที่ผมเขียนอยู่หา Theme ที่ถูกใจยาก ไม่ใช่เรื่องความสวยงามแต่เป็นขนาดของคอลัมภ์ ส่วนใหญ่จะแคบมากพอวางรูปแล้วจะต้องย่อมากๆ และอีกเรื่องคือวาง source code แล้วจะโดนปัดบรรทัดลงทำให้ดู code ยาก งง ตอนนี้ก็เปลี่ยนไปเปลี่ยนมายังไม่ถูกใจสักที ผมเห็นคน search เข้ามาใน blog มากเรื่องการแปลงพิกัด บางคนมีแต่พิกัดยูทีเอ็ม ต้องการค่าพิกัดเป็น Lat/Long เพื่อไปจุดลง Google Earth แต่ไม่รู้จะใช้โปรแกรมอะไร คือโปรแกรมในอินเทอร์เน็ตมันมากเกินจนสับสน ไม่รู้จะเลือกอะไร สำหรับผมแล้ว…
การเขียนโปรแกรมเพื่อคำนวณระยะทางและอะซิมัท (Distance/Azimuth) บน Ellipsoid ด้วย Lazarus (ตอนที่ 1)
ตอนก่อนหน้านี้ ผมเขียนโปรแกรมแปลงพิกัดระหว่าง UTM และ Geographic (Lat/Long) และและถ้าไม่เขียนการหาระยะทางและอะซิมัท (เมื่อกำหนดจุด Latitude, Longitude ให้สองจุด) ก็ดูจะขาดอะไรไปอย่าง Model ที่ใช้ในการคำนวณ สัณฐานหรือรูปทรงที่ใช้แทนโลก ใช้กันอยู่ 2 แบบ คือ ทรงกลม(Spherical)และทรงรี(Ellipsoid) แต่ทรงรีจะใกล้เคียงกับกับโลกเรามากกว่า ดังนั้นการหาระยะทางและทิศทาง(อะซิมัท) บนทรงรีจะให้ความละเอียดถูกต้องมากกว่า การคำนวณระยะทางและอะซิมัทบนทรงกลมนั้นง่ายกว่าการคำนวณบนทรงรี การคำนวณระยะทางบนทรงกลมเช่นต้องการทราบระยะทางจากจุด A ไปจุด B เราจะใช้ plane คือแผ่นเรียบตัดผ่านจุด A…
การสร้าง (Create/Generate) DEM จาก DTM (3D Points) ด้วย Global Mapper
ตัว Global Mapper สำหรับความรู้สึกผมนั้นดูเรียบง่ายและทรงพลัง การสร้าง DEM (Digital Elevation Model) จากโปรแกรมดังๆอย่าง Erdas Imagine หรือ ArcGIS ยังดูยากไปนิด มาดูกันว่า Global Mapper นั้นเรียบง่ายเพียงใด Global Mapper V.10 ผมมีเหตูต้องศึกษาเรื่องน้ำที่แม่น้ำตะนาวศรี(Tanintharyi River) ชื่อน่าจะคุ้นคนไทยเรา หลักสูตรวิชาภูมิศาสตร์จะมีเทือกเขาตะนาวศรีคั่นไทยกับพม่าอยู่ และก็แม่น้ำที่ไหลเคียงข้างกับเทือกเขาตะนาวศรีด้านพม่าก็คือแม่น้ำตะนาวศรีนี้เอง คนพม่าเรียกแม่น้ำนี้ว่า ตาเน็นตายี่ ผมใช้ข้อมูลความสูง ซึ่งมีอยู่ 2…