6.8 การพัฒนาระบบฐานข้อมูลสารสนเทศภูมิศาสตร์ผ่านเวบการปลูกยางพาราในจังหวัดอุบลราชธานี

GIS web-based for rubber production in UbonRatchathani province

อนุชิต สิงห์คำ วีรพงศ์ บัวเขียว และ สุรจิต ภูภักดิ์

.......................................................

บทคัดย่อ

การศึกษาครั้งนี้ ผู้ศึกษาได้ทำการทบทวนเอกสารที่เกี่ยวข้องกับการพัฒนาเครื่องแม่ข่ายแผนที่ ที่ใช้ซอฟท์แวร์รหัสเปิด(Open Source) โดยมุ่งหวังที่จะนำเอาองค์ความรู้ดังกล่าวมาต่อยอดและประยุกต์สร้าง เครื่องแม่ข่ายแผนที่ (Internet GIS) ในการนำมาเป็นส่วนหนึ่งของระบบสนับสนุนการตัดสินใจปลูกยางพาราต้นทุนต่ำ โดยเฉพาะจังหวัดอุบลราชธานี และพัฒนาระบบให้เหมาะสมกับสภาพความต้องการของผู้สนใจไม่ว่าจะเป็น หน่วยงานที่เกี่ยวข้องกับการส่งเสริมการปลูกยางพาราโดยตรง เกษตรกร หรือผู้สนใจทั่วไป ในการเรียกค้นข้อมูลเชิงพื้นที่ที่นำเสนอผ่านระบบอินเตอร์เน็ตและสามารถใช้ข้อมูลดังกล่าวมาประกอบหรือช่วยในการตัดสินใจปลูกยางพาราในพื้นที่ต่างๆ ของจังหวัดอุบลราชธานีได้ง่าย สะดวกและรวดเร็ว ขอบเขตของการศึกษาจึงมุ่งเน้นไปที่การพัฒนาระบบเครือข่ายให้มีความสามารถนำเสนอข้อมูลแผนที่ประกอบข้อมูลเชิงพื้นที่ ได้รวบการศึกษาในส่วนของการได้มาของข้อมูลนำเข้า (Input Data) ซึ่งอยู่ในรูปแบบของ Map File โดยปกติแล้วจะเป็นข้อมูลผลลัพธ์จากเครื่องระบบสารสนเทศทางภูมิศาสตร์ (Geographic Information System: GIS) เว็บไซต์ http://mapserv.agri.ubu.ac.th พัฒนาและประยุกต์ใช้จากซอฟท์แวร์รหัสเปิดโดยนำเสนอข้อมูลแผนที่ออกมาในรูปแบบเวกเตอร์ (Vector) ประกอบรายละเอียดเชิงพื้นที่เบื้องต้นในเขตพื้นที่จังหวัดอุบลราชธานี

ขอบเขตของการศึกษา

ใช้ Web-based technology พัฒนาระบบสารสนเทศภูมิศาสตร์พัฒนาทั้งในส่วนของแผนที่ ในลักษณะของ Web Map Server แบบระบบเปิด (OpenGIS) ใช้งานผ่าน Web Browser บนระบบปฏิบัติการ Linux

คำนำ

                วิวัฒนาการของระบบสารสนเทศภูมิศาสตร์ คอมพิวเตอร์ และเครือข่ายทำให้ระบบสารสนเทศมีราคาถูกลงแต่ระบบมีประสิทธิภาพเพิ่มขึ้นเป็นทวีคูณ วิวัฒนาการนี้เกิดขึ้นควบคู่ไปกับการเจริญเติบโตของเทคโนโลยีสารสนเทศและการแพร่หลายของซอฟท์แวร์รหัสเปิด (Free/Libber Open Source Software: FOSS) ซอฟท์แวร์รหัสเปิดด้านภูมิสารสนเทศก็มีการใช้ซอฟท์แวร์ FOSS มากขึ้นและนำไปใช้งานในงานปฏิบัติได้จริงและยังมีความเหมาะสมสำหรับภูมิสารสนเทศและภูมิสารสนเทศผ่านเครือข่ายที่ต้องทำงานร่วมกันในลักษณะของภูมิสารสนเทศแบบเปิด(OpenGIS) อาจพิจารณาได้ว่ามีความสัมพันธ์กันระหว่าง “สารสนเทศภูมิศาสตร์แบบเปิด และซอฟท์แวร์ฟรีรหัสเปิด ในการพัฒนาภูมิสารสนเทศผ่านเครือข่าย เพราะต่างเกื้อกูลกันและกันได้เป็นอย่างดีในความเป็น ‘ระบบเปิด’ การพัฒนาภูมิสารสนเทศผ่านเครือข่ายสารสนเทศแบบเปิดโดยใช้ซอฟต์แวร์ฟรีรหัสเปิด” จึงมีบทบาทมากขึ้นเรื่อยๆในเวลาปัจจุบัน [1]

                เทคโนโลยีสารสนเทศภูมิศาสตร์ (GIS : Geographic Information System) ประกอบไปด้วย การรับรู้จากระยะไกล (Remote Sensing) ระบบกำหนดตำแหน่งบนโลก (GPS : Global Positioning System) และระบบสารสนเทศภูมิศาสตร์ (GIS : Geographic Information System) สุเพชร  จิรขจรกุล (2549.) ได้ให้ความหมายไว้ว่า ระบบสารสนเทศภูมิศาสตร์ หมายถึง กระบวนการของการใช้คอมพิวเตอร์ ฮาร์ดแวร์ (Hardware) ซอฟต์แวร์ (Software) ข้อมูลทางภูมิศาสตร์ (Geographic Data) และการออกแบบ (Personnel Design) ในการเสริมสร้างประสิทธิภาพของการจัดเก็บข้อมูล การปรับปรุงข้อมูล การคำนวณและการวิเคราะห์ข้อมูล ให้แสดงผลในรูปของข้อมูลที่สามารถอ้างอิงได้ในทางภูมิศาสตร์ หรือ หมายถึง การใช้สมรรถนะของคอมพิวเตอร์ ในการจัดเก็บ และการใช้ข้อมูล บนพื้นโลก โดยอาศัยลักษณะทางภูมิศาสตร์ เป็นตัวเชื่อมโยงความสัมพันธ์ระหว่างข้อมูลต่าง ๆ

