Posted by: wmap | December 23, 2011

Jan2011

Jan2011

ด้วย service ของ giovani ที่ http://gdata1.sci.gsfc.nasa.gov/daac-bin/G3/gui.cgi?instance_id=ocean_month ทำให้เราได้ข้อมูลรายเดือน ที่เกี่ยวข้องกับทะเล มาใช้ได้ดูดี โดยเฉพาะ HDF file และ GIF file

แต่ปัญหาของ HDF file มันไม่มีพิกัดมาด้วย ทำไงดี เสียดายสุด ๆ โทรถาม อ.สวริน ณ โคราช (ตำแหน่งในขณะนี้) ก็หน้า Giovani product lineage บอกไว้ว่า ข้อมูลที่เราเลือกมีขอบเขตเป็นเท่าไร ซึ่งก็น่าสนใจ

ได้วิธีทำด้วย gdal_translate มาลองเล่นดู Work ครับ
gdal_translate -a_srs epsg:4326 -a_ullr lng_บนซ้าย lat_บนซ้าย lng_ล่างขวา lat_ล่างขวา src_file dst_file.tif ครับ

ได้แล้ว QGIS รับงานต่อ โดย plugin “point sampling tools” WOW!!!

Posted by: wmap | September 17, 2011

Line Ending เอาซะไปไม่เป็น

ด้วยต้อง Run VIC-2L + Rout model ในลุ่มน้ำมูล
ผ่าน VIC-2L ได้อย่างทุลักทุเล นึกว่า Rout จะขนม กลับเป็น ขนมโก๋ คือติดคอ กลืนไม่ลง Run แบบ initialize ได้ไม่มีปัญหา แต่มันต้องแก้ไฟล์ input แล้ว run ใหม่อยู่หลายรอบ

ปรกติ rout ยอมให้เรา ให้ initialize file เดิมได้ โดยกำหนดชื่อให้มัน เพราะมันช้ามาก และไม่มีปัญหาใดๆ กับตรงนี้เลย แต่…

มันหา file ไม่เจอ ยังไง ยังไง ก็ไม่เจอ หัย หากต้อง run initialize ทุกครั้งไม่สนุกนะ นานโคตร แล้วทำไมมันหา file ไม่เจอ ทั้งๆที่ อ้าง path สารพัดแบบแล้ว ตัวอย่างไม่เห็นมันต้องอ้างอะไรเลย

สี่วันผ่านไป เหมือนเดิม

เอะวันก่อน เห็นอะไร แวบๆ
อะ เราใช้ Ubuntu นิ ทำไม มา set “Line Ending” เป็น “Windows” ให้เราล่ะ จะใจดีกันเกินไปแล้ว

เปลี่ยนเป็น “Linux/UNIX” save as ทดสอบ บิงโก โง่ซะได้หลายวัน
ขอบคุณรอยหยักเล็กๆ ในสมองที่พอจะอาศัยได้บ้าง

งานนี้ มั่วเองล้วนๆ

วันนี้ เอา คำสั่ง Linux มายั่วให้อยากใช้บ้างนิดนึง ปรกติหากเราอยากเปลี่ยนชื่อไฟล์ ก็แค่ คลิกขวาแล้วก็ Rename ที่ชื่อก็จบ ทั้งใน Windows และ Ubuntu world ก็พอทำไหวหากจะมีสัก ๒๐ ไฟล์

แต่ลองดูว่าหากเรามี ไฟล์ในไดเรกทอรีอยู่ ๕๐,๐๐๐ นิดหน่อย แค่นิดหน่อย เราบังเอิญว่าต้องเปลี่ยนชื่อไฟล์ เออ คงไม่ทั้งหมดหรอก แต่แค่จะให้ List รายชื่อออกมาให้ดู ไม่ว่าจะใน Windows หรือ Ubuntu ก็สาหัสพอสมควรแล้ว เรายังต้องมาดูว่าอันไหนเปลี่ยนเป็นชื่อไหนอีก อืืองานนี้ ยากพอสมควร

