การสร้าง Web Map Service (WMS) บน Geoserver

จากบทความ ELK #5 การประยุกต์ใช้ ELK ในงานด้าน GIS ของคุณคณกรณ์ ถือว่าเป็นอีกช่องทางหนึ่งในการจัดทำแผนที่ GIS ซึ่งอาศัย Web Map Service หรือเรียกย่อๆว่า WMS ก็เลยทำให้คันไม้คันมือ อยากนำเสนอวิธีการสร้าง WMS บน Geoserver เพื่อนำ shape file ที่เราได้จัดทำขึ้น(ไม่ว่าจะเป็น point , line, polygon) มาใช้งานบน GIS Web Application ซึ่งทั่วไปก็จะใช้ UI เป็น Openlayers, Leaflet ฯลฯ **ลองแวะเข้าไปอ่านบทความเก่าๆของผู้เขียน จะมีการนำเสนอวิธีการนำ WMS ไปใช้ อาทิเช่นกับ Google Earth, ArcGIS เป็นต้น ขั้นตอนการสร้าง WMS บน Geoserver สร้างและกำหนด style ของข้อมูลในโปรแกรม QGIS 2. save style เป็น SLD file โดยจัดเก็บไว้ที่เดียวกับ shape file 3. Copy file ทั้งหมด 4. ไปวาง(past) ไว้ที่ root folder ของ Geoserver ซึ่งในที่นี้จะอยู่ที่ C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\geoserver\data\shpfile\slb-gis *** ดาวน์โหลด shape file ตามตัวอย่างได้ที่นี่ 5. เปิด Geoserver manager โดยพิมพ์ url: localhost:8080/geoserver     *** port สามารถปรับเปลี่ยนได้ 6. ทำการสร้าง Workspaces 7. กำหนดชื่อ Workspace และ URI 8. กำหนด properties ของ Workspace ให้เปิดใช้งาน (Enabled) Services ต่างๆ 9. จากนั้นทำการสร้าง Stores ในการเก็บข้อมูล shape file (จากขั้นตอนที่ 4) 10. เลือกชนิดของ data sources ในที่นี้จะเลือก Directory of spatial files (Shapefiles) 11. ทำตามขั้นตอนในรูป 1) เลือก Work space ที่สร้างไว้ในข้อ 7 2) กำหนดชื่อ data 3) กำหนด directory ที่เก็บ shape file 4) เลือกโฟลเดอร์ จากข้อ 4 5) คลิกปุ่ม OK จากนั้นเลืื่อนไปด้านล่างสุดของหน้าจอ เพื่อคลิกปุ่ม Save 12. จะปรากฏหน้าต่างข้อมูล shape file ที่ถูกจัดเก็บไว้ในข้อ 4 ซึ่งในที่นี้มีเพียง 1 shape file คือ slbtamb > จากนั้นคลิกที่ Publish เพื่อเปิดการใช้งานชั้นข้อมูล 13. จะแสดงชั้นข้อมูล slbtamb จากข้อ 12 14. คลิกปุ่ม Find เพื่อกำหนดระบบพิกัดให้กับชั้นข้อมูล ในที่นี้ shape file เป็นระบบ UTM ผู้เขียนจึงใช้รหัส 32647 15. จากนั้น คลิก Compute from native bounds เพื่อให้ระบบ generate พิกัดให้

Read More »

การสร้างแผนที่ออนไลน์ (Web Map) ด้วยลิงค์ KML/KMZ