เทคโนโลยี Internet GIS (Internet Geographic Information System)

                เมื่อเทคโนโลยีอินเตอร์เน็ตเข้ามามีบทบาทสำคัญในชีวิตมากขึ้น การนำเสนอข้อมูลข่าวสารต่างๆจึงมีการนำเสนอผ่านอินเตอร์เน็ตกันมากขึ้น ระบบสารสนเทศภูมิศาสตร์ซึ่งแต่เดิมมีการใช้งานและนำเสนอบน Desktop Application Software ต่างๆ เช่น ArcGIS , Map Info ปัจจุบันได้พัฒนามาเป็นระบบ Internet GIS โดยมีจุดมุ่งหมายเพื่อที่จะเผยแพร่ข้อมูลเชิงพื้นที่ และผู้ใช้งานสามารถเข้าถึงข้อมูลได้สะดวกมากขึ้น

                Internet GIS เป็นระบบ GIS แบบใหม่ที่กำลังได้รับความนิยมอยู่ในปัจจุบัน มีรูปแบบการทำงานแบบ 3-teir บนเครือข่ายอินเตอร์เน็ตเป็นหลัก โดยผู้ใช้งานจะทำงานอยู่บนเครื่องคอมพิวเตอร์ลูกข่าย (Client Side) แล้วส่งคำสั่งร้องขอไปยังเครื่องแม่ข่าย (Sever Side) ผ่าน http protocol จากนั้นแม่ข่ายจะทำการประมวลผลคำสั่งและส่งผลลัพธ์มายังลูกข่าย การทำงานอาศัยทรัพยากรของเครื่องแม่ข่ายเป็นหลัก และประสิทธิภาพของระบบอินเตอร์เน็ต ปัจจุบันระบบ Internet GIS แบ่งออกเป็น 2 ประเภทหลักๆ คือ Web Application และ Broadband GIS

                Web Application เป็นระบบ Internet GIS ที่ผู้ใช้งานสามารถใช้งานผ่านเว็บบราว์เซอร์ เช่น Internet explorer , Mozilla หรือ Netscape โดยผู้ใช้ไม่จำเป็นต้องติดตั้งซอร์ฟแวร์ลงบนเครื่องคอมพิวเตอร์ ตัวอย่าง Web Application ได้แก่ Google Map API , Map Server ของCAT-GIFT (Government Information For Thailand) เป็นต้น ข้อดีของระบบ Internet GIS แบบ Web Application คือสามารถทำงานได้กับเครื่องคอมพิวเตอร์ทุก Platform และประหยัดค่าใช้จ่ายในการจัดหาซอร์ฟแวร์ แต่ข้อเสียคือในการใช้งานต้องเชื่อมต่อกับอินเตอร์เน็ตตลอดเวลา

Web Map Service: WMS

                สำหรับ Service ที่เรียกว่า Web Map Service (WMS) ทำหน้าที่จัดการกับข้อมูลแผนที่ประเภทต่างๆที่เชื่อมโยงกับฐานข้อมูลให้สามารถนำเสนอข้อมูลทางภูมิศาสตร์ในรูปแบบของรูปภาพ (Bit-Map) ในระบบอินเตอร์เน็ต ซอฟท์แวร์ที่จัดอยู่ในหมวดหมู่ของ WMS ที่ได้รับความนิยมอย่างมากในปัจจุบันคือ Minnesota Mapserver