หากเป็นเมื่อก่อน ก็ต้องอาศัย Application สักตัวเพื่อเปลี่ยนชื่อทั้งหมด เช่น Rename4you อะไรทำนองนั้น วันนี้ใช้งาน Ubuntu เป็นหลัก ลองมานั่ง จิ้มๆ เล่นดูใน Google ไปเจอวิธีนี้เข้า เออเข้าท่า ด้วยการใช้ sed เข้ามาช่วย

คำสั่งเป็น command line จึงไม่มีปัญหากับการแสดงชื่อทั้งหมดในไดเรกทอรี คือมีเท่าไร ก็ทำไปเรื่อยๆ

$ for i in data_??.???_???.379; do mv $i `echo $i | sed -e ‘s/379/377/g’`; done

โดยรวมคือ list ไฟล์ที่อยู่ในเงื่อนไข เข้ามาเป็น list ในตัวแปร i และเปลี่ยน string ที่กำหนดให้เป็นไปตามเงื่อนไข จากนั้นส่งให้คำสั่ง mv โอ้จบ

มีเท่าไรเปลี่ยนให้หมด คราวนี้ จะมั่วหรือมึนก็ขึ้นอยู่กับการสร้างเงื่อนไขแล้วครับ ไม่มีข้อจำกัดของ application แล้ว

…บ่อยครั้งที่ หาหนังสือ “การสำรวจรังวัด” ของ อ.วิชัย ไม่เจอ และทุกครั้งที่เกิดกรณีนั้นคือ ต้องใช้หาค่าที่ยอมรับได้ในแต่ละระดับความเชื่อมั่น ซึ่งดูเหมือนเป็นเรื่องแรกๆ ที่ต้องเรียนในการรังวัด แต่ก็ไม่เคยจำตัวเลขซะที

1.ค่าเฉลี่ย อันนี้จำได้ใช้บ่อย

2. ค่าเบี่ยงเบนมาตราฐาน Standard deviation นั้นแหละ (อาศัย Spacesheet ได้)

3.ค่าเบี่ยงเบนมาตรฐานของค่าเฉลี่ย (Standard deviation of the mean) อันนี้ต้องยอมรับโดยดุษฎีว่า เป็นของใหม่ สำหรับผม ซึ่งก็เข้าใจได้ว่าเรียนมาน้อย

นั้นคืองานด้านสถิติที่ต้องใช้เป็นอย่างน้อย มาอีกเรื่องที่เป็นเรื่องใหญ่ ที่มีปัญหากับผมตลอดคือ ค่าความน่าจะเป็นของความคลาดเคลื่อน (probability of an error; p) ณ ที่ค่า sd หรือ ซิกม่า เป็น +/- 1 จะมีพื้นที่ใต้กราฟ = 68.26% แปลความได้ว่า หากวัด 100 ครั้ง จะมีอยู่ประมาณ 68 ครั้งที่มีความคลาดเคลื่อนอยู่ในเกณฑ์ที่ยอมรับได้ หรือใช้ได้ ที่ความเชื่อมั่น 68% ซึ่งการหาความน่าจะเป็นของคลาดเคลื่อนในการวัดแต่ที่ของเปอร์เซ็นต์ได้จาก

โดย e(p) เป็นค่าความคลาดเคลื่อนสุ่มที่เป็นไปได้ในร้อยละ p
c(p) เป็นค่าสัมประสิทธิ์พื้นที่ใต้กราฟของการแจกแจงปรกติที่ร้อยละ p (ตายตรงนี้)
sigma(x) เป็นค่าเบี่ยงเบนมาตรฐานของการแจกแจงปรกติ

ส่วนเรื่องระดับความเชื่อมัน (Confidence level)
เทียบได้ง่ายๆ ดังนี้ (เอาไว้จำ)

50% ==>> 0.6745(sd)
68% ==>> 1(sd)
90% ==>> 1.6449(sd)
95% ==>> 1.9599(sd)
99.5% ==>> 3(sd)

ดังนั้นสิ่งที่ต้องทำ สำหรับการสรุปผลการตรวจวัดในแต่ละครั้ง
1. หาค่าเฉลี่ย
2. หา SD ของการวัดแต่ละครั้ง
3. หา SD ของ mean
4. หา ช่วงของค่าที่วัด ที่ยอมรับได้ในความเชื่อมัน ในแต่ละระดับ (E-50,E90,E95, E99.5)

