สถาบันข้อมูลขนาดใหญ่ (องค์การมหาชน)

4 ทักษะในการเป็นนักวิทยาศาสตร์ข้อมูลเชิงพื้นที่ (4 Skills to Become a Geospatial Data Scientist)

Feb 25, 2021
https://www.pbs.org/parents/thrive/why-children-still-need-to-read-and-draw-maps

ในยุคหนึ่งถ้าพูดถึงเรื่องภูมิศาสตร์ (Geography) คนโดยทั่วไปจะคิดมาก่อนเลยว่าเป็นเรื่องของการทำแผนที่ (Cartographic) มาก่อนเลย ในความเป็นจริงแล้วภูมิศาสตร์เป็นเรื่องของการศึกษาและสำรวจไปถึงรายละเอียด ปรากฏการณ์ และความสัมพันธ์ระหว่างสภาพแวดล้อมทางธรรมชาติและสังคมมนุษย์ (บรมครูทางด้านนี้ให้นิยามการวิจัยด้านภูมิศาสตร์คือการสร้างและทำความสะอาดข้อมูลเป็นส่วนใหญ่)

แต่เทคโนโลยีที่เปลี่ยนไป คนเราก็ต้องเปลี่ยนตาม ตัวผมเองเริ่มต้นหากย้อนไปเมื่อสิบกว่าปีที่แล้ว จะคุ้นชินกับการใช้โปรแกรม Desktop GIS เช่น ArcGIS และ QGIS ยุคต่อมาก็จะเป็นเรื่องของ Internet GIS (OGC Standard) การใช้งาน Basemap เช่น Google earth, OSM ขณะที่ดาวเทียมสำรวจทรัพยากรก็มีการพัฒนาเทคโนโลยีมาให้เราใช้ตั้งแต่ Landsat 5 มาจนถึง Landsat 8, Sentinal รวมไปถึง การเข้ามาของ Platform ใหม่ ๆ เช่น UAV ให้เราได้เรียนรู้และปรับตัว

พอมาถึงปัจจุบันเราก็พูดถึงกันมากเกี่ยวกับเรื่องของข้อมูลขนาดใหญ่ (Big Data) การเรียนรู้ของเครื่อง (Machine Learning) รวมถึงวิทยาศาสตร์ข้อมูล (Data Science) แล้วใยเล่ากับสายภูมิศาสตร์ก็มีศัพท์ใหม่เหมือนกันว่า Geospatial Data Science ณ ที่นี้ ผมขอเรียกว่า “นักวิทยาศาสตร์ข้อมูลเชิงพื้นที่”

แล้วนักภูมิสารสนเทศรุ่นกลางเก่ากลางใหม่อย่างผมอยากจะหันมาเป็น Geospatial Data Scientist บ้าง ต้องเรียนรู้อะไรบ้างล่ะในที่นี้

1. ภาษาโปรแกรมเมอร์ (R และ Python)

R และ Python ถือเป็น 2 ภาษาโปรแกรมเมอร์อันดับต้น ๆ ของสาย Geospatial Data Scientist เลยก็ว่าได้ แม้แต่ในโปรแกรม Desktop GIS ก็ยังมีความจำเป็นในการพัฒนาฟังก์ชั่นที่นอกเหนือจากการใช้งานทั่วไป รวมไปถึงการเชื่อมต่อคำสั่งต่าง ๆ ในกรณีที่ต้องการการวิเคราะห์ที่มีความซับซ้อนมากยิ่งขึ้น ฯลฯ

การเรียนรู้ภาษาเหล่านี้ ให้เริ่มต้นจากโปรแกรมที่เราคุ้นชินก่อนเลยครับ อย่างใน ArcGIS ก็จะมี Model Builder ที่ใช้ภาษา Python ในการสร้างโมเดล เช่นเดียวกัน ใน QGIS toolbox ก็มีคำสั่งหลาย ๆ ตัวที่ใช้ R และ Python สร้างขึ้นมา ทั้งนี้เลือกเก่งสักภาษาใดภาษาหนึ่งก็พอครับ แล้วเมื่อคล่องแล้วค่อยลองออกมาใช้งานโปรแกรมช่วยเขียนอื่น ๆ หากคุณเลือก Python ก็ลองออกมาใช้โปรแกรมเช่น Jupyter Notebook, Visual Studio Code หรือ pycharm แต่ถ้าเลือก R ก็จะมีโปรแกรม เช่น RStudio เป็นต้นครับ

2. Spatial Database

การใช้งาน Relational Database คือ ระบบฐานข้อมูลเชิงสัมพันธ์ที่เก็บอยู่ในรูปแบบของตาราง โดยมีภาษา SQL ในการเข้าถึงและบริหารจัดการฐานข้อมูล โดยปกติแล้วนักภูมิสารสนเทศ ก็มักจะคุ้นชินกับการใช้ภาษา SQL ในการ Query ข้อมูล หรือเล่นกับ Attribute ของข้อมูล Shapefile แต่เมื่อใช้งานกับข้อมูลขนาดใหญ่ (มากกว่า 4 Gb) หรือพยายามที่จะขยายการใช้งานของข้อมูล (Scaling) การใช้งานข้อมูลในรูปแบบของ Shapefile ก็อาจไม่สามารถที่ตอบโจทย์ความต้องการได้อีกต่อไป

