All posts in Knowledge

Import SVG styles to QGIS

การแสดงผลข้อมูลบนแผนที่บางครั้งข้อมูลที่นำมาแสดงเป็นข้อมูลเฉพาะเรื่อง เช่น ตำแหน่งของธนาคารต่าง ๆ ในโปรแกรม GIS ส่วนใหญ่จะไม่มี Style เหล่านี้อยู่แต่เราก็สามารถแสดงผลข้อมูลตามที่เราต้องการได้โดยใช้ข้อมูลรูปภาพไฟล์นามสกุล .SVG

วิธีการ

1.  ยกตัวอย่างไฟล์ .png* แปลงนามสกุลภาพ .PNG ให้อยู่ในนามสกุล .SVG

M1-svg

2.  นำไฟล์นามสกุล .SVG เข้าไปในโปรแกรม QGIS โดย copy ไว้ใน C:\OSGeo4W64\apps\qgis\svg

3.  เปลี่ยน Styles จุด ในรูปแบบที่ต้องการโดยไปที่คำสั่ง Symbology โดยตรง Marker ให้เปลี่ยนเป็น SVG marker

M2-svg

4.  เลือกรูปแบบ Styles และสามารถเปลี่ยนขนาดได้ตามที่ต้องการ

M3-svg

5.  แสดงผลลัพธ์ Symbol

M4-svg

Cr. Mintra Rodchan (นิสิตฝึกงาน ม.นเรศวร)

SLD QGIS to GeoServer

การใช้ QGIS เป็นตัวช่วยในการกำหนดรูปแบบการแสดงผลของชั้นข้อมูลมูลเวกเตอร์(Style) ของชั้นข้อมูล แล้วทำการบันทึกรูปแบบของชั้นข้อมูลที่ถูกปรับแต่งเรียบร้อยแล้วเป็นนามสกุล .SLD File เพื่อนำรูปแบบที่ได้ไปใช้ใน GeoServer วิธีการนี้เป็นวิธีการที่ง่ายสะดวกและประหยัดเวลาในการปรับแต่งรูปแบบที่จะนำไปแสดงผลบน GeoServer

1.เปิดชั้นมูลราสเตอร์ข้อมูลที่เราต้องการ>>ปรับแต่ง Style ตามที่ต้องการ>>หลังจากปรับแต่งเสร็จกดเลือก Style>>Save Style>>SLD File จากนั้นตั้งชื่อและเลือกที่เก็บ

F1-1SQL

 

2.เปิด File ที่นามสกุล .SLD เพื่อ Copy Style ที่ได้ไปใส่ใน Style ของ Geoserver

F2-1SQL

 

3.จากนั่นเปิด GeoServer >> เลือก New Style ตั้งชื่อของ Style >> Copy Style (.SLD) ที่ Save จาก QGIS มาใส่แล้วกด Submit

F3-1SQL

 

4.เปิดข้อมูลที่ต้องการปรับเปลี่ยน Style จาก Layers>>เลือกชั้นข้อมูลที่ต้องการ>>ตั้งค่าที่ Pubilshing เลือก Default Style >>เลือก Style >>จะแสดงผลเบื้องต้นจากการเลือกว่าเราเลือกใช้ Style ที่ถูกต้องกับชั้นข้อมูลหรือไม่>>Save

F4-1SQL

Cr. Sasithon Chatsudarat (นิสิตฝึกงาน ม.นเรศวร)

3D in QGIS

QGIS มีเครื่องมือ 3D ที่เป็นเครื่องมือที่ง่ายต่อการใช้งานและสามารถเข้าใจข้อมูลเชิงพื้นที่ได้มากขึ้น โดยในการใช้งาน 3D QGIS เราต้องใช้ข้อมูลราสเตอร์หรือเวกเตอร์ก็ได้ แต่เราใช้ข้อมูลความสูง(DEM) และสิ่งที่สำคัญมากๆคือการกำหนดข้อมูลให้เป็นเมตรหรือฟุต เพื่อให้ข้อมูลของเราสามารถใช้งาน QGIS 3D ได้

1.เปิดข้อมูลราสเตอร์เปลี่ยนค่าพิกัดให้เป็น(WGS84/UTM zone 47N) และกำหนดStyles ให้มีสีที่แตกต่างกันชัดเจน
F1-3D

2.เลือกใช้เครื่องมือ QGIS 3D จากเมนู View > New 3D Map View โดยใน 3D Map เราสามารถ ซูมเข้า/ซูมออก และเลื่อน เพื่อดูข้อมูลในรูปแบบ 2D และ 3D ได้