ตัวอย่างการวัดระยะทาง จำนวน 10 ครั้ง มีค่าเฉลี่ยที่ 222.073 มี SD ที่ +/- 0.02
จะได้ค่า

เมื่อต้องการค่าช่วงวัดที่ความเชื่อมันที่ 90% ได้ว่า

ทั้งหมดที่เขียนมา เพื่อความเข้าใจและความจำของผู้สร้างบล็อกครับ
และเนื้อหาทั้งหมดได้จากการอ่าน “การสำรวจรังวัด ทฤษฎีและการประยุกต์ใช้” เขียนโดย อาจารย์ วิชัย เยี่ยงวีรชน ขอบคุณอาจารย์ ที่ให้คำชี้แนะทั้งทางตรงและทางอ้อม เสมอมาครับ

Posted by: wmap | July 29, 2011

Vector plot ด้วย UV

หลายปีก่อน พยายามทำ arrow plot เพื่อแสดงกระแสน้ำ กระแสลมด้วย software gis ด้วยหลายตัว ทั้ง arcgis qgis สารพัด gis ก็ไม่ work ต้องอาศัย surfer ทุกที ยิ่งปัจจุบน หันมาคบ Ubuntu ยิ่งแล้วใหญ่ ไม่มี surfer ให้ใช้

ปรกติผมก็เล่น saga gis อยู่บ่อยๆ มันก็น่าน้อยใจเหมือนกัน เวลาใครถามว่า ใช้ GIS อะไร ผมก็ตอบทันทีว่าใช้ QGIS เพราะเป็นตัวที่ใช้ทำมาหากินอยู่เป็นหลัก ทั้งๆ ที่ หากอะไรที่ QGIS ทำไม่ได้ ผมมักอาศัย SAGA GIS เป็นตัวช่วย SAGA ย่อมาจาก System for Automated Geoscientific Analyses ยาวดีไหมมีที่พำนัก ที่ http://www.saga-gis.org/ อ่านดูน่าจะเป็นสายพันธ์เยอรมัน

วันนี้ไปอ่านเจอ Tutorial หน้าตาดี เป็นงานด้านทะเลเข้าที่ http://marinedataliteracy.org/index.html ซึ่งสอนให้ Download wind data จาก National Virtual Ocean Data System (NVODS)  นอกจากลมแล้วอย่างอื่นเช่น SST ความเค็ม หรืออะไรที่ไม่รู้จักอีกมากมาย

สุดท้ายก็อาศัย Module Gradient Vectors from Directional Components สร้าง Arrow vector จากข้อมูล U-V ของลม เพิ่งจะรู้ว่า U-V ก็ X-Y นั้นแหละ เพียงแต่เรียกให้ต่างจากค่าพิกัด เพราะเป็นแรงที่แตกออกไป 2 แกน งานนี้ทำให้ได้เครื่องมือเพิ่มขึ้นจาก SAGA GIS อีกอย่าง อ้อ กว่าจะทำได้ก็ต้อง Update SAGA ให้เป็น 2.0.7 ก่อนเพราะในเครื่องมี 2.0.5 ไม่มี Module นี้ให้ใช้นะครับ…

 

จะตัดภาพแต่ละที ต้องขอร้อง น้า goo ลุง gle ทุกครั้งให้มันได้อย่างนี้ซิ

ฝากเอาไว้ที่นี่นะ ว่า ตัดภาพต้อง gdalwarp

ตัวอย่าง ต้องการภาพ มุมล่างซ้าย(99, 6) ถึง มุมขวาบน(105, 18) ก็ใช้

gdalwarp -te 99 6 105 18 infile.tif outfile.tif

หากยังลืม หน้านี้อีก ก็สมน้ำหน้าแล้วละ

ที่มา http://research.dmsolutions.ca/?p=350

เค้ายังมี gdaldem อีกนะ

Posted by: wmap | December 10, 2010

BILKO to ILWIS

…ไม่มีอะไรง่าย สำหรับงาน Remote บน Free software

หลายเทอมก่อน อ่าน UNESCO BILKO เอาไปขายเด็ก ค่อนข้าง work เนื่องจากมีตัวอย่างให้เรียน ตรงๆ คือ Module 7 Coastal management

มี Software มี Data เตรียมให้ นิสิตชอบ เพราะมี manual guide ทำตาม ทำความเข้าใจได้

 

