วันศุกร์ที่ 3 กุมภาพันธ์ พ.ศ. 2560

การคำนวณเนื้อที่ไร่ งาน และตารางวา ในโปรแกรม QGIS

1. create field rai ngan and sqrwa in QGIS
  * rai type integer length 5
  * ngan type integer length 5
  * sqrwa type double length 10,2
  
2. calculate field rai in QGIS

    floor($area/1600)

3. calculate field ngan in QGIS

    floor((($area/1600)-"rai")*4)
 
4. calculate field sqrwa in QGIS

     (((($area/1600)-"rai")*4)-"ngan")*100
 

Click to see: https://gist.github.com/chingchai/2ebde82a5544e70f678f5a8f4e703caf

วันพุธที่ 1 กุมภาพันธ์ พ.ศ. 2560

ติดตั้งปลั๊กอิน MapSwipe Tool ในโปรแกรม QGIS

_______สวัสดีครับ ห่างหายไปนานกับการเขียน blog มีอะไรหลายอย่างที่ต้องทำเต็มไปหมด เลยไม่ค่อยได้นั่งเขียนเลยครับ ถ้าท่านไหนที่ติดปัญหาเกี่ยวกับการใช้ QGIS ก็สามารถไปเข้าร่วมและสอบถามในกลุ่ม QGIS Thailand Community ได้นะครับ วันนี้ผมจะมาสอนติดตั้งปลั๊กอินตัวนึงที่ชื่อว่า "MapSwipe Tool" ซึ่งมีเพื่อนๆ ถามมาหลายท่านเลยว่าติดตั้งยังไง จริงๆ แล้วปลั๊กอินตัวนี้ก็สามารถติดตั้งได้ปกติทั่วไปครับ หรืออีกวิธีนึงก็ติดตั้งแบบออฟไลน์นั่นเอง

วิธีที่ 1 แบบปกติทั่วไป
1. ไปที่ เมนู Plugins >> Manage and Install Plugins...
2. จากนั้นให้ทำการ enable experimental plugins เนื่องจากว่าปลั๊กอินนี้อยู่ในระหว่างการพัฒนาและทดลอง โดยไปที่ Settings > และติกกากบากที่ Show also experimental plugins


3. จากนั้นก็สามารถติดตั้งไปปกติครับ


Note: ปลั๊กอินนี้ support QGIS version 2.8.0 ขึ้นไปครับ

วิธีที่ 2  แบบออฟไลน์ (ไม่รู้เรียกว่าอะไร เอาชื่อนี้ละกันนะครับ)
1. ไปดาวน์โหลด Source code ที่ https://plugins.qgis.org/plugins/mapswipetool_plugin/
2. เลือกแถบ Versions ดูว่าจะเอาเวอร์ชั่นไหน แล้วคลิกโหลดที่ตัวเลขของเวอร์ชั่นได้เลย (ส่วนตัวผมเอาล่าสุดเลยละกันครับ แต่ถ้ามันใช้งานไม่ได้ก็ถอยไปโหลดเวอร์ชั่นต่ำลงไปนะครับ)


3. เมื่อโหลดมาแล้วก็มาคลาย ZIP ไฟล์ แล้ว copy ทั้งโฟลเดอร์ไปวางไว้ที่ C:\Users\(ชื่อเครื่องเราเอง)\.qgis2\python\plugins ดังภาพครับ


4. ตัวอย่างการใช้งาน MapSwipe Tool



เขียนโดย: ชิงชัย หุมห้อง (1 กุมภาพันธ์ 2560)

วันศุกร์ที่ 16 ธันวาคม พ.ศ. 2559

วิธีเรียก Service จาก ArcGIS Server โดยใช้โปรแกรม QGIS แบบที่ 2