นักพัฒนาเว็บหลายคนคงจะคุ้นเคยกับการสร้าง web map ด้วย google map api กันนะคับ (เป็นที่นิยมเลยล่ะ) แต่ในยุคปัจจุบันที่มีการเผยแพร่ข้อมูลที่เป็น near real time กันมากยิ่งขึ้น จะเห็นได้จากหลายหน่วยงานมีการเผยแพร่ Web Map Services กันเยอะมากยิ่งขึ้น และแย่งชิงความเป็นผู้นำในการนำเสนอข้อมูลที่เป็นปัจจุบันทันด่วนที่สุด แต่ด้วยปัจจัยในการต้องติดตั้งโปรแกรมบน Web Map Server เพื่อให้สามารถใช้งาน web map ผ่าน server ได้ (เสียงบประมาณเพิ่ม) ***ใครมี ArcGIS Server จะลองทำ การสร้างเว็บแผนที่จุดความร้อน(Hotspot) โดยใช้ WMS บน ArcGIS Server ดูได้นะคับ   วันนี้เลยจะขอนำเสนอโค้ดง่ายๆ ในการนำลิงค์ KML/KMZ จากเว็บที่ให้บริการฟรี! มาสร้างเป็นหน้าเว็บเพจของเราโดยที่ไม่ต้องติดตั้ง map server กันคับ ^^ ที่สำคัญ ต้นทางข้อมูลอัพเดทข้อมูล หน้าเว็บเราก็อัพเดทไปด้วย อิอิ ขั้นตอนการสร้าง 1. เปิดหน้าเว็บที่ให้บริการลิงค์ ***ตัวอย่างเว็บ http://slb-gis.envi.psu.ac.th 2. เลือกชั้นข้อมูลที่ต้องการ แล้วคลิกขวา > copy link address 3. สร้างไฟล์ gmap.html แล้วเปิด edit ด้วยโปรแกรม notepad หรือ text editor 4. copy โค้ดนี้ไปวาง <!DOCTYPE html> <html> <head> <meta name=”viewport” content=”initial-scale=1.0″> <meta charset=”utf-8″> <title>การสร้างแผนที่ออนไลน์ (Web Map) ด้วยลิงค์ KML/KMZ</title> <style> html, body { height: 100%; margin: 0; padding: 0; } #map { height: 100%; } </style> </head> <body> <div id=”map”></div> <script> function initMap() { var map = new google.maps.Map(document.getElementById(‘map’), { zoom: 11, center: {lat: 100.756297, lng: 14.790059} }); var ctaLayer = new google.maps.KmlLayer({ url: ‘ที่อยู่ kml/kmz ลิงค์‘, map: map }); } </script> <script async defer src=”https://maps.googleapis.com/maps/api/js?key=google map api key“> </script> </body> </html> 4. วางลิงค์ที่ copy มาจากเว็บตรงurl: ‘http://slb-gis.envi.psu.ac.th/home1/images/download/kmz/gcs_slbforu.kmz‘, และใส่ google map api key ***ถ้าไม่มีให้ไปที่ https://developers.google.com/maps/documentation/javascript/get-api-key 5. ลองเปิดผ่าน http://localhost/gmap.html จะได้ตามรูป 6. หากคลิกที่ข้อมูล จะมี pop-up แสดงข้อมูลขึ้นมา 7. เว็บไซต์ของท่านก็จะมีหน้าเว็บแมพไว้ใช้งานได้แบบง่ายๆ โดยไม่ต้องติดตั้ง web map server ^^   ****บริการฟรี! ชั้นข้อมูลลุ่มน้ำทะเลสาบสงขลาเพิ่มเติมได้ที่ โครงการการพัฒนาฐานข้อมูลสารสนเทศภูมิศาสตร์ลุ่มน้ำทะเลสาบสงขลา โดย สถานวิจัยสารสนเทศภูมิศาสตร์ทรัพยากรธรรมชาติและสิ่งแวดล้อม คณะการจัดการสิ่งแวดล้อม มหาวิทยาลัยสงขลานครินทร์

Read More »

การนำเข้า Web Map Services บนโปรแกรม ArcGIS

