ผมได้ติดตามเป็นแฟนของ beeware มาได้ประมาณร่วมๆจะสองปีแล้วครับ beeware เป็นแพล็ตฟอร์มพัฒนาโปรแกรมแบบ cross-platform ที่อ้างว่าสามารถพัฒนาโปรแกรมแบบ desktop ได้ทั้งวินโดส์ ลีนุกซ์และแมคโอเอส รวมไปถึงแอนดรอยด์และไอโอเอส ปกติผมใช้ PySide2 สำหรับโปรแกรมบนเดสค์ท็อปอยู่แล้วเลยไม่รู้สึกตื่นเต้นตรงที่สนับสนุนโปรแกรมบนเดสค์ท็อปเท่าไหร่นัก แต่สำหรับภาษาไพทอนที่จะไปใช้ได้แบบเนทีฟ (native) บนโทรศัพท์มือถือแอนดรอยด์และไอโอเอส ยอมรับว่าตื่นเต้นพอสมควร ความนิยมภาษาไพทอนในปัจจุบันเป็นที่นิยมมาก เป็นที่ได้รับการพิสูจน์แล้วว่าเรียนรู้ง่าย ทรงพลัง โดยเฉพาะในด้าน data science และ machine learning ตลอดจนปัญญาประดิษฐ์ (AI) เนื่องจากมีไลบรารีมากมายให้เลือกใช้ในด้านนี้เช่น numpy, pandas…
Tag: cross-platform
เริ่มต้น Python ด้วย PySide2 + Miniconda + PyCharm
ขอนำเสนอวิธีการติดตั้งในเบื้องต้นเพื่อใช้ PySide2 สำหรับผู้ที่เริ่มต้นศึกษาเขียนไพทอน บางครั้งไม่รู้จะเริ่มต้นตรงไหน ผมจะขอแนะนำสามสหายที่จะมาช่วยทำให้ชีวิตง่ายขึ้น PySide2 อยู่ระหว่างการพัฒนาจากเจ้าของ Qt framework เองจึงไม่ต้องห่วงว่าโครงการจะล้มลาเลิกร้างกันก่อน ฟรีและมีสัญญาอนุญาตแบบ LPGL v2 สามารถพัฒนาโปรแกรมเพื่อการค้าได้ รุ่นเสถียรอีกไม่นานนักน่าจะออกมาแล้ว Miniconda3 เป็นส่วนหนึ่งของ Anaconda ซึ่งเป็นเฟรมเวิร์คสำหรับการทำ data science สำหรับภาษาไพทอน ส่วน Miniconda เป็นตัวจัดสภาพแวดล้อมให้ไพทอน เช่นถ้าต้องการพัฒนาโปรแกรมให้สามารถรันได้ทั้ง 32 บิตและ 64 บิต ก็ต้องตัวนี้เลย สามารถเลือกรุ่นของ Python ได้ด้วย…
หนทางข้างหน้าของ Traverse Pro ที่พัฒนาด้วย Lazarus (ตอนที่ 2)
พัฒนาและปรับปรุงต่อ ก็ต่อจากตอนที่ 1 ตอนนี้ผมปรับมาเป็นรุ่น 2.0.1 built 5727 พยายามโค๊ดเท่าที่เวลาเอื้ออำนวยครับ ปรับเรื่องตัวหนังสือภาษาไทยและเรื่อง print preview ปัญหาของตัวหนังสือ Unicode หลังจาก update โปรแกรมมาได้พักหนึ่ง ผมก็พบกับปัญหา 2 เรื่องคือเรื่อง Unicode กับ Meta file (สำหรับการแสดง Print Preview) เรื่องแรกเนื่องจากเดิมโปรแกรมอยู่บน Delphi ตัวหนังสือที่เห็นบนโปรแกรมทั้งหมดเป็น Ascii เมื่อโปรแกรมมาอยู่บน Lazarus…
หนทางข้างหน้าของ Traverse Pro ที่พัฒนาด้วย Lazarus (ตอนที่ 1)
ทำไมต้องพัฒนาและปรับปรุง โปรแกรมคำนวณวงรอบ (Traverse Pro) สำหรับช่างสำรวจ/ช่างโยธา ที่ผม post ไว้ใน blog และเปิดให้ดาวน์โหลด ก็มีคนเข้ามาดูและดาวน์โหลดไปทดลองใช้กันพอสมควร ถ้าโปรแกรมจะมีประโยชน์บ้างก็ขอเป็นวิทยาทานให้กับช่างสำรวจ/ช่างโยธาในเมืองไทยเรา ผมใช้ Ubuntu อยู่หลายปีก็รู้สึกว่าชอบ ก็คงเหมือนแฟนๆ Ubuntu ท่านอื่นๆ ที่รัก Ubuntu ที่นี้ผมก็มีความรู้สึกว่าโปรแกรมที่ผมเคยพัฒนาไว้บนวินโดส์น่าจะนำมาใช้ได้ในลินุกซ์ Ubuntu จะใช้ wine ก็กระไรอยู่เคยลองแล้วมันรู้สึกว่าแปลกแยกใช้ได้ไม่เต็มฟีเจอร์ หลังจากไม่ได้ใช้ Delphi ในการพัฒนาโปรแกรมซึ่งก็ผ่านไปหลายปี จนมาพบกัน Lazarus ได้สัก 2-3…
การเขียนโปรแกรมคำนวณแปลงพิกัดระหว่าง Datum ด้วยไลบรารี GDAL/OGR (ตอนที่ 2)
รูปด้านล่างแสดงตัว object ที่วางลงบนฟอร์มประกอบด้วย 2 combobox เก็บ datum ซึ่งผมจำกัดไว้แค่เท่าที่ประเทศไทยใช้กัน ส่วนตัวอื่นๆ ก็ไม่มีอะไรมาก มี Textbox จำนวน 4 ตัวสำหรับให้ผู้ใช้โปรแกรมกรอกค่าพิกัดที่ต้องการแปลง และ Label จำนวน 4 ตัวเพื่อแสดงค่าพิกัดที่แปลงแล้ว และสุดท้ายคือมี Button จำนวน 2 ตัวเอาไว้แสดงระบบพิกัดที่ดูแล้วเข้าใจง่าย และเรียกรูปแบบการแสดงผลนี้ว่า Well Known Text (WKT) ระบบค่าพิกัดในรูปแบบ EPSG…
การเขียนโปรแกรมเพื่อคำนวณระยะทางและอะซิมัท (Distance/Azimuth) บน Ellipsoid ด้วย Lazarus (ตอนที่ 1)
ตอนก่อนหน้านี้ ผมเขียนโปรแกรมแปลงพิกัดระหว่าง UTM และ Geographic (Lat/Long) และและถ้าไม่เขียนการหาระยะทางและอะซิมัท (เมื่อกำหนดจุด Latitude, Longitude ให้สองจุด) ก็ดูจะขาดอะไรไปอย่าง Model ที่ใช้ในการคำนวณ สัณฐานหรือรูปทรงที่ใช้แทนโลก ใช้กันอยู่ 2 แบบ คือ ทรงกลม(Spherical)และทรงรี(Ellipsoid) แต่ทรงรีจะใกล้เคียงกับกับโลกเรามากกว่า ดังนั้นการหาระยะทางและทิศทาง(อะซิมัท) บนทรงรีจะให้ความละเอียดถูกต้องมากกว่า การคำนวณระยะทางและอะซิมัทบนทรงกลมนั้นง่ายกว่าการคำนวณบนทรงรี การคำนวณระยะทางบนทรงกลมเช่นต้องการทราบระยะทางจากจุด A ไปจุด B เราจะใช้ plane คือแผ่นเรียบตัดผ่านจุด A…
ติดตั้ง Lazarus แบบ Subversion บน Linux อย่างไรให้สำเร็จ
ผมเชื่อว่าคงมีหลายท่านอยากจะใช้หรือทดลอง Lazarus ดู ส่วนใหญ่เลือกจะติดตั้งจาก package เช่น Debian หรือ RPM ซึ่งจะได้ version ใหม่กว่าการใช้ Synaptic อยู่เล็กน้อย แต่เมื่อใช้เปิดโปรแกรม lazarus มา load package (.lpk) เพิ่มเติม lazarus จะทำการ build ตัวเองใหม่ ส่วนใหญ่แล้วจะแป๊ก ซึ่งต้องตั้งค่าบางอย่างให้กับ lazarus จึงจะ compile & build…
การเขียนโปรแกรมคำนวณการแปลงค่าพิกัดระหว่าง 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…
การเขียนโปรแกรมคำนวณการแปลงค่าพิกัดระหว่าง UTM Grid และ Geographic (Lat/Long) ด้วย Lazarus และ Delphi (ตอนที่ 2)
สูตรที่ใช้ในการคำนวณ ผมอ้างอิงมาจาก http://www.uwgb.edu/dutchs/UsefulData/UTMFormulas.htm เขียนโดย Steve Dutch กล่าวถึงสูตรที่นำมาใช้คำนวณแปลงค่าพิกัด โดยอ้างถึง U.S. Army Corps of Engineer และ USGS (U.S. Geological Survey Professional) ถ้าเป็นการแปลงจาก Lat/Long ไป UTM เอกสารของ U.S. Army Corps of Engineer ทำได้ดีกว่าชัดเจนกว่า แต่ถ้าเป็นการแปลงพิกัดจาก UTM…