แต่…. ยังมีแต่อีก คือไม่สามารถ handle ภาพใหญ่ๆ ได้ แล้วเดี่ยวนี้ มันมีข้อมูลภาพจากดาวเทียมเล็กๆ ที่ไหนบ้างล่ะ

ปัญหานี้ แก้ได้โดย…. อย่าไปใช้มัน BILKO โธ่ จบกัน

แล้ว ILWIS ก็ผ่านเข้ามาในชีวิต (music มา) อันนี้ดูดีมากแต่ เรียนวิธีใช้ก็ยากเหมือนกัน เอาว่าตอบโจทย์ได้ดีที่เดียว เพียงแต่ต้องลงแรงเรียนรู้เอา

และความคิดถึง Bilko ก็กลับมา เนื่องจากเป็นเพื่อนของชาวทะเลจริงๆ จึงเริ่มโครงการ ย้าย องค์ความรู้จาก Bilko สู่ ILWIS

เจอสิ่งแรกคือ BILKO data format ไป ILWIS software โอ้พระเจ้า (องค์ไหนดีล่ะ)

สุดท้าย ไม่มีอะไร ทำไม่ได้ หากมีเวลา และ ความพยายาม (ส่วนมากจะตายตรงเวลา)

เอาเป็นว่า

BILKO save as BIN

ILWIS import Genaral raster เลือก BIN file เลือก Option กำหนด จำนวน Column ให้ตรง กำหนด ชนิด pixel ให้ตรง เลือก Convert to ILWIS object แล้ว ภาวนา (อันนี้ใช้เยอะมาก)

ปัญหาที่พบคือ หา Dimension ของ data ให้ได้ยังไง อันนี้ ต้องอาศัย BILKO หาให้เจอ

คราวหน้าจะลองกับ Multi-band ดู

(ใน Chromium นี้ มันใส่ภาพยังไง click อะไรก็ไม่เสด็จมาเลย)

 

วันนี้พยายามจะเอา เส้นถนน 1 km เข้าฐานข้อมูลให้ได้ มีแค่ประมาณ 5 หมื่นกว่า record ไม่น่ายาก

ok แก้ปัญหาเรื่องภาษาผ่าน (เก็บไว้ในนี้ หาง่ายหน่อย) gen ออกมาเป็น sql file โอ้ยใหญ่ดีแท้ Load เข้า pgadmin….

หาย!!! หายไปทั้ง pdadmin เลย ว่ะ

ไม่เป็นไรยังมีแผนสอง pipe ไปหา psql เลย อันนี้เอก สอนไว้สบาย

Ident authentication failed for user “postgres” อ้าว ทำไมล่ะ password ก็ของเรา

โง่ อยู่ได้เกือบชั่วโมง user เรา ไม่มีสิทธิ์ login เข้า postgres ต้องให้ postgres เท่านั้น จึงจะเข้า postgres ได้ 5555 งง อยู่นาน

ก็ su – postgres แล้วก็ทำทุกอย่างเหมือนเดิม ระวังเรื่อง user/postgres จะไปอ่านไฟล์ของ user ปรกติไม่ได้นะ

ขอบคุณที่นึกออก!!!

ไม่มีรูปอีกแล้ว….

ฝากคำสั่งการแปลงพิกัดกันลืมไว้หน่อย

โอ๊ตเพื่อนรัก เคยสอนใช้ gdaltransform เราก็จงรักภักดี แปลงทีละอันมาเรื่อย มาวันนี้ ข้อมูลแปลงป่าแสม มันเยอะ ก๊อปไปก๊อปมางง แล้ว ขอแปลงแบบเยอะๆ ทำไง

อ้าว gdaltransform แปลงให้แค่ record แรก มีตั้งกว่า 300 แปลงแค่หนึ่ง อู้ ชัดๆ

google ช่วยหน่อย

cs2cs แปลงมันทั้งไฟล์

ได้มาแล้ว

wirotela@wirotela-laptop:~$ cs2cs -E -f “%.15f” +init=epsg:32647 +to +init=epsg:4326 test.text > ~/test4326.txt

สมปรารถนา ทศนิยมยาวเหยียด

Older Posts »

Categories