| 1 | {{{ |
| 2 | #!php |
| 3 | <?php |
| 4 | |
| 5 | // define variables |
| 6 | define( "MAPFILE", "C:/ms4w/apps/phpmapscriptng-swig/sample.map" ); |
| 7 | |
| 8 | // required SWIG include (contains constants for PHP7) |
| 9 | include("C:/ms4w/apps/phpmapscriptng-swig/include/mapscript.php"); |
| 10 | |
| 11 | // open map |
| 12 | $oMap = new mapObj(MAPFILE); |
| 13 | |
| 14 | //force all errors to display |
| 15 | // comment out the next 2 lines, useful on servers not displaying errors |
| 16 | ini_set('display_errors','On'); |
| 17 | error_reporting(E_ALL); |
| 18 | |
| 19 | // set image size |
| 20 | $oMap->setsize(400, 300); |
| 21 | |
| 22 | // set image format |
| 23 | $oMap->selectoutputformat("png"); |
| 24 | |
| 25 | // create new WMS layer |
| 26 | $oWMSLayer = new layerObj($oMap); |
| 27 | $oWMSLayer->__set("name", "cities"); |
| 28 | $oWMSLayer->__set("type", MS_LAYER_RASTER); |
| 29 | $oWMSLayer->__set("status", MS_ON); |
| 30 | $oWMSLayer->setConnectionType(MS_WMS, NULL); |
| 31 | $oWMSLayer->__set("connection", "https://demo.gatewaygeomatics.com/cgi-bin/wms_gateway?"); |
| 32 | $oWMSLayer->setMetaData("wms_name", "popplace"); |
| 33 | $oWMSLayer->setMetaData("wms_srs", "EPSG:3978"); |
| 34 | $oWMSLayer->setMetaData("wms_server_version", "1.1.1"); |
| 35 | $oWMSLayer->setMetaData("wms_format", "image/png"); |
| 36 | $oWMSLayer->SetProjection("init=EPSG:3978"); |
| 37 | |
| 38 | // create new polygon layer |
| 39 | $oPolyLayer = new layerObj($oMap); |
| 40 | $oPolyLayer->__set("name", "prov_bound"); |
| 41 | $oPolyLayer->__set("type", MS_LAYER_POLYGON); |
| 42 | $oPolyLayer->__set("status", MS_ON); |
| 43 | $oPolyLayer->__set("data", "province"); |
| 44 | // create new class for poly layer |
| 45 | $oClass = new classObj($oPolyLayer); |
| 46 | $oClass->__set("name", "Province"); |
| 47 | // create new style |
| 48 | $oStyle = new styleObj(); |
| 49 | // create new color |
| 50 | $oColor = new colorObj(120,120,120); |
| 51 | $oStyle->__set("color", $oColor); |
| 52 | $oClass->insertStyle($oStyle); |
| 53 | $oPolyLayer->SetProjection("init=EPSG:3978"); |
| 54 | // set opacity (actually creates a new COMPOSITE object) |
| 55 | $oPolyLayer->setOpacity(40); |
| 56 | |
| 57 | // draw map |
| 58 | $oImage = $oMap->draw(); |
| 59 | |
| 60 | // save image file |
| 61 | $file = $oImage->save("C:/ms4w/apps/phpmapscriptng-swig/ttt.png",$oMap); |
| 62 | |
| 63 | // save mapfile to new file |
| 64 | $oMap->save("C:/ms4w/apps/phpmapscriptng-swig/output.map"); |
| 65 | |
| 66 | // set header |
| 67 | header("Content-type: image/gif"); |
| 68 | |
| 69 | // read image to output buffer |
| 70 | readfile("C:/ms4w/apps/phpmapscriptng-swig/ttt.png"); |
| 71 | |
| 72 | ?> |
| 73 | }}} |