<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sarawut Ninsawat</title>
	<atom:link href="http://www.ninsawat.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.ninsawat.com</link>
	<description>A Personal Blog but not private</description>
	<lastBuildDate>Sat, 02 Aug 2025 08:02:05 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.9.2</generator>
	<item>
		<title>Tutorial: Realtime Android Heart Rate Monitor and Dashboard</title>
		<link>http://www.ninsawat.com/?p=157&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=tutorial-realtime-android-heart-rate-monitor-and-dashboard</link>
		<comments>http://www.ninsawat.com/?p=157#comments</comments>
		<pubDate>Mon, 04 Apr 2016 10:57:09 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[sensor]]></category>

		<guid isPermaLink="false">http://www.ninsawat.com/?p=157</guid>
		<description><![CDATA[ของเล่นใหม่ ๆ น่าลองเอามาทำอะไรเล่นๆ https://www.pubnub.com/blog/2015-09-17-tutorial-realtime-android-heart-rate-monitor-and-dashboard/]]></description>
				<content:encoded><![CDATA[<p>ของเล่นใหม่ ๆ น่าลองเอามาทำอะไรเล่นๆ</p>
<p>https://www.pubnub.com/blog/2015-09-17-tutorial-realtime-android-heart-rate-monitor-and-dashboard/</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ninsawat.com/?feed=rss2&#038;p=157</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Process to import SHP with Thai (UTF8) to MS SQL Server</title>
		<link>http://www.ninsawat.com/?p=131&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=process-to-import-shp-with-thai-utf8-to-ms-sql-server</link>
		<comments>http://www.ninsawat.com/?p=131#comments</comments>
		<pubDate>Wed, 01 Jul 2015 23:38:47 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.ninsawat.com/?p=131</guid>
		<description><![CDATA[Process to import SHP with Thai (UTF8) to MS SQL Server as below 1. Shp2pgsql 2. Make sure PK is there 3. pgsql2shp 4. Make db on MS SQL 5. Shape2SQL (http://www.sharpgis.net/page/SQL-Server-2008-Spatial-Tools) OGR2OGR is not worked for UTF8 to MSSQL, spending 2 days&#8230;. frown emoticon Is it too difficult ?]]></description>
				<content:encoded><![CDATA[<p>Process to import SHP with Thai (UTF8) to MS SQL Server as below<br />
1. Shp2pgsql<br />
2. Make sure PK is there<br />
3. pgsql2shp<br />
4. Make db on MS SQL<br />
5. Shape2SQL (http://www.sharpgis.net/page/SQL-Server-2008-Spatial-Tools)<br />
OGR2OGR is not worked for UTF8 to MSSQL, spending 2 days&#8230;. frown emoticon<br />
Is it too difficult ?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ninsawat.com/?feed=rss2&#038;p=131</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using mapbox layer on Openlayer v 2</title>
		<link>http://www.ninsawat.com/?p=132&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=using-mapbox-layer-on-openlayer-v-2</link>
		<comments>http://www.ninsawat.com/?p=132#comments</comments>
		<pubDate>Thu, 06 Nov 2014 16:24:40 +0000</pubDate>
		<dc:creator><![CDATA[sarawut]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.ninsawat.com/?p=132</guid>
		<description><![CDATA[Now, Tile maps is a useful for simple and fast data sharing. Mapbox is a service that you can upload your preset MTiles or your raw data and make the tile server ready on their service. Cliend and API is also ready in mapbox.com However, many people ( like me still prefer OpenLayers API) following&#8230;]]></description>
				<content:encoded><![CDATA[<p>Now, Tile maps is a useful for simple and fast data sharing.</p>
<p>Mapbox is a service that you can upload your preset MTiles or your raw data and make the tile server ready on their service.</p>
<p>Cliend and API is also ready in mapbox.com</p>
<p>However, many people ( like me still prefer OpenLayers API) following is a code you can add TileMap from Mapbox to openlayer</p>
<p>var mylayer = new OpenLayers.Layer.XYZ(<br />
&#8220;mymap&#8221;,<br />
[<br />
"https://a.tiles.mapbox.com/v4/userid/${z}/${x}/${y}.png?access_token=token"<br />
], {<br />
attribution: &#8220;Tiles © <a href="http://mapbox.com/">MapBox</a>&#8220;,<br />
sphericalMercator: true,<br />
wrapDateLine: true,<br />
numZoomLevels: 8<br />
}<br />
);</p>
<p>Replace userid with your mapbox id</p>
<p>and token with your token for the map.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ninsawat.com/?feed=rss2&#038;p=132</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>คำสั่งที่เกี่ยวข้อง การจัดการ tablespace ใน oracle</title>
		<link>http://www.ninsawat.com/?p=117&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e0%25b8%2584%25e0%25b8%25b3%25e0%25b8%25aa%25e0%25b8%25b1%25e0%25b9%2588%25e0%25b8%2587%25e0%25b8%2597%25e0%25b8%25b5%25e0%25b9%2588%25e0%25b9%2580%25e0%25b8%2581%25e0%25b8%25b5%25e0%25b9%2588%25e0%25b8%25a2%25e0%25b8%25a7%25e0%25b8%2582%25e0%25b9%2589%25e0%25b8%25ad%25e0%25b8%2587-%25e0%25b8%2581%25e0%25b8%25b2%25e0%25b8%25a3</link>
		<comments>http://www.ninsawat.com/?p=117#comments</comments>
		<pubDate>Fri, 07 Feb 2014 22:17:53 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.ninsawat.com/?p=117</guid>
		<description><![CDATA[มีปัญหามาหลายครั้งกับ tablespace เต็ม ทำทีก็หาที ก็เลย ค้นมาเก็บไว้เลยละกัน &#8211; list all tablespaces with their associated files, the &#8211; tablespace&#8217;s allocated space, free space, and the &#8211; next free extent: clear breaks SET linesize 130 SET pagesize 60 break ON tablespace_name skip 1 col tablespace_name format a15 col file_name format a50 col tablespace_kb heading &#8216;TABLESPACE&#124;TOTAL KB&#8217; col kbytes_free&#8230;]]></description>
				<content:encoded><![CDATA[<p>มีปัญหามาหลายครั้งกับ tablespace เต็ม ทำทีก็หาที ก็เลย ค้นมาเก็บไว้เลยละกัน</p>
<p>&#8211; list all tablespaces with their associated files, the<br />
&#8211; tablespace&#8217;s allocated space, free space, and the<br />
&#8211; next free extent:</p>
<p>clear breaks<br />
SET linesize 130<br />
SET pagesize 60<br />
break ON tablespace_name skip 1<br />
col tablespace_name format a15<br />
col file_name format a50<br />
col tablespace_kb heading &#8216;TABLESPACE|TOTAL KB&#8217;<br />
col kbytes_free heading &#8216;TOTAL FREE|KBYTES&#8217;</p>
<p>SELECT dd.tablespace_name tablespace_name, dd.file_name file_name, dd.bytes/1024 TABLESPACE_KB, SUM(fs.bytes)/1024 KBYTES_FREE, MAX(fs.bytes)/1024 NEXT_FREE<br />
FROM sys.dba_free_space fs, sys.dba_data_files dd<br />
WHERE dd.tablespace_name = fs.tablespace_name<br />
AND dd.file_id = fs.file_id<br />
GROUP BY dd.tablespace_name, dd.file_name, dd.bytes/1024<br />
ORDER BY dd.tablespace_name, dd.file_name;</p>
<p>&#8211; list datafiles, tablespace names, and size in MB:</p>
<p>col file_name format a50<br />
col tablespace_name format a10</p>
<p>SELECT file_name, tablespace_name, ROUND(bytes/1024000) MB<br />
FROM dba_data_files<br />
ORDER BY 1;</p>
<p>&#8211; list tablespaces, size, free space, and percent free<br />
&#8211; query originally developed by Michael Lehmann </p>
<p>SELECT df.tablespace_name TABLESPACE, df.total_space TOTAL_SPACE,<br />
fs.free_space FREE_SPACE, df.total_space_mb TOTAL_SPACE_MB,<br />
(df.total_space_mb &#8211; fs.free_space_mb) USED_SPACE_MB,<br />
fs.free_space_mb FREE_SPACE_MB,<br />
ROUND(100 * (fs.free_space / df.total_space),2) PCT_FREE<br />
FROM (SELECT tablespace_name, SUM(bytes) TOTAL_SPACE,<br />
      ROUND(SUM(bytes) / 1048576) TOTAL_SPACE_MB<br />
      FROM dba_data_files<br />
      GROUP BY tablespace_name) df,<br />
     (SELECT tablespace_name, SUM(bytes) FREE_SPACE,<br />
       ROUND(SUM(bytes) / 1048576) FREE_SPACE_MB<br />
       FROM dba_free_space<br />
       GROUP BY tablespace_name) fs<br />
WHERE df.tablespace_name = fs.tablespace_name(+)<br />
ORDER BY fs.tablespace_name;</p>
<p>&#8211;short and easy check freespace of USERS<br />
select sum(bytes)/1024/1024/1024 from dba_free_space where tablespace_name=&#8217;USERS&#8217;;</p>
<p>&#8211;check temp free space<br />
SELECT tablespace_name, SUM (bytes_used), SUM (bytes_free) FROM v$temp_space_header GROUP BY tablespace_name;</p>
<p>&#8211;check temp dbf<br />
SELECT tablespace_name, file_name, bytes  FROM dba_temp_files WHERE tablespace_name like &#8216;TEMP%&#8217;;</p>
<p>&#8211;shrink free space<br />
ALTER TABLESPACE temp shrink space;<br />
ALTER TABLESPACE temp shrink tempfile &#8216;/oracle01/oradata/orcl/temp01.dbf&#8217;;</p>
<p>&#8211;add new bigfile<br />
ALTER TABLESPACE tablespace ADD DATAFILE<br />
   &#8216;path/filename.dbf&#8217; SIZE bytes<br />
   AUTOEXTEND ON MAXSIZE UNLIMITED;</p>
<p>&#8211;add new tempfile<br />
ALTER TABLESPACE SEARCH_TEMP ADD TEMPFILE<br />
   &#8216;path/filename.dbf&#8217; SIZE bytes<br />
   AUTOEXTEND ON MAXSIZE UNLIMITED;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ninsawat.com/?feed=rss2&#038;p=117</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ใช้งาน Attribute replacement สำหรับ Vector layer ใน OpenLayers</title>
		<link>http://www.ninsawat.com/?p=115&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e0%25b9%2583%25e0%25b8%258a%25e0%25b9%2589%25e0%25b8%2587%25e0%25b8%25b2%25e0%25b8%2599-attribute-replacement-%25e0%25b8%25aa%25e0%25b8%25b3%25e0%25b8%25ab%25e0%25b8%25a3%25e0%25b8%25b1%25e0%25b8%259a-vector-layer-%25e0%25b9%2583%25e0%25b8%2599-openlayers</link>
		<comments>http://www.ninsawat.com/?p=115#comments</comments>
		<pubDate>Thu, 10 Oct 2013 20:30:47 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Openlayers vector label attribute]]></category>

		<guid isPermaLink="false">http://www.ninsawat.com/?p=115</guid>
		<description><![CDATA[ลองหาวิธีนั้นนี่ มาตั้งนานว่า จะทำงานอย่างไรในการใช้งาน Attribute replacement ใน Doc บอกง่าย ๆ var defaultStyle = new OpenLayers.Style({ &#8216;pointRadius&#8217;: 10, &#8216;externalGraphic&#8217;: &#8216;${thumbnail}&#8217; }); เวลาทำการทสร้าง Style ใช้แบบข้างบนไม่มีปัญหา แต่หากต้อง modified ค่าระหว่างทาง หรือ vector นี้ใช้กับ หลายชนิด ชั้น ข้อมูละก็จะมีปัญหา มาเจอ link ข้างล่างมีประโยชน์ ในการใช้ context new OpenLayers.Style({ fillColor: &#8216;blue&#8217;, strokeColor: &#8216;navy&#8217;, strokeWidth: 3, pointRadius: 9, fillOpacity: 0.6, strokeOpacity: 0.75, label: &#8216;${label}&#8217;, fontColor: &#8220;black&#8221;, fontFamily:&#8230;]]></description>
				<content:encoded><![CDATA[<p>ลองหาวิธีนั้นนี่ มาตั้งนานว่า จะทำงานอย่างไรในการใช้งาน Attribute replacement </p>
<p>ใน Doc บอกง่าย ๆ</p>
<p>var defaultStyle = new OpenLayers.Style({<br />
  &#8216;pointRadius&#8217;: 10,<br />
  &#8216;externalGraphic&#8217;: &#8216;${thumbnail}&#8217;<br />
});</p>
<p>เวลาทำการทสร้าง Style ใช้แบบข้างบนไม่มีปัญหา แต่หากต้อง modified ค่าระหว่างทาง หรือ vector นี้ใช้กับ หลายชนิด ชั้น ข้อมูละก็จะมีปัญหา</p>
<p>มาเจอ link ข้างล่างมีประโยชน์ ในการใช้ context </p>
<p>new OpenLayers.Style({<br />
fillColor: &#8216;blue&#8217;,<br />
strokeColor: &#8216;navy&#8217;,<br />
strokeWidth: 3,<br />
pointRadius: 9,<br />
fillOpacity: 0.6,<br />
strokeOpacity: 0.75,<br />
label: &#8216;${label}&#8217;,<br />
fontColor: &#8220;black&#8221;,<br />
fontFamily: &#8220;Arial&#8221;,<br />
fontSize: 11<br />
},<br />
{<br />
    context: {<br />
        label:function(feature) {<br />
            if(feature.attributes['p_name']) {<br />
                return feature.attributes.p_name;<br />
            } else {<br />
                return &#8221;;<br />
            }<br />
        }<br />
}<br />
});</p>
<p>จึงเจอทางออก</p>
<p>http://gis.stackexchange.com/questions/70299/provide-an-alternative-label-when-styling-vector-layer-with-openlayers</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ninsawat.com/?feed=rss2&#038;p=115</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ushahidi คิดว่าง่าย</title>
		<link>http://www.ninsawat.com/?p=94&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ushahidi-%25e0%25b8%2584%25e0%25b8%25b4%25e0%25b8%2594%25e0%25b8%25a7%25e0%25b9%2588%25e0%25b8%25b2%25e0%25b8%2587%25e0%25b9%2588%25e0%25b8%25b2%25e0%25b8%25a2</link>
		<comments>http://www.ninsawat.com/?p=94#comments</comments>
		<pubDate>Tue, 11 Oct 2011 23:12:17 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Ushahidi]]></category>

		<guid isPermaLink="false">http://www.ninsawat.com/?p=94</guid>
		<description><![CDATA[ได้รับการร้องขออย่างเร่งด่วน ให้ติดตั้ง Ushahidi ก็ยังไม่เคยลงมือเองตั้งแต่ต้น เคยแต่ดูงานสำเร็จ และทดลองใช้จาก Crowmap.com ก็ใช้งานได้ดีไม่มีปัญหาอะไร พอมาใช้จริงก็เจอปัญหา เยอะเหมือนกัน เช่น นับตั้งแต่ติดตั้งเสร็จ ก็เจอ การเข้าหน้า admin ไม่ได้ ต้องทำการแก้ .htaccess เพราะมันแสดง &#8220;No input field specified&#8221; ก็ตามแก้กันไป ตาม link http://forums.ushahidi.com/topic/no-input-file-specified-1 แต่ก็มีปัญหาอื่นเพิ่มเติมขี้นมา เช่น Catalog แสดงสีเดียวหมดสะงั้น, จุด marker ที่แสดงเริ่มต้น ย้ายไม่ได้ต้องสั่งลบไปก่อน และอื่น ๆ ที่ดูแล้วมันเพี้ยน ก็เลยลองค้นหาข้อมูลเพิ่มก็กะไว้แล้วว่าต้องมีเรื่อง security หรือ .htaccess ก็เลยรู้ว่าการแก้ ตามข้างต้นเป็นการแก้ปลายเหตุ ทำให้ผลมันเพี้ยน วิธีที่ทำแล้วผ่านก็แก้ php.ini ให้แก้ cgi.fix_pathinfo = 0 สะ ก็จะแก้ได้ อ้างอิง จาก&#8230;]]></description>
				<content:encoded><![CDATA[<p>ได้รับการร้องขออย่างเร่งด่วน ให้ติดตั้ง Ushahidi ก็ยังไม่เคยลงมือเองตั้งแต่ต้น เคยแต่ดูงานสำเร็จ และทดลองใช้จาก Crowmap.com ก็ใช้งานได้ดีไม่มีปัญหาอะไร</p>
<p>พอมาใช้จริงก็เจอปัญหา เยอะเหมือนกัน เช่น นับตั้งแต่ติดตั้งเสร็จ ก็เจอ การเข้าหน้า admin ไม่ได้ ต้องทำการแก้ .htaccess เพราะมันแสดง &#8220;No input field specified&#8221; ก็ตามแก้กันไป ตาม link http://forums.ushahidi.com/topic/no-input-file-specified-1</p>
<p>แต่ก็มีปัญหาอื่นเพิ่มเติมขี้นมา เช่น Catalog แสดงสีเดียวหมดสะงั้น, จุด marker ที่แสดงเริ่มต้น ย้ายไม่ได้ต้องสั่งลบไปก่อน และอื่น ๆ ที่ดูแล้วมันเพี้ยน</p>
<p>ก็เลยลองค้นหาข้อมูลเพิ่มก็กะไว้แล้วว่าต้องมีเรื่อง security หรือ .htaccess ก็เลยรู้ว่าการแก้ ตามข้างต้นเป็นการแก้ปลายเหตุ ทำให้ผลมันเพี้ยน</p>
<p>วิธีที่ทำแล้วผ่านก็แก้ php.ini ให้แก้</p>
<p>cgi.fix_pathinfo = 0 </p>
<p>สะ ก็จะแก้ได้ อ้างอิง จาก http://www.terencechang.com/2008/08/28/codeigniter-no-input-file-specified-php-5-apache-2/</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ninsawat.com/?feed=rss2&#038;p=94</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>เริ่มต้นกับ ZooWPS</title>
		<link>http://www.ninsawat.com/?p=85&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e0%25b9%2580%25e0%25b8%25a3%25e0%25b8%25b4%25e0%25b9%2588%25e0%25b8%25a1%25e0%25b8%2595%25e0%25b9%2589%25e0%25b8%2599%25e0%25b8%2581%25e0%25b8%25b1%25e0%25b8%259a-zoowps</link>
		<comments>http://www.ninsawat.com/?p=85#comments</comments>
		<pubDate>Thu, 04 Nov 2010 07:45:01 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[wps]]></category>

		<guid isPermaLink="false">http://www.ninsawat.com/?p=85</guid>
		<description><![CDATA[หลังจากพูดคุยในวงเหล้า บนเครื่อง บนรถกับ Gerald มานานว่าจะลอง ๆ Zoo ก็ไม่มีโอกาสสะที ทั้งที่เข้าใจโครงสร้างระบบทุกอย่างหมดละ เมื่อวานก็เลยใช้ช่วงโอกาสเข้า Workshop กันไปเลยจะได้ลองจริง ๆ จากที่ลองก็ถือว่า มีแนวคิดที่ดี แต่ยังเป็นของใหม่ทำให้ต้องอาศัย ความเข้าใจอยู่ในระดับที่ว่าเป็น advanced ก็สรุป ๆ บางอย่างได้ดังนี้ Compile : ดูเหมือนจะยาก เพราะขนาดใช้ LiveDVD ที่ลง lib ที่จำเป็นไว้หมดแล้วก็ยังลงไม่ผ่าน อาจจะต้องใช้ lib-dev บางส่วนเพิ่มเติม ไว้จะลองใหม่ Install : หลัก ๆที่ใช้คือ zoo_loader.cgi และ main.cfg ให้ไปใส่ไว้ใน cgi-bin directory โดย main.cfg จะเป็น config กำหนดค่าต่าง ๆ ที่จำเป็น ทั้ง tmppath, tmpURL and so&#8230;]]></description>
				<content:encoded><![CDATA[<p>หลังจากพูดคุยในวงเหล้า บนเครื่อง บนรถกับ Gerald มานานว่าจะลอง ๆ Zoo ก็ไม่มีโอกาสสะที ทั้งที่เข้าใจโครงสร้างระบบทุกอย่างหมดละ เมื่อวานก็เลยใช้ช่วงโอกาสเข้า Workshop กันไปเลยจะได้ลองจริง ๆ จากที่ลองก็ถือว่า มีแนวคิดที่ดี แต่ยังเป็นของใหม่ทำให้ต้องอาศัย ความเข้าใจอยู่ในระดับที่ว่าเป็น advanced ก็สรุป ๆ บางอย่างได้ดังนี้</p>
<p>Compile : ดูเหมือนจะยาก เพราะขนาดใช้ LiveDVD ที่ลง lib ที่จำเป็นไว้หมดแล้วก็ยังลงไม่ผ่าน อาจจะต้องใช้ lib-dev บางส่วนเพิ่มเติม ไว้จะลองใหม่</p>
<p>Install : หลัก ๆที่ใช้คือ zoo_loader.cgi และ main.cfg ให้ไปใส่ไว้ใน cgi-bin directory โดย main.cfg จะเป็น config กำหนดค่าต่าง ๆ ที่จำเป็น ทั้ง tmppath, tmpURL and so on.</p>
<p>Service Provider : จะมีไฟล์ หลัก ๆ ที่จำเป็นคือ zcfg จะเป็น metada config ระบุ input, output สิ่งที่สำคัญคือในบรรทัดแรก จะเป็น ชื่อ function ที่จะอ้างถึงในไฟล์ ServiceProvider อีกทั้งชื่อไฟล์ zcfg ก็จะต้องมีค่าตรงกับค่าในบรรทัดแรกด้วย<br />
ในไฟล์ ServiceProvider (ที่อ้างมาจาก ค่าในไฟล์ zcfg) จะเป็นเหมือนไฟล์ที่เก็บ library function ทั้งที่ใช้ใน ตัว lib เองหรือ ถูกใช้จาก zcfg ค่า serviceType จะเป็นตัวบอกว่าใช้ service ในภาษาอะไรเช่น C, Python etc..<br />
- serviceProvider เป็นชื่อไฟล์ ที่จะ link มาใช้ แต่ไม่ต้องมี .py ในกรณีของ python แต่ต้องมี .zo ในกรณีของ C (ทำเอา งง เหมือนกัน)<br />
- ในการใช้ serviceprovider ของ C ต้องทำการ compile code ภายใน zoows source code แล้วจึงเอา obj มาไว้ใน cgi-bin directory ค่อนข้างดูยุ่งยากใช้ได้กันเลย ถ้าเทียบกับ python ที่เป็น script<br />
- การทำเป็นลักษณะ lib function ใน serviceProvider ถือว่าดี ในกรณที่ อนาคตหากมีการใช้งาน WorkFlow<br />
- การ fix config อาจจะทำให้การใช้งานร่วมกัน หลายคนใน server เดียวกันมีปัญหา<br />
- การเก็บ lib code ไว้ใน web accessible อาจจะไม่ปลอดภัยมากนัก</p>
<p>ต่อไปคงต้องลอง migrate code PyWPS มาเล่นสักหน่อย</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ninsawat.com/?feed=rss2&#038;p=85</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>gdalbuildvrt กับ Virtual Mosaic Overlaped image</title>
		<link>http://www.ninsawat.com/?p=83&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=gdalbuildvrt-%25e0%25b8%2581%25e0%25b8%25b1%25e0%25b8%259a-virtual-mosaic-overlaped-image</link>
		<comments>http://www.ninsawat.com/?p=83#comments</comments>
		<pubDate>Wed, 04 Aug 2010 06:35:40 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[gdal]]></category>
		<category><![CDATA[wcs]]></category>

		<guid isPermaLink="false">http://www.ninsawat.com/?p=83</guid>
		<description><![CDATA[ครั้งนี้เจอปัญหา ที่จะทำให้ผู้ใช้ทำการ Request data จาก WCS โดยที่ data นั้นมี pixel ที่ overlap กันอยู่ได้ (ในกรณี คือข้อมูล MOD11A1 ที่ในส่วน overlap นั้นมี scene หนึ่งมีค่าเป็น nodata และอีก scene มีค่าข้อมูลอยู่) โดยปกติถ้าทำการใช้เทคนิค Tiling ธรรมดา ใน Mapserver เมื่อทำ request พื้นที่ overlap ก็จะอาจจะได้ค่าข้อมูลในส่วนนั้นเป็น nodata ขี้นอยู่กับ order ของชั้นข้อมูลว่าอะไรอยู่บน หรือ ล่าง เมื่อทำการหาข้อมูลเพิ่มเติม ก็มีผู้แนะนำให้ใช้ gdalbuildvrt ทำการสร้าง VRT file ขึ้นมาให้เหมือนเป็นการ Virtual Mosaic ซึ่งในการสร้างก็จะมี option -srcnodata ทำให้สามารถข้ามค่าข้อมูลนั้น ไปได้&#8230;]]></description>
				<content:encoded><![CDATA[<p>ครั้งนี้เจอปัญหา ที่จะทำให้ผู้ใช้ทำการ Request data จาก WCS โดยที่ data นั้นมี pixel ที่ overlap กันอยู่ได้ (ในกรณี คือข้อมูล MOD11A1 ที่ในส่วน overlap นั้นมี scene หนึ่งมีค่าเป็น nodata และอีก scene มีค่าข้อมูลอยู่)</p>
<p>โดยปกติถ้าทำการใช้เทคนิค Tiling ธรรมดา ใน Mapserver เมื่อทำ request พื้นที่ overlap ก็จะอาจจะได้ค่าข้อมูลในส่วนนั้นเป็น nodata ขี้นอยู่กับ order ของชั้นข้อมูลว่าอะไรอยู่บน หรือ ล่าง</p>
<p>เมื่อทำการหาข้อมูลเพิ่มเติม ก็มีผู้แนะนำให้ใช้ gdalbuildvrt ทำการสร้าง VRT file ขึ้นมาให้เหมือนเป็นการ Virtual Mosaic ซึ่งในการสร้างก็จะมี option -srcnodata ทำให้สามารถข้ามค่าข้อมูลนั้น ไปได้ แต่มันรองรับหลังจาก version 1.7.0 เท่านั้น</p>
<p>มีข้อพึงระวัง อยู่ 3 อย่างในการทำ vrt</p>
<p>- ต้องมี Projection / Coordinate เดียวกัน</p>
<p>- Spaitial resolution เท่ากัน</p>
<p>- Band order เหมือนกัน</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ninsawat.com/?feed=rss2&#038;p=83</wfw:commentRss>
		<slash:comments>32</slash:comments>
		</item>
		<item>
		<title>Bands processing not work in WCS</title>
		<link>http://www.ninsawat.com/?p=80&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=bands-processing-not-work-in-wcs</link>
		<comments>http://www.ninsawat.com/?p=80#comments</comments>
		<pubDate>Fri, 09 Jul 2010 06:37:16 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.ninsawat.com/?p=80</guid>
		<description><![CDATA[หลังจากง่มหามาหลายชั่วโมง ก็เจออีกแล้วกับ ข้อตกหล่นที่พลาดของ Mapserver คราวนี้ กับ WCS เมื่อต้องการเลือกข้อมูลบาง Band ของ Raster data type หากทำการ define ไว้ใน mapfile ผลที่ได้ก็จะได้แต่ bands แรก เท่านั้น เพราะ มันข้ามคำสั่ง Bands ไปสะงั้น http://www.mail-archive.com/mapserver-users@lists.umn.edu/msg14498.html แทนที่จะทำ tile index แค่อันเดียวแล้วเลือก bands ก็ต้องทำแยกแต่ละ tile index ให้มันยุ่งยาก ปัญหามีคนแจ้งตั้งแต่ปี 2007 แต่ยังไม่มีใครการแก้เลยสะงั้น]]></description>
				<content:encoded><![CDATA[<p>หลังจากง่มหามาหลายชั่วโมง ก็เจออีกแล้วกับ ข้อตกหล่นที่พลาดของ Mapserver คราวนี้ กับ WCS</p>
<p>เมื่อต้องการเลือกข้อมูลบาง Band ของ Raster data type หากทำการ define ไว้ใน mapfile</p>
<p>ผลที่ได้ก็จะได้แต่ bands แรก เท่านั้น เพราะ มันข้ามคำสั่ง Bands ไปสะงั้น http://www.mail-archive.com/mapserver-users@lists.umn.edu/msg14498.html</p>
<p>แทนที่จะทำ tile index แค่อันเดียวแล้วเลือก bands ก็ต้องทำแยกแต่ละ tile index ให้มันยุ่งยาก</p>
<p>ปัญหามีคนแจ้งตั้งแต่ปี 2007 แต่ยังไม่มีใครการแก้เลยสะงั้น</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ninsawat.com/?feed=rss2&#038;p=80</wfw:commentRss>
		<slash:comments>32</slash:comments>
		</item>
		<item>
		<title>SensorML Tools</title>
		<link>http://www.ninsawat.com/?p=71&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=sensorml-tools</link>
		<comments>http://www.ninsawat.com/?p=71#comments</comments>
		<pubDate>Wed, 20 Jan 2010 22:27:13 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[sensorml tools sos]]></category>

		<guid isPermaLink="false">http://www.ninsawat.com/?p=71</guid>
		<description><![CDATA[วันนี้นำเอาเครื่องมือในการสร้าง และแก้ไข SensorML มาลงไว้เผื่อมีประโยชน์กับใคร http://vast.uah.edu/index.php?option=com_content&#038;view=article&#038;id=149&#038;Itemid=103 ลองใช้แล้วก็ถือว่าใช้งานได้ดี แต่ถ้าคนที่ไม่เคยใช้มาก่อน หรือไม่เคยทำ SensorML มาก่อนก็อาจจะงง ๆ ว่าต้องใส่อะไรบ้างหรือเพิ่มอะไรบ้าง จุดบกพร่องก็มีบ้าง เช่น - ไม่มี Position tag ซึ่งมีความเป็นจำเป็น - ไม่สามารถเพิ่ม metaproperty tag ได้ ซึ่ง 52NSOS จำเป็นต้องใช้สำหรับในส่วนค่า offering - เมื่อทำการแก้ไขค่าในไฟล์ xml แล้วหากกลับมาแก้ไขในไฟล์ของโปรแกรมก็จะลบ ข้อมูลที่แก้ไขใน XML ออกไปทำให้ต้องการทำ Customization หลังจากที่เสร็จสิ้นแล้วเท่านั้น]]></description>
				<content:encoded><![CDATA[<p>วันนี้นำเอาเครื่องมือในการสร้าง และแก้ไข SensorML มาลงไว้เผื่อมีประโยชน์กับใคร</p>
<p>http://vast.uah.edu/index.php?option=com_content&#038;view=article&#038;id=149&#038;Itemid=103</p>
<p>ลองใช้แล้วก็ถือว่าใช้งานได้ดี แต่ถ้าคนที่ไม่เคยใช้มาก่อน หรือไม่เคยทำ SensorML มาก่อนก็อาจจะงง ๆ ว่าต้องใส่อะไรบ้างหรือเพิ่มอะไรบ้าง</p>
<p>จุดบกพร่องก็มีบ้าง เช่น</p>
<p>- ไม่มี Position tag ซึ่งมีความเป็นจำเป็น</p>
<p>- ไม่สามารถเพิ่ม metaproperty tag ได้ ซึ่ง 52NSOS จำเป็นต้องใช้สำหรับในส่วนค่า offering</p>
<p>- เมื่อทำการแก้ไขค่าในไฟล์ xml แล้วหากกลับมาแก้ไขในไฟล์ของโปรแกรมก็จะลบ ข้อมูลที่แก้ไขใน XML ออกไปทำให้ต้องการทำ Customization หลังจากที่เสร็จสิ้นแล้วเท่านั้น</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ninsawat.com/?feed=rss2&#038;p=71</wfw:commentRss>
		<slash:comments>48</slash:comments>
		</item>
	</channel>
</rss>