Minnesota Map Server

                Minnesota Map Server เป็นเครื่องมือหนึ่งในการพัฒนาระบบ Internet GIS ในลักษณะของ Web Application ซึ่งเป็นชุดซอฟท์แวร์รหัสเปิด Minnesota Map Server ถูกพัฒนาขึ้นภายใต้โครงการโฟร์เน็ต (ForNet) โดยความร่วมมือระหว่างองค์การนาซ่า (NASA) หน่วยงานทรัพยากรธรรมชาติของรัฐมินิโซต้า (Minnesota Department of Nature Resource) และมหาวิทยาลัยแห่งมินิโซต้า (University of Minessota) ประเทศสหรัฐอเมริกา โดยมีแนวคิดที่จะเผยแพร่ข้อมูลด้านภูมิศาสตร์และสารสนเทศเกี่ยวกับทรัพยากรต่างๆภายในรัฐมินิโซต้า ผ่านเครือข่ายอินเตอร์เน็ต Minnesota Map Server ถูกพัฒนาขึ้นด้วยภาษาซี ทำงานแบบ CGI Script โดยทำงานภายใต้เครื่องแม่ข่าย Minnesota Map Server อาศัยไลบรารี่ของซอฟท์แวร์รหัสเปิดอื่นๆอีกหลายซอร์ฟแวร์ ในการทำงานตั้งแต่ผู้ใช้งานร้องขอข้อมูลในรูปแบบต่างๆ การติดต่อกับฐานข้อมูล รวมถึงการแสดงผลในรูปแบบต่างๆ ทั้ง Vector, Raster ปัจจุบัน Minnesota Map Server ถูกพัฒนามาถึงเวอร์ชั่น 4.8 (มกราคม 2549) สามารถติดตั้งได้ทั้งบนระบบปฏิบัติการ Windows และ Linux สามารถรองรับการทำงานตามมาตรฐานของ Open Geospatial Consortium (OGC) และ ISO ทำให้ Minnesota Map Server ยิ่งมีบทบาทและได้รับการยอมรับอย่างกว้างขวาง ในการสร้างแผนที่บนเครือข่ายอินเตอร์เน็ต (ชัยภัทร  เนื่องคำมา, 2549)

                หลักการทำงานของ Minnesota Map Server เมื่อผู้ใช้ร้องขอมาในรูปแบบ CGI แล้ว Minnesota Map Server ได้รับคำสั่งผ่านกลไก CGI Map Server จากนั้นจะอ่าน Mapfile เข้ามาซึ่งหน้าที่หลักของ Mapfile คือการกำหนดว่าจะต้องมีการอ่านข้อมูลสารสนเทศภูมิศาสตร์ใดบ้าง อ่านอย่างไร แสดงผลอย่างไร Mapfile ประกอบด้วยชุดคำสั่งที่ออกแบบเป็นเชิงวัตถุ 15 Classes เมื่อมีการอ่าน Mapfile เข้ามาแล้วจากนั้น Minnesota Map Server ก็จะส่งภาพ Bitmap ให้กับผู้ใช้ปลายทางนอกจากนี้หากใน Mapfile มีการระบุ Template file ที่เป็น HTML และมี Template variable ที่ทำหน้าที่รับคำสั่งข้อมูลกับ MapServer ซึ่งด้วยหลักการนี้ผู้ใช้สามารถใช้เครื่องมือในการพัฒนาเว็บเพจทั่วไป ในการพัฒนารูปแบบของโปรแกรมประยุกต์ที่ใช้งานร่วมกับ Minnesota Map Server ได้ การแสดงตัวอักษรสามารถรียกใช้ True Type Font ซึ่งทำให้สะดวกในการเลือกแบบอักษรรวมทั้งสามารถแสดงผลภาษาไทยได้  (อภิชัย  หมุดใหม่, 2549 )

                การพัฒนาโปรแกรมประยุกต์ Minnesota Map Server ยังสามารถทำได้ด้วยภาษาแทบทุกภาษาที่แพร่หลายในการเขียนเว็บเพจ เช่น Java, JavaScript  แล้ว Minnesota Map Server ยังมี API ที่รองรับการเชื่อมต่อกับภาษาขั้นสูงที่เรียกว่า MapScript ด้วยภาษาขั้นสูงเช่น Perl, PHP, Python ได้ และยังเชื่อมต่อฐานข้อมูลได้หลากหลาย เช่น MS-SQL, ODBC, Oracle, Informix, MySQL, PostgreSQL

                UMN MapServer เป็นแม่ข่ายแผนที่ที่ครอบคลุมการใช้งานที่กว้างขวาง รองรับโครงสร้างข้อมูล GIS ขนาดใหญ่ทั้งเวกเตอร์และราสเตอร์ UMN MapServer เป็นซอฟต์แวร์ที่พัฒนาโดยกลุ่มนักพัฒนาหลักจาก University of Minnesota และ Department of Mineral Resource UMN MapServer สามารถใช้งานเป็น CGI เพื่อสร้าง web map service ตามมาตรฐาน OGC โดยรองรับมาตรฐาน WMS, WFS, WCS, SLD และ FE ล่าสุดมีการรองรับ Senser-Oriented Service (SOS) ที่สําคัญได้แก่ GeoRSS

 

 

รูปที่ 1: แนวคิดการทำงานของ Minnesota MapServer
(ที่มา: คู่มือการติดตั้ง Minnesota MapServer)