จากคราวก่อนเคยพูดถึง การนำเข้า Web Map Service บน Google Earth มาแล้ว วันนี้จะขอนำเสนอ การนำเข้า Web Map Services (WMS) บนโปรแกรม ArcGIS กันบ้าง ปัจจุบันนี้ กระแส Web Map Service (WMS) กำลังมาแรงทีเดียวเชียว ซึ่งจะเห็นได้จากหลายๆหน่วยงานของรัฐที่จะมีการเผยแพร่ลิงค์ WMS ให้ผู้ใช้สามารถนำไปใช้ต่อยอดกับงานด้าน GIS ได้ อีกทั้งยังเป็นการเผยแพร่ข้อมูลที่เป็นประโยชน์และเป็นปัจจุบันทันเหตุการณ์ เข้ากับยุคข้อมูลข่าวสารไร้พรหมแดนไร้ขอบเขตกันอีกด้วยนะครับ ข้อดีของ WMS ที่เห็นได้ชัดคือ 1. เจ้าของข้อมูลไม่ต้องเผยแพร่ shape file (ซึ่งหลายๆท่านอาจจะได้มาซึ่งความยากลำบากในกระบวนการทำงานกว่าจะได้ข้อมูลนั้นมา) แต่สามารถเผยแพร่ให้สาธารณะทราบได้ว่า เรามีข้อมูลนี้อยู่นะ ถ้าอยากได้ข้อมูลดิบ ก็ติดต่อหรือเจรจาเรื่องค่าเหนื่อยกันหลังไมค์ >*< 2. ผู้นำไปใช้ ก็ไม่ต้องคอยอัพเดทข้อมูล เพราะทุกครั้งที่ต้นทางเจ้าของข้อมูลอัพเดทข้อมูล ข้อมูลเราก็จะอัพไปด้วย สบายยยยย   *** หากยังไม่มีโปรแกรม ArcGIS for Desktop ก็สามารถดาวน์โหลดมาติดตั้งใช้งานได้ฟรี 60 วัน นะคับ ดูวิธีการติดตั้งได้ที่ การติดตั้งโปรแกรม ArcGIS 10.4 for Desktop (Trial) วิธีการนำ WMS ไปใช้กับโปรแกรม ArcGIS for Desktop Copy WMS ลิงค์ที่ได้จากเว็บไซต์ **ตัวอย่างจากเว็บ http://slb-gis.envi.psu.ac.th 2. เปิดโปรแกรม ArcMap > เปิด ArcCatalog > ดับเบิ้ลคลิก Add WMS Server 3. past ลิงค์ที่ copy มาจากเว็บที่ URL > คลิกปุ่ม Get Layers ระบบจะแสดงชั้นข้อมูลขึ้นมา > คลิกปุ่ม OK 4. ที่ Catalog จะปรากฏข้อมูล WMS ที่ได้เพิ่มไปเมื่อสักครู่นี้ 5. คลิกเม้าส์ค้าง (drag mouse) ลากชั้นข้อมูลมาวางที่พื้นที่งาน จะปรากฏการแสดงผลของชั้นข้อมูล ซึ่งจะเป็น Layer หนึ่งของโปรเจ็คงาน 6. เสร็จ ^^   ****บริการฟรี! ชั้นข้อมูลลุ่มน้ำทะเลสาบสงขลาเพิ่มเติมได้ที่ โครงการการพัฒนาฐานข้อมูลสารสนเทศภูมิศาสตร์ลุ่มน้ำทะเลสาบสงขลา โดย สถานวิจัยสารสนเทศภูมิศาสตร์ทรัพยากรธรรมชาติและสิ่งแวดล้อม คณะการจัดการสิ่งแวดล้อม มหาวิทยาลัยสงขลานครินทร์

Read More »

การนำเข้า Web Map Services บน Google Earth