F2-3D

3.จากนั้นทำการตั้งค่า 3D โดยคลิกเครื่องมือตั้งค่าและเลือกข้อมูลราสเตอร์สำหรับการกำหนดค่ามุมมองรูปแบบ 3D (Elevation) และตั้งค่าความสูงในแนวดิ่งเพื่อให้มีความแตกต่างของภาพตามที่เราต้องการ (Vartical Scale)

F3-3D

4.เปิด Map Service ของ Google Satellites เพื่อให้มองเห็นลักษณะภูมิประเทศในรูปแบบ 3D จากชั้นข้อมูลราสเตอร์

F4-3D
Cr. Sasithon Chatsudarat (นิสิตฝึกงาน ม.นเรศวร)

 

 

Loading a raster into a PostgreSQL

วิธีการนำเข้าข้อมูล Raster ในโปรแกรม PostgreSQL

การนำเข้าไฟล์ข้อมูล Vector สามารถทำได้โดยใช้ฟังก์ชั่นของโปรแกรม PostGIS หรือบางคนที่ใช้โปรแกรม QGIS ก็สามารถนำไฟล์ Vector เข้าสู่ฐานข้อมูลได้เช่นกัน แต่ในกรณีที่เป็นไฟล์ Raster  จะใช้ Raster2pgsq ซึ่่งสามารถนำไฟล์ราสเตอร์ เช่น  ภาพถ่ายดาวเทียม ข้อมูลความสูงเชิงเลข(DEM) เข้าไปในฐานข้อมูลได้

วิธีการ

1. เข้าไปที่โปรแกรม OSGeo4W Shell

2. ต้องเข้าไปที่ไฟล์ Raster2pgsql  โดยใช้คำสั่ง cd C:\Program Files\PostgreSQL\9.4\bin

3. ให้รันคำสั่ง  Raster2pgsql.exe สำหรับเรียกใช้โปรแกรม Raster2pgsql

4. รันคำสั่ง อีกชุดสำหรับการนำเข้าข้อมูล Raster  -I -C -M D:\PWA\LAB\DEM\DEM.tif -s 4236 -F -t 50×50 public.DEM12 | psql -U postgres -d postgres -h localhost -p 8082

2017-3 (2)

5. เมื่อนำเข้าข้อมูลเสร็จเรียบร้อยให้ตรวจสอบข้อมูลในฐานข้อมูล โดยการ Select * from “Table Name”

2017_5

6. เชื่อมต่อฐานข้อมูล PostgreSQL กับ โปรม QGIS

2017_1

7. แสดงผลข้อมูล Raster

2017_2

 

Styled Layer Descriptor

การออกแบบแผนที่ให้มีความสวยงามในโปรแกรม Laptop GIS ไม่ใช่เรื่องยากแค่ตั้งค่าแสดงผลข้อมูลให้แสดงผลตามสัญลักษณ์หรือตามสีที่ต้องการแผนที่ก็จะแสดงผลข้อมูลตามที่เรากำหนดได้ดั่งใจของเรา  แต่ถ้าเป็นโปรแกรมที่ใช้ผลิตแผนที่ออนไลน์ (Map server) นั้นค่อยข้างยากสำหรับนัก GIS ทั่วไป แต่ถ้าใครได้ลองใช้โปรแกรม uDig การออกแบบแผนที่ออนไลน์จะเป็นเรื่องง่ายเพราะการออกแบบสามารถทำได้เหมือนกับ Laptop GIS แต่ที่พิเศษไปกว่าโปรแกรมอื่น คือสามารถนำ XML ไปใช้ใน GeoServer ได้เลย นั้นหมายความว่าเราสามารถกำหนดสิ่งต่าง ๆ ให้กับชั้นข้อมูลที่เราสามารถนำไปใช้บนแผนที่ออนไลน์ของเราได้เลย

การออกแบบการแสดงผลข้อมูลจะใช้โปรแกรม uDig ซึ่งเป็นชอฟแวร์ที่สนับสนุนการบันทึกรูปแบบการแสดงข้อมูลแผนที่ในรูปแบบของ Styled Layer Descriptor (SLD) สามารถนำมาใช้ได้กับ GeoServer และซอฟต์แวร์อื่นๆ ที่รองรับมาตรฐาน SLD สามารถออกแบบการแสดงผลให้กับข้อมูล ไม่ว่าข้อมูลนั้นจะเป็นข้อมูล Vector หรือข้อมูล Raster โดยการแสดงผลข้อมูลสามารถกำหนดให้แต่ละข้อมูลแสดงเป็นรูปแบบไหน สีอะไรได้ตามเงื่อนไขที่กำหนดให้ของแต่ละข้อมูล