UMN MapServer ถือได้ว่าเป็นซอฟต์แวร์แม่ข่ายแผนที่ FOSS ที่สมบูรณ์ที่สุด สามารถรองรับข้อมูลขนาดใหญ่ โดยการจัดโครงสร้างข้อมูลเป็นลักษณะ Tiling และ Pyramid เพื่อช่วยลดภาระระบบในการย่อขยายภาพ เลื่อนภาพ ตลอดจนส่งภาพไปยังปลายทางผู้ใช้ได้อย่างรวดเร็ว UMN MapServer มีความสามารถในการอ่านข้อมูลภูมิศาสตร์ประเภทต่างๆ ทั้งชนิดฟีเจอร์และข้อมูลกริดในรูปแบบต่างๆเป็นจํานวนมาก UMN MapSever มีไดรเวอร์ในการอ่านเอง และมีการพึ่งความสามามารถจากซอฟต์แวร์ FOSS ที่เป็น GIS Abstract Layer ที่มีประสิทธิภาพสูงคือ OGR สําหรับข้อมูลเวกเตอร์ และ GDAL สําหรับข้อมูลกริดและแรสเตอร์ GDAL/OGRได้รับการยอมรับจากซอฟต์แวร์เชิงพาณิชย์หลายตัวในการใช้งาน เช่น ESRI ArcGIS 9.2, PCI และอื่นๆ

 

รูปที่ 2: แนวคิดการทำงานของ Minnesota Map Server
(ที่มา: ไพศาล สันติธรรมนนท์)

ความสามารถในการทำงานร่วมกับข้อมูลแบบเวกเตอร์

                ปกติ มินเนโซต้า แมพเซิร์ฟเวอร์ ออกแบบทำงานร่วมกับไฟล์เวกเตอร์รูปแบบ Shape file สามารถอ่านข้อมูลได้ทั้ง ข้อมูลแบบเป็น จุด เส้น และรูปปิด นอกจากนี้ยังสามารถติดต่อข้อมูลแบบเวกเตอร์ในรูปแบบอื่นได้อีกโดยอาศัย มาตรฐานการเชื่อมต่อแบบ โอจีอาร์ (OGR) โดยโอจีอาร์ เป็นไลบรารี่ที่เป็นรหัสเปิด ที่พัฒนาบนภาษา ซีพลัสพลัส (C++) ใช้สำหรับเปิดหรือเข้าถึงข้อมูลแบบเวกเตอร์ในรูปแบบต่างๆ รวมทั้งไฟล์ในรูปแบบเซฟไฟล์ เพื่อความสะดวกในการทำงานเนื่องจากไม่ต้องทำการแปลงข้อมูลให้อยู่ในรูปแบบ เชฟไฟล์ก่อนใช้งานในมินเนโซต้า แมพเซิร์ฟเวอร์ โดย โอจีอาร์ รองรับการเชื่อมต่อข้อมูลเวกเตอร์ดังต่อไปนี้

                ESRI Shape file

                Mapinfo TAB and MIF/MID files

                TIGER

                OGDI vectors

                IHO S-57 dataset

                UK.NTF

SDTS TVP

PostgreSQL

ความสามารถในการทำงานร่วมกับข้อมูลแบบราสเตอร์

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

                TIFF หรือ GeoTIFF

                GIF

                PNG

                JPEG

                นอกจากนี้การเชื่อมต่อไฟล์แบบราสเตอร์แบบมาตรฐานแล้ว มินเนโซต้า แมพเซิร์ฟเวอร์ ยังสามารถเชื่อมต่อข้อมูลแบบราสเตอร์รูปแบบอื่นโดยอาศัย ไลบรารี่ GDAL ในการเชื่อมต่อ GDAL มีความสามารถในการเชื่อมต่อข้อมูลแบบราสเตอร์สูงกว่าการเชื่อมต่อข้อมูลราสเตอร์แบบมาตรฐานของมินเนโซต้า แมพเซิร์ฟเวอร์ ข้อมูลแบบราสเตอร์ที่ GDAL สามารถติดต่อได้มีดังนี้

TIFF/geoTIFF : GDAL สามารถติดต่อข้อมูล TIFF หรือ GeoTIFF ได้เช่นเดียวกับมินเนโซต้า แมพเซิร์ฟเวอร์ แต่ยังรองรับไฟล์ TIFF หรือ GeoTIFF

VRT: Virtual Raster

NITF: national Imagery Transmission Format

ไฟล์อิมเมจ ของโปรแกรม ERDAS นามสกุลไออ็มจี(.img)

ELAS

Arc/Info ASCII Grid

DTED

PNG

JPEG

GIF

MEM : In Memory Raster

BAB:Maptech BSB Nautical Charts

XPM:X11 PixMap

BMP

ECW: ERMapper Compressed Wavelets

HDF4

PNM: Portable Pixmap

ENVI ข้อมูลนามสกุล (.img) จากโปรแกรม ENVI

PAux: PCI .aux Laballed

MFF: Atlantis MFF Raster

MFF2: Atlantis MFF2 (HKV) Raster

JPEG-2000

FIT

