All posts by gisadmin

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

Connect PostgreSQL to QGIS

ฐานข้อมูลเชิงพื้นที่ PostgreSQL สามารถแก้ไขข้อมูล และอัพเดทข้อมูลต่างๆ ใน Attribute  รวมถึงสามารถเพิ่ม Feature (Point, Line, Polygon) ให้กับข้อมูลได้อีกด้วย ทำให้ผู้ใช้งานไม่เสียเวลาในการอัพเดทชั้นข้อมูลและเข้าไปในฐานข้อมูลเชิงพื้นที่อีกครั้ง และที่สำคัญข้อมูลที่ได้จะมีความทันสมัยอยู่ตลอดเวลา สามารถดูตัวอย่างการจัดการฐานข้อมูลโดยใช้โปรแกรม QGIS จากวีดีโอนี้

Connect GeoServer to PostgreSQL

การเชื่อมต่อฐานข้อมูล PostgreSQL กับ GeoServer สามารถทำได้โดยเลือกการนำเข้าข้อมูลจากการเชื่อมต่อแบบ PostGIS ไปยังฐานข้อมูลที่เตรียมไว้ ซึ่งข้อมูลที่สามารถนำมาแสดงบน GeoServer ได้นั้น ต้องมีพิกัดอ้างอิงเสมอ สำหรับนำไปใช้แสดงผลเป็นแผนที่ต่าง ๆ สามารถศึกษาวิธีการได้จากวีดีโอนี้

ฟังก์ชันใหม่สำหรับผู้ใช้งาน 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 มาเมื่อไหร่ผมจะมาสรุปฟังก์ชันดีๆให้ติดตามกันนะครับ

 

Reclassify Raster Data Using QGIS

Reclassify ทางด้าน GIS  การ Reclassify หมายถึง การจัดกลุ่มประเภทของข้อมูลใหม่  โดยใช้ค่าของข้อมูลเดิมที่มีอยู่มาใช้ในการจัดประเภทของข้อมูลตามที่ต้องการ เช่น ต้องการแยกค่าความชันออกเป็นช่วงของความชันจาก 0 – 15 ให้อยู่ในกลุ่มข้อมูลที่ 1 ช่วงความชัน มากกว่า 15 – 30 ให้อยู่ในกลุ่มข้อมูลที่ 2 ช่วงความชัน มากกว่า 30 – 60 ให้อยู่ในกลุ่มข้อมูลที่ 3 ช่วงความชัน มากกว่า 60 ให้อยู่ในกลุ่มข้อมูล ที่  4 หรือให้ค่าที่กลับกัน (invert) ก็ได้ขึ้นอยู่กับผู้วิเคราะห์  ประโยชน์ของการ Reclassify ข้อมูลที่ผ่านการจัดกลุ่มใหม่แล้วสามรถนำไปใช้ในการวิเคราะห์หาพื้นที่เหมาะ สม  หรือ นำไปใช้ในการวิเคราะห์พื้นที่เสี่ยงภัยพิบัติต่างๆได้

 

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