เมื่อปรับแก้ style ได้ตามที่ต้องการแล้ว   สามารถนำไปใช้กับ GeoServer ได้ดังนี้

1. ให้เลือกที่ชั้นข้อมูล >> คลิกขวา >> change style >> XML  >> คัดลอก XML

2017-06-091

2. Add New Style  และวางข้อมูลที่ คัดลอกมาจาก uDig  เมื่อวางข้อมูลแล้วให้กด Submit เพื่อบันทึก style

2017-06-09

3. คลิกที่ชั้นข้อมูลจะเจอกับหน้าของ Edit Layer ให้เลือกไปที่ Publishing และเลื่อนหา Default Style หลังจากนั้นก็เลือก Style และเลือกตรงที่ Save เพื่อบันทึกการเปลี่ยนแปลง

2017-06-092

4. ชั้นข้อมูลใหม่ที่ได้หลังจากการปรับแก้ SLD

2017-06-094

Tableau

“Tableau”  เป็นโปรแกรมที่สามารถนำมาใช้กับงาน GIS ได้ดีมากในส่วนของการแสดงแผลข้อมูล สามารถปรับเปลี่ยนการแสดงผลได้อย่ารวดเร็วและสามารถเปลี่ยนข้อมูลต่าง ๆ ที่นำมาแสดงได้ โดยการลากมาวาง ถ้าไม่ต้องการก็ลางมันทิ้งไป ตัวอย่างรูปที่นำมาให้ดูเป็นการนำข้อมูลจาก Application ของ ตชด. มาแสดงผลข้อมูลสำหรับการนำเสนอต่าง ๆ  โดยข้อมูลที่เอามาแสดงจะมาการไหลเข้ามาตลอดเวลาถ้ามีคนเพิ่มข้อมูลเข้าสู้แอปพลิเคชั่นดังกล่าว

14939422_1045465755582598_1489721807640068959_o

การดาวน์โหลดข้อมูลขอบเขตการปกครอง

การดาวน์โหลดข้อมูลขอบเขตการปกครอง

              หลายๆ ท่านที่เริ่มศึกษาด้าน GIS มักจะเจอปัญหากับการไม่มีข้อมูลพื้นฐาน เช่น ขอบเขตการปกครอง ถนน ตำแหน่งเขื่อน เป็นต้น วันนี้จะนำวิธีการดีๆ มาบอกกล่าวกันสำหรับการค้นหาข้อมูลพวกนี้ จากเว็บไซต์ http://ows.gistda.or.th/geoserver ซึ่งข้อมูลนี้ถูกรวบรวมไว้โดยสำนักงานพัฒนาเทคโนโลยีอวกาศและภูมิสารสนเทศ (องค์การมหาชน) โดยการดาวน์โหลดข้อมูลจะเรียกใช้งานผ่าน Web Feature Service (WFS)
1. ข้อมูลขอบเขตตำบล
 
2. ข้อมูลขอบเขตอำเภอ
 
3. ข้อมูลขอบเขตจังหวัด
เมื่อดาวน์โหลดข้อมูลเรียบร้อยแล้วให้ทำตามขั้นตอนต่อไปนี้
1. นำเข้าข้อมูลในโปรแกรม QGIS ปรับตรง Encodind เป็น UTF-8
b12

2. ตรวจสอบข้อมูลในตาราง
b123
3.  Save ข้อมูลใหม่ตามระบบพิกัดที่ต้องการ
b1234

Smartphone สะกดรอยตามผู้ใช้งาน