ดังนั้นเราจำเป็นที่จะต้องเปลี่ยนรูปแบบของการเก็บข้อมูลโดยย้ายข้อมูลเหล่านั้นมาเก็บให้อยู่ในรูปแบบของ Spatial Database โดยการเก็บข้อมูลแบบนี้จะการเก็บข้อมูล Geometry แตกต่าง Relational Database ทั่ว ๆ ไปและเพิ่มเติมด้วยฟังก์ชันการวิเคราะห์ทางภูมิศาสตร์เข้าไป (จะเขียนอธิบายเพิ่มเติมในภายหลัง)

โดยจะมีโปรแกรม Spatial RDBMS ที่สาย GIS นิยมใช้ เช่น PostGIS หรือหากจะใช้ Cloud ก็จะมี Google’s BigQuery ให้ได้ลองเล่นกันครับ

3. Remote Sensing Computing Cloud Service

ข้อมูลการรับรู้ระยะไกล (Remote Sensing) หรือข้อมูลดาวเทียมสำรวจโลก (Earth Observation Satellites) รวมไปถึงชุดข้อมูลภูมิสารสนเทศต่าง ๆ ทั้งที่อยู่ในรูปแบบ Raster และ Vector เป็นข้อมูลที่มีจำนวนมหาศาล

ที่มีการสะสมมาตั้งแต่อดีตมากกว่า 50 ปี และมีการอัพเดตข้อมูลในทุก ๆ วัน หรืออาจกล่าวได้ว่าข้อมูลเหล่านี้คือ Big Data ด้านภูมิสารสนเทศนั่นเอง

https://www.facebook.com/support.gee/photos/796624677398279

การจะใช้งานข้อมูลเหล่านี้ในอดีตจำเป็นที่จะต้องทำการดาวน์โหลดมาวิเคราะห์ผ่าน Desktop GIS แต่ในปัจจุบันมี Service ที่ช่วยในการวิเคราะห์ข้อมูลจำนวนมหาศาลเหล่านี้ได้ โดยในปัจจุบันก็จะมี Google Earth Engine (GEE) ข้อมูลมากมายจากดาวเทียมที่เป็นที่รู้จักก็ได้แก่ Landsat, Sentinel, MODIS รวมไปถึงชุดข้อมูลภูมิอากาศ เป็นต้น (สามารถเรียนรู้การใช้งานในเบื้องต้นได้ที่ link นี้) และอีกค่ายหนึ่งจะเป็นกลุ่มดาวเทียมจากจีนชื่อว่า PIE-Engine (ใครเก่งภาษาจีนมาสอนกันด้วยนะครับ)

4. AI และ ML

ปัญญาประดิษฐ์ (Artificial Intelligence; AI) และการเรียนรู้ของเครื่อง (Machine Learning; ML) ถูกพูดถึงกันเป็นอย่างมากไม่เว้นแม้แต่ในวงการ GIS ด้วยความมากมายและหลากหลายของข้อมูลภาพถ่ายดาวเทียม (ที่เพิ่มขึ้นในทุก ๆ วัน) ทำให้การประยุกต์ใช้ AI และ ML สำหรับงานด้านนี้เป็นที่น่าสนใจเป็นอย่างมาก

อันที่จริงในโปรแกรม Desktop GIS ก็มีการประยุกต์ใช้ AI และ ML กันอยู่แล้ว เช่น ในเรื่องของการ Classification Landuse/Landcover การวิเคราะห์การเปลี่ยนแปลงของโลก เป็นต้น แต่การที่เรารู้ AI และ ML จะทำให้เราไม่ต้องติดอยู่กับข้อจำกัดของ Desktop GIS ที่อาจไม่สามารถให้ได้

ในปัจจุบันนี้ก็มีทั้ง Low code และ No code ML ที่มีเครื่องมือที่รองรับในการใช้งานทางด้าน GIS เป็นโชคดีของผู้ที่คิดจะเริ่มต้นได้ไม่ยากจนเกินไปนะครับ ท้ายที่สุดนี้ก็หวังว่าบทความนี้ จะสามารถช่วยให้ผู้ที่มีแรงบันดาลใจในการพัฒนาไปสู่ Geospatial Data Scientist แต่ทั้งนี้

สิ่งที่สำคัญที่สุดคือควรจะเข้าสู่โลกของวิทยาศาสตร์ข้อมูลโดยที่ยังจะรักษาความเชี่ยวชาญของตัวเองเอาไว้ ซึ่งจะทำให้คุณมีคุณค่ามากกว่าการที่ตามกระแสของโลกและเพียงแค่เรียกตัวเองว่านักวิทยาศาสตร์ข้อมูลนะครับ

ข้อมูลบางส่วนจาก บทความของ Abdishakur

Navavit Ponganan

Editor-in-Chief and Senior Data Scientist at Big Data Institute (Public Organization), BDI