<?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 &#187; python</title>
	<atom:link href="http://www.ninsawat.com/?cat=21&#038;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>SWIG Mapscript vs PHP Mapscript</title>
		<link>http://www.ninsawat.com/?p=58&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=swig-mapscript-vs-php-mapscript</link>
		<comments>http://www.ninsawat.com/?p=58#comments</comments>
		<pubDate>Thu, 25 Jun 2009 08:07:41 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[mapserver]]></category>
		<category><![CDATA[mapserver WxS]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[pyhon mapscript mapserver php]]></category>

		<guid isPermaLink="false">http://www.ninsawat.com/?p=58</guid>
		<description><![CDATA[เคยแต่ใช้ PHP Mapscript มาสะนาน คราวนี้มาลองใช้ SWIG Mapscript ดูบ้าง ก็เลยลองกลับ Python 2.6 มาเปรียบเทียนกันเลยละกัน Code ที่แสดงเป็นการเปลี่่ยนค่า PROCESSING ของ RASTER layer แล้วทำการ QueryByPoint โดยใน PHP เจอปัญหาสามารถกำหนดค่า BANDS ได้เพียง 5 bands แต่ใน python ในนั้นไม่มีปัญหา รวมถึงหากกำหนดใน mapfile เช่นกันคาดว่าจะเป็นในเรื่องของ ขนาด shape result ที่ใหญ่เกินกว่าที่กำหนดไว้ เท่าที่ลองใช้ python mapscript ก็ใช้งานได้ดี โดยเฉพาะในแบบ interactive ทำให้ง่ายต่อการ debug Python Code import mapscriptomap=mapscript.mapObj("test.map") olayer=omap.getLayerByName("testdata") olayer.status=mapscript.MS_ON olayer.clearProcessing() olayer.setProcessingKey("BANDS","1,2,3,4") queryPoint =&#8230;]]></description>
				<content:encoded><![CDATA[<p>เคยแต่ใช้ PHP Mapscript มาสะนาน คราวนี้มาลองใช้ SWIG Mapscript ดูบ้าง ก็เลยลองกลับ Python 2.6</p>
<p>มาเปรียบเทียนกันเลยละกัน Code ที่แสดงเป็นการเปลี่่ยนค่า PROCESSING ของ RASTER layer แล้วทำการ QueryByPoint โดยใน PHP เจอปัญหาสามารถกำหนดค่า BANDS ได้เพียง 5 bands แต่ใน python ในนั้นไม่มีปัญหา รวมถึงหากกำหนดใน mapfile เช่นกันคาดว่าจะเป็นในเรื่องของ ขนาด shape result ที่ใหญ่เกินกว่าที่กำหนดไว้</p>
<p>เท่าที่ลองใช้ python mapscript ก็ใช้งานได้ดี โดยเฉพาะในแบบ interactive ทำให้ง่ายต่อการ debug</p>
<p><font color="#ff0000"><em><strong>Python Code</strong></em></font></p>
<p><code></code></p>
<pre>import mapscriptomap=mapscript.mapObj("test.map")

olayer=omap.getLayerByName("testdata")

olayer.status=mapscript.MS_ON

olayer.clearProcessing()

olayer.setProcessingKey("BANDS","1,2,3,4")

queryPoint = mapscript.pointObj(-179.5,89.5)

olayer.queryByPoint(omap,queryPoint,mapscript.MS_SINGLE,-1)

olayer.open()

for i in range(olayer.getNumResults()):

result=olayer.getResult(i)

s=olayer.getFeature(result.shapeindex)

for i in range(olayer.numitems):

print "%s: %s" % (olayer.getItem(i), s.getValue(i)

olayer.close()</pre>
<p><font color="#ff0000"><em><strong>PHP Mapscript</strong></em></font></p>
<p><code> </code></p>
<pre>dl("php_mapscript.so");$oMap = ms_newMapobj("/srv/maps/modis/config.map");

$oLayer = $oMap-&gt;getLayerByName("testdata");

$oLayer-&gt;clearprocessing();

$oLayer-&gt;setprocessing("BANDS=1,2,3,4");

$oLayer-&gt;set("status","MS_ON");

$queryPoint=ms_newPointObj();

$queryPoint-&gt;setXY(-179.5,89.5);

@$oLayer-&gt;queryByPoint($queryPoint,MS_SINGLE,-1);

$oLayer-&gt;open();

for ($i=0;$i&lt; $oLayer-&gt;getNumResults();$i++){

             $oResult = $oLayer-&gt;getResult($i);

             $oshape = $oLayer-&gt;getfeature($oResult-&gt;shapeindex);

             foreach ($oLayer-&gt;getitems() as $name){

                          echo $name.": ".$oshape-&gt;values[$name]."\n";

             }

}</pre>
<p><em><strong><font color="#ff0000">Result</font></strong></em></p>
<p>x: -179.5<br />
y: 89.5<br />
value_0 : -9999<br />
value_1 : -9999<br />
value_2 : 4040<br />
value_3 : 4785<br />
value_list : -9999,-9999-4040,4785<br />
red : 0<br />
green : 0<br />
blue : 0</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ninsawat.com/?feed=rss2&#038;p=58</wfw:commentRss>
		<slash:comments>40</slash:comments>
		</item>
		<item>
		<title>The Change of Python 2.4 -&gt; 2.5</title>
		<link>http://www.ninsawat.com/?p=31&#038;utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-change-of-python-24-25</link>
		<comments>http://www.ninsawat.com/?p=31#comments</comments>
		<pubDate>Tue, 23 Oct 2007 18:30:00 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.ninsawat.com/?p=31</guid>
		<description><![CDATA[ความงงงวดมาบังเกิด เมื่อ python code ที่เขียนมาอย่าง ยากลำบาก อยู่ดีๆ run ไม่ได้ จากการตรวจสอบจึงรู้ว่า ข้อแตกต่างคือ ได้มีการ upgrade python -&#38;gt; 2.5การเปลี่ยนแปลง ครั้งใหญ่คือ Elementtree ได้รวมเข้าไปอยู่ใน python โดยตรง จากที่เมื่อก่อนต้องเรียกผ่าน cElementtreeก็ลองต้องทำการเปลี่ยน code นิดหน่อยpython 2.4from cElementTree import Element, SubElemet,ElementTreepython 2.5from xml.etree import ElementTree from xml.etree.cElementTree import Element, SubElementขั้นต้นในการ require จุดหนึ่งที่สังเกตอีกอัน ก็ตอน write Elementtreepython 2.4ElementTree(featureMember).write(self.fh,&#8221;utf-8&#8243;)python 2.5ee = ElementTree.ElementTree(featureMember)ee.write(self.fh,&#8221;utf-8&#8243;)เปลี่ยนตามข้างบน แต่น่าจะมี รายละเอียดหรือความแตกต่างเพิ่มเติมอีกข้อมูลเพิ่มเติม 2 3 Powered by ScribeFire.&#8230;]]></description>
				<content:encoded><![CDATA[<div xmlns='http://www.w3.org/1999/xhtml'>ความงงงวดมาบังเกิด เมื่อ python code ที่เขียนมาอย่าง ยากลำบาก อยู่ดีๆ run ไม่ได้  จากการตรวจสอบจึงรู้ว่า ข้อแตกต่างคือ ได้มีการ upgrade python -&amp;gt; 2.5<br/><br/>การเปลี่ยนแปลง ครั้งใหญ่คือ Elementtree ได้รวมเข้าไปอยู่ใน python โดยตรง จากที่เมื่อก่อนต้องเรียกผ่าน cElementtree<br/><br/>ก็ลองต้องทำการเปลี่ยน code นิดหน่อย<br/><br/><i>python 2.4<br/><br/></i>from cElementTree import Element, SubElemet,ElementTree<br/><br/><i>python 2.5<br/><br/><br/></i>from xml.etree import ElementTree <br/>from xml.etree.cElementTree import Element, SubElement<i><br/></i><br/><br/>ขั้นต้นในการ require <br/><br/>จุดหนึ่งที่สังเกตอีกอัน ก็ตอน write Elementtree<br/><br/><br/><br/><i>python 2.4<br/><br/></i><br/>ElementTree(featureMember).write(self.fh,&#8221;utf-8&#8243;)<br/><br/><br/><i>python 2.5<br/><br/><br/><br/></i>ee = ElementTree.ElementTree(featureMember)<br/>ee.write(self.fh,&#8221;utf-8&#8243;)<br/><br/><br/>เปลี่ยนตามข้างบน แต่น่าจะมี รายละเอียดหรือความแตกต่างเพิ่มเติมอีก<br/><br/><a href='http://72.14.235.104/search?q=cache:LBHlcclnuAQJ:champiland.homelinux.net/fosdem2007/lxml_etree_howto/lxml_etree_howto.html+lxml+etree+python+2.5&amp;hl=en&amp;ct=clnk&amp;cd=5&amp;client=firefox-a'>ข้อมูลเพิ่มเติม</a> <a href='http://effbot.org/zone/element-qnames.htm'>2</a> <a href='http://champiland.homelinux.net/fosdem2007/lxml_etree_howto/lxml_etree_howto.html'>3</a><br/><br/><br/>
<p class='poweredbyperformancing'>Powered by <a href='http://scribefire.com/'>ScribeFire</a>.</p>
<p><br/><br/>Technorati Tags: <a class='performancingtags' href='http://technorati.com/tag/python' rel='tag'>python</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.ninsawat.com/?feed=rss2&#038;p=31</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