หลายคนเรื่องสงสัยว่า Smartphone ที่เราใช้งานอยู่รู้ได้อย่างไรว่าเราอยู่ที่ตำแหน่งไหนและรู้ได้อย่างไรมาเรากลับบ้านเวลาไหน ออกไปไปทำงานเวลาไหน หลายๆคนฟังแล้วอาจจะตกใจเพราะไม่เคยรู้มาก่อนว่าเจ้าตัว Smartphone นี้แหละค่อยสะกดรอยตามเราทุก ๆ ก้าวที่เดินหรือทุกๆครั้งที่เราขับรถหรือนั่งรถไปไหน ฟังแล้วก็บอกเลยว่ามันเป็นเรื่องธรรมมากที่อุปกรณ์ Smartphone ทำแบบนี้ได้เพราะอุปกรณ์เหล่านี้มี GPS ติดมาทั้งนั้น แล้วเจ้า GPS นี้เองที่ค่อยบอกว่าเราอยู่ตำแหน่งใดแล้วซอฟแวร์ก็นไข้อมูลเราไปงวิเคราะห์ว่าเราอยู่ใกล้กับสถานที่ใด หรือถ้าอาจจะบางครั้งซอฟแวร์ไม่แน่จัยก้จะส่งคำถามวมาให้เรายืนยันว่าเราเคยไป ณ ที่ตรงนั้นหรือเปล่า ซึ่งโปรแกรมที่มีความสามารถด้านนี้มากที่สุดตัวหนึ่งได้แก่ google maps หากคุณติดแอพ google maps อยู่คุณโดนสะกดรอยตาม ทุกที่แบบที่คุณไม่รู้ตัว ถึงแม้จะถูกสะกดรอยตามแต่มันก็มีประโยชน์สำหรับนัก GIS อย่างเราๆนะ มาดูวิธีการนำข้อมูลที่เจ้า google maps มาใช้งานทางด้าน GIS กันบ้าง

  1. เราตัองเข้าไปหน้า timeline ของ google maps
    2017-03-08_174511
  2. เลือกดูข้อมูลที่เราต้องการตัวอย่างวันนี้ผมจะนำข้อมูลทั้งหมดตั้งแต่มันเปิดใช้งานให้เจ้าแอปพลิเคชั่นนี้ติดตามผม
  3. เลือกการดาวน์โหลดข้อมูลแบบ KML
    2017-03-08_174548
  4. เปิดข้อมูล KML ที่ได้ดาวน์โหลดไว้มาเปิดด้วยโปรแกรม QGIS
    2017-03-08_174637
  5. เปิดมาแล้วจะเห็นเป็นเส้นต่างๆ ตามพื้นที่ที่เราเดินทางไป เอาละมันดูยากไปนะ มาจัดการข้อมูลมันหน่อยแล้วกัน ใช้คำสั่งนี้เลย Extract node เป็นคำสั่งสำหรับการแตก Node ข้อมูลออกมา
    2017-03-08_174703
  6. ได้ข้อมูลเป็นแบบจุดแล้วข้อมูลดูดีขึ้นมาหน่อย
    2017-03-08_174736
  7. ไปต่อกันลองเอา Basemap มาเปิดซ้อนกันดีดีกว่า ตรงกับพื้นที่ที่เคยไปมาจริงๆ ด้วย
    2017-03-08_174810
  8. ถ้าเกิดไม่อยากให้ google maps ติดตามเราละจะทำยัง ทำได้อยู่แล้วเราก็แค่ที่ตั้งค่าและเลือก “หยุดบันทึกประวัติตำแหน่ง”
    2017-03-08_175120

ฟังก์ชันใหม่สำหรับผู้ใช้งาน QGIS

ก่อนที่ QGIS จะปล่อยเวอร์ชัน 3.0 มาให้ใช้กัน มาลองดูที่เวอร์ชัน 2.18.3 (เวอร์ชันที่ผมใช้อยู่ปัจจุบัน ณ วันที่ 3 มีนาคม 2560) ตอนนี้หน้าเว็บไซด์ http://www.qgis.org/en/site/forusers/download.html  เป็นเวอร์ชัน 2.18.4  มาลองดูกันดีกว่ามีอะไรใหม่ๆ มาให้ลองเล่นกัน

2017-011.Layer Styling

ฟังก์ชันนี้น่าสนใจมาก  น่าสนใจตรงที่เวลาเราเลือก Style ให้กับชั้นข้อมูล มีให้แสดงผลแบบ Live update นั้นหมายความว่า เวลาเราเลือก Style แบบไหนหน้าแสดงผลข้อมูลก็จะเปลี่ยนตามที่เราเลือกทันที่

2017-022. Edit Styles Colors

ฟังก์ชันนี้ใช้สำหรับเปลียนสีการแสดงผลข้อมูล การทำงานเมื่อเลือกการเปลี่ยนสี เครื่องจะมีอาการหน่วงนิดหน่อย แต่ก็พอรับได้ ประโยชน์ของฟังก์ชันนี้ คือ เปเลียนสีได้เร็วขึ้น และมีสีให้เลือกหลายหลายตามที่ต้องการ

2017-02-1

3. Node Tool

