<?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; pyhon mapscript mapserver php</title>
	<atom:link href="http://www.ninsawat.com/?feed=rss2&#038;tag=pyhon-mapscript-mapserver-php" 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>
	</channel>
</rss>