ก่อนหน้านี้ผมเคยเขียนวิธีการเรียก service จาก ArcGIS Server เข้ามาในโปรแกรม QGIS แต่ขั้นตอนมันจะซับซ้อนนิดหน่อย ดูวิธีที่ 1 และหลังจากนั้นผมก็เขียนปลั๊กอินเข้ามาใช้เองและคิดว่ามันน่าจะมีปุ่มเพิ่มให้ในโปรแกรมเองเลย ซึ่งเห็นใน mailing list เขาคุยกันพักนึง แล้วก็มีปุ่มนี้ขึ้นมาให้เราใช้แล้ว :)

ซึ่งตัวอย่างของผมนี้ ได้ลองเรียก service จาก ArcGIS Server ของกรมพัฒนาที่ดิน ซึ่งเป็นชั้นข้อมูลภาพถ่ายออร์โธสี ที่มีให้บริการผ่านเครือข่ายอินเตอร์เน็ต

http://eis.ldd.go.th/lddeis/PLM.aspx

1. ไปที่เมนู Layer > Add Layer > Add ArcGIS MapServer Layers...

2. คลิกปุ่ม New และระบุดังนี้ แล้วคลิก OK
2.1 Name: ldd ortho (ตั้งชื่อ อะไรก็ได้)
2.2 URL: http://eis.ldd.go.th/ArcGIS/rest/services/LDD_RASTER_WM_CACHE/MapServer



 3. คลิก Connect และเลือก Layer และคลิกปุ่ม Add

 4. จะได้ดังภาพด้านล่าง

*** ขอขอบคุณ service จากกรมพัฒนาที่ดิน มา ณ ที่นี้ด้วยครับ

วันพุธที่ 19 ตุลาคม พ.ศ. 2559

Geoserver with Image mosaicking plugin

_______สำหรับผู้ที่สนใจในงานด้าน Internet GIS หลายคนคงเคยคิดว่าจะทำอย่างไรดี จะให้ข้อมูลที่เป็น basemap อย่างเช่น ข้อมูลภาพดาวเทียม ภาพถ่ายทางอากาศ ทั่วทั้งพื้นที่ที่เราต้องการ เพราะว่าไฟล์ขนาดใหญ่มากจึงทำให้มีปัญหาในการต่อภาพ (mosaic) ดังนั้นผมจึงแนะนำอีกวิธีหนึ่งที่ง่ายในการทำโดยใช้ "Image mosaicking plugin" ของ GeoServer โดยการทำดังต่อไปนี้

1. เตรียมข้อมูลภาพที่ต้องการจะแสดงผล และจะเปิดข้อมูลนั้นด้วย QGIS :)

2. Copy Data ไปยัง dir ของ Geoserver

3. ทำการสร้าง Layers >> โดยใช้ ImageMosaic

4. ทำการ Publish

5. Click Layer Preview


Download Data Example : Click
Reference:http://docs.geoserver.org/latest/en/user/tutorials/image_mosaic_plugin/imagemosaic.html

วันอังคารที่ 18 ตุลาคม พ.ศ. 2559

วิธีเรียก Service จาก ArcGIS Server โดยใช้โปรแกรม QGIS

_______หลายๆ คนเคยอยากที่จะต้องการเรียก service จาก arcgis server หรือ arcgis onine บนโปรแกรม QGIS ซึ่งเราก็สามารถทำได้ 2 วิธีโดยใช้ Python Console และอีกแบบก็จะใช้ GDAL/OGR ครับ
วิธีที่ 1 Python Console
1. In the QGIS Python console ไปที่ Plugins >> Python console
2. จากนั้นก็พิมพ์ qgis.utils.iface.addRasterLayer("http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer?f=json&pretty=true","esriLayer")


วิธีที่ 2 GDAL/OGR (gdal_translate)
1.ก็พิมพ์ลงใน terminal => gdal_translate "http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer?f=json&pretty=true" esriStreetLayer.xml -of WMS
2.จากนั้นจะได้ xml มาก็ให้ลากใส่ใน QGIS ได้เลยครับ



Reference : http://hub.qgis.org/wiki/quantum-gis/Arcgis_rest