ปัจจุบัน UMN MapServer เป็นรุ่น 4.9 (July 20th 2006) ผู้ใช้สามารถดาวน์โหลดได้โดยตรงจากเวบไซต์ของ UMN MapServer ที่ http://mapserver.gis.umn.edu หรือดาวน์โหลดพร้อมกับซอฟต์แวร์ยูทิลิตี้ต่างๆประกอบดังนี้

• Apache HTTP Server version 2.0.58

• PHP version 5.1.4 or 4.4.3-dev

• MapServer CGI 4.8.4

• MapScript 4.8.4 (CSharp, Java, PHP, Python)

• Includes support for Oracle 10g, and SDE 9.1 data (if you have associated client/dlls)

 • MrSID support built-in

• GDAL/OGR Utilities

• MapServer Utilities

• PROJ Utilities

• Shapelib Utilities

• Shp2tile Utility

• OGR/PHP Extension 1.0.0

GeoSpatial Database

                ในการทำงานของระบบเครื่องแม่ข่ายแผนที่นั้นจำเป็นต้องนำเข้าข้อมูลประเภท  Map file ซึ่งมีการอ้างอิงตำแหน่งของพื้นที่ดังนั้น ระบบบริหารจัดการฐานข้อมูลที่รองรับ UMN Mapserver

