SWIG Mapscript vs PHP Mapscript

Posted by admin on June 25, 2009 in mapserver, mapserver WxS, php, python

เคยแต่ใช้ 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 = 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()

PHP Mapscript

dl("php_mapscript.so");$oMap = ms_newMapobj("/srv/maps/modis/config.map");

$oLayer = $oMap->getLayerByName("testdata");

$oLayer->clearprocessing();

$oLayer->setprocessing("BANDS=1,2,3,4");

$oLayer->set("status","MS_ON");

$queryPoint=ms_newPointObj();

$queryPoint->setXY(-179.5,89.5);

@$oLayer->queryByPoint($queryPoint,MS_SINGLE,-1);

$oLayer->open();

for ($i=0;$i< $oLayer->getNumResults();$i++){

             $oResult = $oLayer->getResult($i);

             $oshape = $oLayer->getfeature($oResult->shapeindex);

             foreach ($oLayer->getitems() as $name){

                          echo $name.": ".$oshape->values[$name]."\n";

             }

}

Result

x: -179.5
y: 89.5
value_0 : -9999
value_1 : -9999
value_2 : 4040
value_3 : 4785
value_list : -9999,-9999-4040,4785
red : 0
green : 0
blue : 0

Write a Comment on SWIG Mapscript vs PHP Mapscript

Subscribe

Follow comments by subscribing to the SWIG Mapscript vs PHP Mapscript Comments RSS feed.

More

Read more posts by admin

About the Author

Sarawut Ninsawat

New release OpenLayers 2.8 สุริยุปราคา กับภาพถ่ายดาวเทียม