จากคราวที่แล้วพูดถึงเรื่อง การสร้างเว็บแผนที่จุดความร้อน(Hotspot) โดยใช้ WMS บน ArcGIS Server ไปแล้วนะคับ วันนี้เลยว่าจะมาพูดถึงเรื่อง การนำเข้า WMS บน Google Earth กันบ้าง เพราะปัจจุบันนี้ กระแส Web Map Service (WMS) กำลังมาแรงทีเดียวเชียว ซึ่งจะเห็นได้จากหลายๆหน่วยงานของรัฐที่จะมีการเผยแพร่ลิงค์ WMS ให้ผู้ใช้สามารถนำไปใช้ต่อยอดกับงานด้าน GIS ได้ อีกทั้งยังเป็นการเผยแพร่ข้อมูลที่เป็นประโยชน์และเป็นปัจจุบันทันเหตุการณ์ เข้ากับยุคข้อมูลข่าวสารไร้พรหมแดนไร้ขอบเขตกันอีกด้วยนะครับ   WMS ย่อมาจาก Web Map Service ถ้าจะให้อธิบายให้เข้าใจกันง่ายๆ ก็คือ การนำลิงค์ที่เว็บหรือหน่วยงานอื่นๆได้เผยแพร่ข้อมูลภูมิสารสนเทศ(GIS)ให้เรานำมาใช้นำเข้าชั้นข้อมูล เพื่อที่เราจะได้นำไปประยุกต์ใช้ในงานด้าน GIS หรือเผยแพร่เป็นแผนที่ออนไลน์ ยกตัวอย่างเช่น เรานำ WMS จุดความร้อน(hotspot) ของ NASA มาจัดทำเป็นแผนที่ออนไลน์แสดงจุดความร้อน (โดยมีรายละเอียดในการทำเพิ่มเติมนิดหน่อย) แล้วมาแปะไว้ที่หน้าเว็บของเรา เป็นต้น ตัวอย่าง แผนที่แสดงจุดความร้อนทั่วโลก 2559 (updated every hour)   ตัวอย่างหน่วยงานที่เผยแพร่ WMS ระบบภูมิสารสนเทศสถิติ โดยสำนักภูมิสารสนเทศสถิติ สำนักงานสถิติแห่งชาติ ระบบภูมิสารสนเทศสถิติ โดยศูนย์สารสนเทศยุทธศาสตร์ภาครัฐ สำนักงานสถิติแห่งชาติ Fire Information for Resource Management System โดย Firms Group of NASA โครงการการพัฒนาฐานข้อมูลสารสนเทศภูมิศาสตร์ลุ่มน้ำทะเลสาบสงขลา โดย สถานวิจัยสารสนเทศภูมิศาสตร์ทรัพยากรธรรมชาติและสิ่งแวดล้อม คณะการจัดการสิ่งแวดล้อม มหาวิทยาลัยสงขลานครินทร์  ***อันนี้เป็นระบบ UTM ซึ่งผู้พัฒนากำลังจะทำการแปลงเป็นระบบ Lat-Long เพิ่มอีก 1 ชุด   *** ข้อดีของ WMS (Web Map Service) คือ จะเป็นการเชื่อต่อข้อมูลจากต้นทางมายังเว็บไซต์เรา โดยหากต้นทางมีการ update ข้อมูล ก็จะทำให้แผนที่ของเรา update ไปด้วยแบบอัตโนมัติ *** ข้อเสีย คือ หากเว็บต้นทางล่ม หรือยกเลิกการใช้งาน เว็บเราก็จะล่มไปด้วย (ไม่มีการแสดงผลทางหน้าเว็บ)   โดยมีขั้นตอนดังนี้ 1. เข้าไปที่เว็บไซต์ https://firms.modaps.eosdis.nasa.gov/web-services/ 2. คลิกขวาที่ลิงค์ MODIS 1km > Copy link address 3. เปิดโปรแกรม Google Earth 4. เพิ่มเลเยอร์ ภาพซ้อนทับ โดยสามารถเพิ่มด้วยการ คลิกไอคอนบน Tools bar หรือ คลิกขวาที่สถานที่ชั่วคราว > เพิ่ม > ภาพซ้อนทับ หรือ คลิกที่เมนู เพิ่ม > ภาพซ้อนทับ ก็ได้เช่นกัน 5. แท็บ รีเฟรช > คลิกปุ่ม พารามิเตอร์ WMS 6. คลิกปุ่ม เพิ่ม… > วางลิงค์ที่คัดลอกมาจากเว็บ NASA จากข้อ 2 > คลิกปุ่ม ตกลง 7. เลเยอร์โปร่งใส จะแสดงรายการ ให้เลือกชั้นข้อมูลที่ต้องการ แล้วคลิกปุ่ม เพิ่ม -> 8. รายการที่เลือกจะแสดงในส่วนของเลเยอร์ที่เลือก จากนั้นคลิกปุ่ม ตกลง 9. ใส่ชื่อชั้นข้อมูล > คลิกปุ่ม ตกลง 10. จะแสดงข้อมูล Google Earth ตามรูป *** ทางตอนกลาง ตอนบน และอีสานของไทยเรา มีความหนาแน่นของจุดความร้อนมากๆเลยนะคับ #ภัยแล้ง จากรูปจะเห็นได้ถึงการกระจายตัวหรือจุดความร้อนที่มีอยู่ทั่วโลก ซึ่งสามารถนำข้อมูลเหล่านี้มาวิเคราะห์ในด้านต่างๆ ต่อไป อาทิเช่น ภัยแล้ง จุดเสี่ยงการเกิดไฟป่า เป็นต้น ___จะเห็นได้ว่า การเผยแพร่ข้อมูลต่างๆที่เป็นประโยชน์จะช่วยให้สามารถนำข้อมูลนั้นมากช่วยในการคิดและวิเคราะห์ ต่อยอดงานวิจัยต่างๆ ได้อย่างกว้างขวางมากยิ่งขึ้น

Read More »

การสร้างเว็บแผนที่จุดความร้อน(Hotspot) โดยใช้ WMS บน ArcGIS Server