ฟังก์ชันนี้มีอะไรใหม่ให้เราเล่น ซึ่งเป็นฟังก์ชันที่ดีมากครับสำหรับตัวผมและคิดว่าหลายๆ คนคงคิดเหมือนกัน เพราะตอนแก้ไขข้อมูลมี Vertex Editor ขึ้นมาให้ ในเวอร์ชั่นเก่า ๆ ไม่มีแสดงขึ้นมาให้ ฟังก์ชันนี้ใช้งานง่ายมาก เพียงแค่คุณพิมพ์เลขพิกัดลงไปได้เลย แล้วตำแหน่งของข้อมูลก็จะขยับไปยังตำแหน่งพิกัดนั้นทันที ช่วยให้สะดวกและข้อมูลมีความถูกต้องมากขึ้น

2017-03

4. Create Conditional Format Rules

ฟังก์ชันนี้ขอพูดแบบให้เข้าใจง่าย ๆ ว่า การเลือกแสดงผลข้อมูลตามแบบตามเงื่อนไขที่กำหนดให้ ฟังก์ชันนี้ดูดีมาก สามารถเลือกข้อมูลแล้วสั่งให้ ไฮไลท์ ข้อมูลตามสีต่าง ๆ ที่เรากำหนดให้กับข้อมูล และที่สำคัญสามารถ เพิ่ม Rule ให้แสดงเป็นสีใหม่ได้อีกด้วย

2017-04

 

5. Add ArcGisMapServer Layer From a Server

ฟังก์ชันนี้คือการเรียกใช้บริการข้อมูลจากฝั่งของ ESRI service ไม่ว่าจะเป็น Server ข้อมูลแผนที่ฐาน (base map) หรือข้อมูล Service อื่นๆ ของ ESRI ทำให้ผู้ใช้งานมีความสะดวกในการใช้โปรแกรมมากยิ่งขึ้น นับว่าเป็นเรื่องสำคัญสำหรับนัก GIS เลยก็ได้ สำหรับการนำข้อมูลที่มีอยู่ในใช้ในโปรแกรมต่าง ๆ ได้ โดยไม่จำเป็นต้องมีการแก้ไข้หรือปรับเปลี่ยนข้อมูล

2017-05

2017-05-1

QGIS เวอร์ใหม่ๆ ที่ออกมาเร่มมีฟังก์ชันใหม่ ๆ ให้ติดตามมากขึ้น เห็นแบบนี้แล้วอยากใช้โปรแกรม QGIS เวอร์ชัน 3.0 ถ้าเวอร์ชัน3.0 มาเมื่อไหร่ผมจะมาสรุปฟังก์ชันดีๆให้ติดตามกันนะครับ

 

Contour

เส้น contour

เส้นชั้นความสูง คือ เส้นสมมติที่ลากไปตามพื้นภูมิประเทศบนแผนที่ภูมิประเทศ ผ่านจุดที่มีระดับความสูงเดียวกัน ในแผนที่ภูมิประเทศ เส้นชั้นความสูงแสดงด้วยสีน้ำตาล และมีสีน้ำตาลเข้มในกรณีที่เป็นเส้นชั้น

คุณสมบัติ ความสูงหลัก (Index contour) ดังนี้

– เส้นชั้นความสูงทุกเส้นแสดงค่าระดับความสูงในแนวตั้ง

– เส้นชั้นความสูงทุกเส้นอยู่ในพื้นแนวนอนและระนาบเดียวกัน

– เส้นชั้นความสูงแสดงรูปแบบ และลักษณะภูมิประเทศ

– เส้นชั้นความสูงเป็นเส้นปิด คือ บรรจบตัวเองเป็นวงๆ ไป แต่ในแผนที่ระวางเดียวอาจไม่ปรากฏเส้นวงปิดที่สมบูรณ์ได้เมื่อนำแผนที่ระวางติดต่อมาต่อเข้าจึงบรรจบเป็นวงปิด

– เส้นชั้นความสูงแต่ละช่วงเส้นอาจจะมีระยะห่างต่างๆ กันไป ทั้งนี้ขึ้นอยู่กับลักษณะภูมิประเทศถ้าหากพื้นที่ลาดชันมากเส้นชั้นความสูงชิดกันมากกว่าภูมิประเทศที่มีความลาดชันน้อย

– เส้นชั้นความสูงโดยทั่วไปไม่ทับกัน ยกเว้นบริเวณที่เป็นหน้าผา

– ทุกๆ ตำแหน่งบนเส้นชั้นความสูงเดียวกันมีค่าความสูงเท่ากัน

                                                                                              ที่มา : http://www.gistda.or.th/main/th/node/916

 

วิธีการสร้าง เส้น contour โดยใช้โปรแกรม QGIS

 Create contour

ข้อมูลที่ใช้

  1. DEM

contour

ขั้นตอน

  1. Add DEM
  2. Create contour (Raster >> Extraction >> Contour)

contour2

contour3