PostgreSQL (http://www.postgresql.org)

เป็น Object-Relational DBMS รหัสเปิดที่มีการพัฒนามากว่า 15 ปี สามารถรองรับการทำงานกับระบบปฏิบัติการหลักๆ ดังนี้ Linux, UNIX (AIX, BSD, HP-UX,SGI IRIX, Mac OS X, Solaris, Tru64)  และ Windows มีความสามารถในการรองรับปริมาณข้อมูลได้ดังนี้

Limit                                                     Value*

Maximum Database Size   Unlimited

Maximum Table Size                         32 TB

Maximum Row Size                           1.6 TB

Maximum Field Size                          1 GB

Maximum Rows per Table                Unlimited

Maximum Columns per Table          250 - 1600 depending on column types

Maximum Indexes per Table            Unlimited

*(http://www.postgresql.org/about/)

PostGIS

                PostGIS เป็นชุดซอฟตแวรเสริมสําหรับระบบฐานขอมูลเชิงสัมพันธ RDBMS PostgreSQL กลาวคือ ขอมูลเชิงตําแหนงจะถูกจัดเก็บอยางเปนระบบเขาในระบบฐานขอมูล ทําใหเราสามารถใชประโยชนจากฐานขอมูลได เชน การจัดเก็บที่มีประสิทธิภาพ การสืบคนคืนดวยมาตรฐานSQL การสํารองขอมูล การ replicate ระบบเพื่อสํารองขอมูลพรอมๆกับการเพิ่มประสิทธิภาพในการเขาถึง

ข้อมูล การปรับปรุงฐานขอมูลพรอมๆกันหลายคนในฐานขอมูลเดียวกัน เปนตน PostGIS เปนการพัฒนาบนมาตรฐานของ OGC ที่ชื่อวา OpenGIS Simple Features Specification for SQL หรือเรียกยอวา OGC SF-SQL ปจจุบัน PostGIS เปนรุน 1.2.1 และ PostgreSQL เปนรุน 8.2.3 สามารถดาวน์โหลดได้จากเว็บไซต์ (http://mirror.in.th/postgresql/win32/)

ลักษณะทั่วไปของ  PostGIS

                ลักษณะที่มีการกำหนดโดย  OpenGIS   มีดังนี้

                ·   OpenGIS SFSQL Objects เป็นการกำหนดในส่วนของวัตถุเชิงพื้นที่ เช่น

-         POINT

-         LINESTRING

-         POLYGON

-         MULTIPOINT

-         MULTILINESTRING

-         MULTIPOLYGON

GEOMETRYCOLLECTION

องค์ประกอบที่สำคัญในการนำเสนอแผนที่บนเว็บไซต์ (Web Mapping) [2]

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

                2. Internet Connection: หมายถึง การเชื่อมต่อกับระบบอินเตอร์เน็ต ข้อมูลแผนที่เป็นข้อมูลที่มีปริมาณมากและมีขนาดของแฟ้มข้อมูลที่ใหญ่ ระบบอินเตอร์เน็ตที่ส่งข้อมูลต้องมีช่องทางการถ่ายเทข้อมูลได้ดีและรวดเร็วจึงจะทำให้เวลาในการแสดงผลให้น้อยลง

                3. Mapping Data: หมายถึง การอ้างอิงข้อเท็จจริงเชิงพื้นที่เกิดขึ้นบนพื้นผิวโลก

                4. Web Server: หมายถึงซอฟท์แวร์ หรือโปรแกรมที่ติดยังบนระบบปฏิบัติการของเครื่องแม่ข่าย ทำหน้าที่ส่งข้อมูลคืนไปยังผู้ร้องขอในรูปแบบของ CGI

                5. Map Server: หมายถึง เป็นซอฟท์แวร์หรือโปรแกรมที่อยู่เบื้องหลังภาพแผนที่ที่ปรากฏอยู่บนเว็บราวเซอร์ หรือ ทำหน้าที่ประมวลผลข้อมูลแผนที่ให้ออกมาในรูปแบบภาพชนิด Bitmap

                6. Map File: หมายถึง รูปแบบแฟ้มข้อมูลชนิดหนึ่งและถือเป็นข้อมูลหลักที่ใช้ในแม็พเซอร์เวอร์ เกิดจากความสัมพันธ์ระหว่าง ขอบเขตแผนที่ (Map Extent), ขนาด (Map Size), พิกัดอ้างอิง (Reference Map), มีที่ตั้งจริงบนโลกสามารถเป็นจุดเชื่อมไปยังแม็พเซอร์เวอร์ ได้, มีการแยกสีและคำอธิบาย (Layer)

                7. Meta Data: หมายถึง คำอธิบายข้อมูล หรือระบุข้อมูลที่บอกรายละเอียดของข้อมูล (Data about Data) ทำให้คนและคอมพิวเตอร์สามารถเข้าใจความหมายของข้อมูลที่ได้รับ

                อย่างไรก็ตาม จากองค์ประกอบของการนำเสนอแผนที่บนเว็บไซต์ องค์ประกอบที่นำมาพิจารณาศึกษาคือ MapServer [3] ซึ่งเป็นระบบบริหารจัดการแผนที่ (Web Map Service: WMS) เป็นส่วนที่ติดตั้งอยู่บนเครื่องคอมพิวเตอร์แม่ข่าย (Server) โดยมีระบบปฏิบัติการเครื่องแม่ข่าย Linux รองรับ ซึ่งสอดคล้องกับการเลือกฟรีซอฟท์แวร์ที่จะนำมาพัฒนาระบบเครื่องแม่ข่ายไว้รองรับการประมวลผลข้อมูลเชิงพื้นที่

วิธีการดำเนินงาน

               การติดตั้งระบบสนับสนุนการตัดสินใจในการปลูกยางพารา ในภาคตะวันออกเฉียงเหนือ กรณีศึกษาจังหวัดอุบลราชธานี ประกอบด้วยขั้นตอนการติดตั้งซอฟต์แวร์ ต่างๆ ดังนี้

1.     Fedora Core 4

2.     MapServer

3.     PostgreSQL/PostGIS

4.     Web Application

Fedora Core 4

การติดตั้ง Fedora Core 4 ซึ่งเป็นลีนุกซ์ (Linux) อีกตระกูลหนึ่ง ให้สามารถเป็นระบบปฏิบัติการรองรับการทำงานของ MapServer สามารถดาวโหลดได้จาก http://download.fedora.redhat.com/pub/fedora/linux/ และขั้นตอนการติดตั้งเป็นดังนี้

ตั้งค่า BIOS ให้บู๊ต default ที่ CD ไดร์ฟ แล้ว Restart เครื่องใหม่

 

ตอบ OK เพื่อทดสอบ CD ในขั้นตอนนี้อาจจะ Skip ไปก็ได้

 

หากเลือก Testing CD ให้ตอบ OK เพื่อเริ่ม Testing CD

 

เมื่อ Testing CD เสร็จแล้ว ให้ Continue

จากนั้นจะเข้าสู่ Welcome to Fedora Core

เลือก Continue เพื่อเริ่มการติดตั้งโปรแกรม

 

เข้าสู่หน้ายินดีต้อนรับสู่ Fedora Core จากนั้นคลิกที่ Next

 

ภาษาเลือก English เสร็จแล้วคลิก Next

 

Keyboard เลือก U.S. English เสร็จแล้วคลิก Next

 

รูปแบบการติดตั้งเลือกเป็น Server

 

การแบ่ง Partition เลือกเป็นแบบอัตโนมัติ

 

เลือกเว็บเซิร์ฟเวอร์

 

Time Zone เลือกเป็น Asia/Bangkok

 

ใส่พาสเวิร์ด root

Host: mapserv

Domain: agri.ubu.ac.th

DNS: 202.28.48.130

Gateway: 202.28.48.129

Netmark: 255.255.255.192

IP Address: 202.28.48.135

Pakage ให้เลือก Development Tools และ X Software Development

 

เริ่มการติดตั้งแผ่นที่ 1

 

กำลัง Format ไฟล์ระบบ

 

เริ่มติดตั้งแผ่นที่ 2 ใส่แผ่นซีดีแผ่นที่ 2 แล้วคลิก OK

 

เริ่มการติดตั้งแผ่นที่ 3

 

เริ่มการติดตั้งแผ่นที่ 4 ใส่ซีดีแล้วคลิกปุ่ม OK

 

เสร็จสิ้นการติดตั้ง คลิกที่ปุ่ม Reboot

 

MapServer, PostgreSQL, PostGIS และซอฟต์แวร์อื่น

โปรแกรมที่จำเป็นต้องใช้

Apahce: ใช้เวอร์ชัน 2.2.0 สามารถดาวโหลดได้ที่ http://www.apache.org

PHP: ทำงานภายใต้ PHP/MapScripts เวอร์ชัน 4.3.11 สามารถดาวโหลดได้ที่ http://www.php.net

MapServer: เวอร์ชัน 4.8.0 ดาวโหลดได้ที่ http://mapserver.gis.umn.edu

Libpng: เวอร์ชัน 1.2.8-2 ดาวโหลดได้ที่ http://www.libpng.org

Freetype: เวอร์ชัน 2.1.9-2 ดาวโหลดได้ที่ http://freetype.sourceforge.net

GD: เวอร์ชัน 2.0.33-2 ดาวโหลดได้ที่ http://www.boutell.com/gd

Zlib: เวอร์ชัน 1.2.3 ดาวโหลดได้ที่ http://www.zlib.net

                โปรแกรมที่เกี่ยวข้องกับระบบ

PostgreSQL: เวอร์ชัน 8.1.2 ดาวโหลดได้ที่ http://www.postgresql.org

PostGIS: เวอร์ชัน 1.1.0 ดาวโหลดได้ที่ http://postgis.refractions.net

Proj4: เวอร์ชัน 4.4.9 ดาวโหลดได้ที่ http://www.remotesensing.org/proj

GEOS: เวอร์ชัน 2.2.1 ดาวโหลดได้ที่ http://geos.refractions.net

GDAL: เวอร์ชัน 1.3.1 ดาวโหลดได้ที่ http://www.gdal.org

คอนฟิก Apache ให้รองรับการทำงานของ Map Files

# ./configure --prefix=/usr/local/apache2 --enable-deflate  --enable-info --enable-mime-magic --enable-rewrite --enable-so --enable-speling

--enable-ssl --enable-unique_id --enable-usertrack --with-mpm=prefork

 

ติดตั้งฐานข้อมูล PostgreSQL เพื่อเก็บ Shp Files

# LDFLAGS= -lstdc++ . /configure

--prefix=/usr/local/pgsql --with-perl --with-python --with-krb5 --with-openssl

# /usr/sbin/adduser postgres

# mkdir /usr/local/pgsql/data

# chown postgres /usr/local/pgsql/data/

# su - postgres

# /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data/

# /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data/ -l /usr/local/pgsql/data/logfile start

# /usr/local/pgsql/bin/createdb ubonratchathani

# /usr/local/pgsql/bin/psql ubonratchathani

# \q

# exit

คอนฟิกโปรแกรม PHP

# ./configure --prefix=/usr/local/apache2/php

--with-apxs2=/usr/local/apache2/bin/apxs --disable-cgi

--with-config-file-path=/usr/local/apache2/php --with-openssl --with-kerberos --with-zlib --with-bz2 --with-curl --enable-dbase --with-gd --with-pgsql --with-xsl --with-mysql --with-gettext --with-regex=system

ให้เลือกอย่างใดอย่างหนึ่งในการ configure คำสั่ง --with-apxs2, --with-pgsql, --enable-dbase and --with-config-file หากในระบบไม่ได้ติดตั้ง MySQL ก็ไม่ต้องใช้ –with-mysql

แก้ไข php.ini เพื่อเรียก MapScript และให้ใช้งานร่วมกับ HTML ได้

Around line 53:

LoadModule php5_module                              modules/libphp5.so

 

Around line 165:

<IfModule dir_module>

                DirectoryIndex index.php index.html

</IfModule>

 

Around line 307:

AddType application/x-httpd-php                  .php .phtml

AddType application/x-httpd-php-source     .phps

ติดตั้ง PostGIS

คอนฟิก PostGIS เพื่อใช้งานร่วมกับฐานข้อมูล PostgreSQL

# /usr/local/pgsql/bin/createlang plpgsql ubonratchathani

# /usr/local/pgsql/bin/psql -d ubonratchathani -f /usr/local/pgsql/share/postgresql/contrib/lwpostgis.sql

# /usr/local/pgsql/bin/psql -d ubonratchathani -f /usr/local/pgsql/share/postgresql/contrib/spatial_ref_sys.sql

ติดตั้ง MapServer

                คอนฟิก gdal

# ./configure --with-png --with-libtiff --with-jpeg --with-gif  --with-pg=/usr/local/pgsql/bin/pg_config --with-geos

คอนฟิก MapServer

# ./configure --with-proj=/usr/local --with-geos=/usr/local/bin/geos-config --with-ogr=/usr/local/bin/gdal-config --with-gdal=/usr/local/bin/gdal-config --with-postgis=/usr/local/pgsql/bin/pg_config --with-curl-config=/usr/bin/curl-config --with-httpd=/usr/local/apache2/bin/httpd --with-php=/usr/local/php-5.1.2

# make

# cp mapserv /usr/local/apache2/cgi-bin/.

# cp legend /usr/local/apache2/cgi-bin/.

# cp scalebar /usr/local/apache2/cgi-bin/.

# cp shp2img /usr/local/apache2/cgi-bin/.

# cp shp2pdf /usr/local/apache2/cgi-bin/.

# cp shptree /usr/local/apache2/cgi-bin/.

# cp shptreest /usr/local/apache2/cgi-bin/.

# cp shptreevis /usr/local/apache2/cgi-bin/.

# cp sortshp /usr/local/apache2/cgi-bin/.

# cp tile4ms /usr/local/apache2/cgi-bin/.

Web Application

ทำการเขียนโปรแกรมด้วยภาษา PHP เพื่อเรียกฐานข้อมูล PostgreSQL ซึ่งได้นำฐานข้อมูล ubonratchathani เพื่อแสดงผล

Map Scripts ที่ใช้ในการแสดงผลแผนที่ (map_config.map) โดยกำหนดค่า EXTENT UTM Zone 48

EXTENT 433159.03125 1571310.5 568705.75 1779499.875

LAYER

                NAME province

                CONNECTIONTYPE postgis

                CONNECTION "dbname=ubonratchathani user=postgres password=postgres host=localhost"

                DATA "the_geom from   (SELECT * FROM province   ) as foo using SRID=-1, using unique gid"

                TYPE POLYGON

                STATUS ON

                CLASS

                                COLOR -1 -1 -1

                                OUTLINECOLOR 255 0 0

                                NAME "ขอบเขตจังหวัด"

                END

END

ตัวอย่างไฟล์ template (template.html)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<title>ระบบสนับสนุนการตัดสินใจในการปลูกยางพารา ในภาคตะวันออกเฉียงเหนือ กรณีศึกษาจังหวัดอุบลราชธานี</title>

<meta http-equiv="Content-Type" content="text/html; charset=windows-874">

 

<cwc2 type="SharedResource" name="projection">

    <projection name="NAD 83 / Geographic" srs="epsg:4269"/>

    <projection name="WGS 84 / Geographic" srs="epsg:4326"/>

    <projection name="WGS 84 / Auto UTM" srs="AUTO:42001"/>

    <projection name="WGS 84 / Auto Tr. Mercator" srs="AUTO:42002"/>

    <projection name="WGS 84 / Auto Orthographic" srs="AUTO:42003"/>

    <projection name="WGS 84 / Auto Equirectangular" srs="AUTO:42004"/>

    <projection name="WGS 84 / LCC Canada" srs="epsg:42101"/>

    <projection name="NAD 83 / NRCan LCC Canada" srs="epsg:42304" default="true"/>

</cwc2>

 

ตัวอย่าง PHP Script ที่ใช้รันผล เมนูขอบเขตการแสดงผล (index.php)

<?php

$gszAppPath = dirname(__FILE__);

include( "../../htdocs/chameleon.php" );

$szTemplate = "./template.html";

$szMapFile = "../map/map_config.map";

class SampleApp extends Chameleon

{

  function SampleApp()

  {

    parent::Chameleon();

    $this->moMapSession = new MapSession_RW;

    $this->moMapSession->setTempDir( getSessionSavePath());

  }

}

$oApp =  new SampleApp();

$oApp->registerSkin( 'skins/sample' );

$oApp->CWCInitialize ($szTemplate,$szMapFile);

$oApp->CWCExecute();

?>

ผลการดำเนินงาน

จากการติดตั้งระบบ web-based GIS ตามขั้นตอนดังกล่าวข้างต้น สามารถดูข้อมูลที่หน้าหลัก ระบบสนับสนุนการตัดสินใจในการปลูกยางพารา ในภาคตะวันออกเฉียงเหนือ กรณีศึกษาจังหวัดอุบลราชธานี ได้ ที่ http://mapserv.agri.ubu.ac.th  โดยแสดงดังภาพต่อไปนี้

ภาพตัวอย่างการนำเสนอข้อมูลเชิงพื้นที่ผ่านระบบอินเทอร์เนทจากเวป  http://mapserv.agri.ubu.ac.th

 

คำบรรยายภาพแบบสี่เหลี่ยมมุมมน: 5

คำบรรยายภาพแบบสี่เหลี่ยมมุมมน: 6

คำบรรยายภาพแบบสี่เหลี่ยมมุมมน: 7

คำบรรยายภาพแบบสี่เหลี่ยมมุมมน: 3

คำบรรยายภาพแบบสี่เหลี่ยมมุมมน: 4

คำบรรยายภาพแบบสี่เหลี่ยมมุมมน: 2

คำบรรยายภาพแบบสี่เหลี่ยมมุมมน: 1

 

หมายเลขแทนสัญลักษณ์ดังนี้

                1 = เมนูแสดงชั้นของข้อมูล

                2 = แถบเครื่องมือ

                3 = แผนที่โดยย่อ (MapKey)

                4 = แผนที่เต็ม

                5 = แสดงพิกัดโซน 48

                6 = แสดงระยะทาง

                7 = ปุ่ม update

 

คำอธิบายแถบเครื่องมือ

 

ขยายแผนที่

ย่อแผนที่

ขยายแผนที่ภาพรวม

Zoom to Bounding Box or Point

Click to Recenter

แสดงรายละเอียดข้อมูลบนแผนที่

Remove existing query results

Pan Map

วัดระยะแผนที่

ค้นหา

ตัวช่วย

 

 



 [1]  เรื่องเดียวกัน หน้าเดียวกัน

 [2] Asian Institute of Technology (AIT)

 [3] MapServer เป็นชื่อย่อของ Minnesota mapserver ซึ่งถือเป็น Web Map Service (WMS)