จากกระแสไฟไหม้พื้นที่ทางการเกษตรทางภาคเหนือของไทย ซึ่งเป็นช่วงฤดูกาลในการเตรียมพื้นดินสำหรับการเพาะปลูกทั้งของประเทศไทยและประเทศเพื่อนบ้าน ทำให้เกิดวิกฤตหมอกควันไฟครอบคลุมพื้นที่ทางภาคเหนือของประเทศ ทำให้เกิดฝุ่นละอองขนาดเล็กที่เป็นอันตรายต่อสุขภาพ โดยสามารถติดตามสถานการณ์ค่าฝุ่นละอองได้ที่เว็บไซต์กรมควบคุมมลพิษ ผู้เขียนจึงได้จัดทำแผนที่ออนไลน์แสดงจุดความร้อน (Hotspot) แบบ Real Time (มีการอัพเดทข้อมูลจุดความร้อนทุกๆชั่วโมง) โดยใช้การนำเข้าข้อมูล WMS (Web Map Service) จากเว็บไซต์ NASA มาดูวิธีการสร้างเว็บแผนที่(Web Map Application) ด้วยการนำเข้า WMS บน ArcGIS Server 10 กันนะคับ ขั้นตอนหลักๆ จะมี 3 ส่วนคือ การสร้างไฟล์นำเข้า WMS ด้วยโปรแกรม ArcGIS Desktop การสร้าง Services บน ArcGIS Server การสร้าง Web Map Application บน ArcGIS Server โดยมีขั้นตอนดังนี้ เข้าไปที่เว็บไซต์ https://firms.modaps.eosdis.nasa.gov/web-services/ คลิกขวาที่ลิงค์ MODIS 1km > Copy link address 3. เปิดโปรแกรม ArcGIS Desktop > เปิด Catalog > คลิก GIS Server > Add WMS Server 4. วางลิงค์ที่ได้จากเว็บ ที่ช่อง URL แล้วคลิกปุ่ม Get Layer http://firms.modaps.eosdis.nasa.gov/wms/c6/?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&LAYERS=fires24&width=1024&height=512&BBOX=-180,-90,180,90&&SRS=EPSG:4326 5. จะปรากฏชั้นข้อมูล > คลิกปุ่ม OK 6. Catalog จะแสดง WMS จากนั้นลากข้อมูลวางไว้ตรงพื้นที่งาน 7. แสดงจุดความร้อน โดยมีชั้นข้อมูลแบบ 24 ชม. และ 48 ชม. 8. เปลี่ยนชื่อชั้นข้อมูล เพื่อเข้าใจง่ายต่อการแสดงผ่านเว็บ 9. เพิ่มข้อความในแผนที่เพื่อให้เครดิตเจ้าของข้อมูล โดยคลิกที่เมนู Insert > Text 10. พิมพ์ Power by Firms Group of NASA แล้วปรับแต่งขนาดและตำแหน่งของข้อความ 11. จากนั้นทำการ Save ไฟล์ชื่อ hotspot2016.mxd 12. ต่อไปเป็นขั้นตอนการสร้าง web map application โดยเปิด ArcGIS Server Manager 13. ทำการสร้าง Services โดยคลิกที่ Services > Manager Services > Publish a GIS Resource 14. แท็บ General ใส่ชื่อ service ตรงช่อง Name :  ในที่นี้ใช้ชื่อ hotspot2016 15. แท็บ Parameters ตรง Map Document: ให้คลิกเลือกไฟล์ที่ได้จัดทำไว้ก่อนหน้านี้ในโปรแกรม ArcGIS ในที่นี้ไฟล์ชื่อ hotspot2016.mxd 16. แท็บ Capabilities กำหนดค่าตาม default 17. แท็บ Pooling ปรับตัวเลขให้เป็น 10 ตรงช่อง Maximum number of instances > คลิกปุ่ม Save and Restart 18. เมื่อได้สร้าง Services แล้ว ต่อไปทำการสร้างเว็บ ด้วยการคลิกที่ Applications > Create Web Application 19. ตั้งชื่อเว็บเป็น Fire ซึ่งจะเป็นชื่อเว็บสำหรับการเผยแพร่ 20. แท็บ Layer เพื่อเลือก Services ที่ได้สร้างไว้ก่อนหน้านี้ คือ hotspot2016 > คลิกปุ่ม Add 21. เพิ่ม Layer แผนที่ฐาน (Basemap)

Read More »