GeoPandas คือ lib ที่ทำงานด้านการประมวลผลข้อมูล Geospatial data โดยตัวมันเองทำหน้าที่จัดการข้อมูลประเภท geometry data type ซึ่ง Feature พวกนี้จะเชื่อมกับข้อมูลเชิงบรรยายประกอบต่างๆ ข้อดีของ GeoPandas สามารถประมวลผลข้อมูล Geometry ได้ทำให้มีความสามารถรองรับการทำ Geo processing เช่นการสร้าง buffer , intersection feature, Merge, Union , รวมถึงการคำนวณบน geometry data การหาระยะ หาพื้นที่ การจัดการเรื่อง Coordinate reference system และอื่นๆ โดยข้อมูลจัดการในรูปแบบของ Data frame ที่รองรับการวิเคราะห์และประมวลผลข้อมูล ด้วย PANDAS บนภาษา Python ได้ ซึ่งตรงนี้มันสะดวกและมีประโยชน์มาก กรณีเราต้องการเก็บหรือทำงานกับ geometric object ที่มีความซับซ้อน มากกว่า จุดพิกัด lat , lon
มีโอกาสได้ลองใช้งาน GeoPandas เพื่อเชื่อมต่อข้อมูลสำหรับนำมาเทรนตัว Deep Learning ใช้งานสักระยะรู้สึกว่า มันสะดวกและมีประโยชน์ดี เลยจะมาเขียน tutorial แนะนำให้ ได้ลองใช้งานกัน
1. Installation
การติดตั้งไม่ยาก ผมใช้ pyton 2.7 การลงก็ทำผ่าน pip ได้เลย โดย lib หลักๆที่ Geopandas ใช้คือ shapely , fiona ,pyproj พวกนี้นำ source มาใช้ก็ complie ก่อนแล้วติดตั้งก็จะไม่มีปัญหาอะไร
pip install geopandas
2. Set up packages
3. การสร้าง geometry object ด้วย GeoSeries
ตัวอย่าง ใช้ GeoSeries ในการสร้าง point geometry จาก WKT ที่ระบุข้อมูลตำแหน่งของ 2 จุด
ดำเนินการกำหนดระบบพิกัดอ้างอิงเริ่มต้น แบบ EPSG 4326
ทดสอบผลลัพธ์ด้วยการ plot ตำแหน่งพิกัดบนแผนที่
4. GeoDataframe
– เริ่มจากเตรียมข้อมูลจุดพิกัด และ attribute บน pandas dataframe
จากนั้นทำการ build ตัว Geometry Feature ผ่าน GeoDataFrame และทดลอง plot ภาพแผนที่ขึ้นมาดู
5. ทดสอบการทำงานกับ shape file
-ทำการอ่านไฟล์ province.shp จากโฟเดอร์ data
– ทดสอบผลการอ่านไฟล์ด้วยการ แสดงข้อมูลบน table
– แสดงข้อมูล Geometry object แบบ WKT (polygon) พร้อมข้อมูลจาก database(.dbf)
– ทำการ plot แผนที่เพื่อดูผลลัพธ์
– ทดลองทำการคำนวณเชิงพื้นที่ การหา Boundary ของ polygon
– ทำการคำนวณเชิงพื้นที่ การหา Area ของ polygon แต่ละ Feature
– ทำการค้นหาข้อมูลตามเงื่อนไขเชิงบรรยายและเชิงพื้นที่
– คำนวณหาค่า ความหนาแน่นประชากรรายจังหวัด
– จากนั้นแสดงผลแบบ thematic map
6. การแปลงระบบพิกัด
– ทดลองแปลงพิกัดจาก UTM Z47 ไปเป็น Geographic coordinate (WGS84)
7. เชื่อมข้อมูลจาก WFS Server
– ใช้บริการจาก gservices.gistda.or.th/geoserver/wfs
– ทดสอบดึงข้อมูล Geospatial ผ่าน WFS Server ในรูปแบบ geojson
– แปลง geojson เข้าเป็น data frame ผ่าน Geodataframe
– ทดสอบผลลัพธ์ด้วยการ plot แผนที่
อ้างอิงจาก
http://geopandas.org/
ใส่ความเห็น