public function testinsertremoveStyle() { $map = new mapObj('maps/labels.map'); $layer = $map->getLayer(1); $classtmp = $layer->getClass(0); $style = $classtmp->removeStyle(0); $this->assertEquals(0, $this->class->insertStyle($style)); $this->assertInstanceOf('styleObj', $this->class->removeStyle(0)); }
public function setUp() { $map_file = 'maps/labels-leader.map'; $map = new mapObj($map_file); $layer = $map->getLayer(0); $class = $layer->getClass(0); $label = $class->getLabel(0); $this->labelleader = $class->leader; }
function __construct() { if (\app\inc\Input::getPath()->part(3) == "tilecache") { $postgisschema = \app\inc\Input::getPath()->part(4); } else { $postgisschema = \app\inc\Input::getPath()->part(3); } $db = \app\inc\Input::getPath()->part(2); $dbSplit = explode("@", $db); if (sizeof($dbSplit) == 2) { $db = $dbSplit[1]; } $path = App::$param['path'] . "/app/wms/mapfiles/"; $name = $db . "_" . $postgisschema . ".map"; $oMap = new \mapObj($path . $name); $request = new \OWSRequestObj(); if ($_SERVER['REQUEST_METHOD'] === 'GET') { foreach ($_GET as $k => $v) { if (strtolower($k) == "layers" || strtolower($k) == "layer" || strtolower($k) == "typename" || strtolower($k) == "typenames") { $layers = $v; } $request->setParameter($k, $v); } } else { $request->loadParams(); } if ($_SESSION['http_auth'] != $db) { \app\models\Database::setDb($db); $postgisObject = new \app\inc\Model(); foreach (explode(",", $layers) as $layer) { $auth = $postgisObject->getGeometryColumns($layer, "authentication"); $layerSplit = explode(".", $layer); $HTTP_FORM_VARS["TYPENAME"] = $layerSplit[1]; if ($auth == "Read/write") { include 'inc/http_basic_authen.php'; } else { include 'inc/http_basic_authen_subuser.php'; } } } ms_ioinstallstdouttobuffer(); $oMap->owsdispatch($request); $contenttype = ms_iostripstdoutbuffercontenttype(); if ($contenttype == 'image/png') { header('Content-type: image/png'); } else { header('Content-type: text/xml'); } ms_iogetStdoutBufferBytes(); print "<!--\n"; include "README"; print "\n-->\n"; ms_ioresethandlers(); }
function mapfile_getlayers($fname) { if (extension_loaded('mapscript')) { $map = new mapObj($fname); $map_name = $map->name; $map_extent = array($map->extent->minx, $map->extent->miny, $map->extent->maxx, $map->extent->maxy); if (preg_match('/(epsg:[0-9]+)/i', $map->getProjection(), $_p)) { $map_projection = $_p[1]; } else { $map_projection = 'epsg:3857'; } $wms_enabled = strlen($map->getMetaData('wms_enable_request')) > 0; if ($wms_enabled) { $map_wmstitle = strlen($map->getMetaData('wms_title')) > 0 ? $map->getMetaData('wms_title') : NULL; $map_wmsabstract = strlen($map->getMetaData('wms_abstract')) > 0 ? $map->getMetaData('wms_abstract') : NULL; } $layers = $map->getAllLayerNames(); $_layers = array(); foreach ($layers as $k => $name) { $layer = $map->getLayer($k); $data = array(); if ($wms_enabled) { $data['wms_title'] = strlen($layer->getMetaData('wms_title')) > 0 ? $layer->getMetaData('wms_title') : NULL; $data['wms_abstract'] = strlen($layer->getMetaData('wms_abstract')) > 0 ? $layer->getMetaData('wms_abstract') : NULL; $data['wms_include_items'] = strlen($layer->getMetaData('wms_include_items')) > 0 ? $layer->getMetaData('wms_include_items') : NULL; $data['wms_exclude_items'] = strlen($layer->getMetaData('wms_exclude_items')) > 0 ? $layer->getMetaData('wms_exclude_items') : NULL; $data['wms_attribution_title'] = strlen($layer->getMetaData('wms_attribution_title')) > 0 ? $layer->getMetaData('wms_attribution_title') : NULL; $data['wms_attribution_onlineresource'] = strlen($layer->getMetaData('wms_attribution_onlineresource')) > 0 ? $layer->getMetaData('wms_attribution_onlineresource') : NULL; $data['wms_enable_request'] = strlen($layer->getMetaData('wms_enable_request')) > 0 ? $layer->getMetaData('wms_enable_request') : NULL; } if (preg_match('/(epsg:[0-9]+)/i', $layer->getProjection(), $_p)) { $data['projection'] = $_p[1]; } else { $data['projection'] = 'epsg:3857'; } $data['name'] = $layer->name; $data['type'] = $layer->type; $data['connectiontype'] = $layer->connectiontype; $data['connection'] = $layer->connection; $data['data'] = $layer->data; $data['filteritem'] = $layer->filteritem; $data['filter'] = $layer->getFilterString(); $data['group'] = $layer->group; $data['minscaledenom'] = $layer->minscaledenom != -1 ? $layer->minscaledenom : NULL; $data['maxscaledenom'] = $layer->maxscaledenom != -1 ? $layer->maxscaledenom : NULL; $data['opacity'] = $layer->opacity; $data['labelitem'] = $layer->labelitem; $data['classitem'] = $layer->classitem; $data['status'] = $layer->status; $data['class'] = array(); for ($c = 0; $c < $layer->numclasses; $c++) { $class = $layer->getClass($c); $data['class'][$c]['name'] = $class->name; $data['class'][$c]['expression'] = $class->getExpressionString(); $data['class'][$c]['style'] = array(); if ($class->numstyles > 0) { for ($s = 0; $s < $class->numstyles; $s++) { $style = $class->getStyle($s); $data['class'][$c]['style'][$s]['color'] = array('r' => $style->color->red, 'g' => $style->color->green, 'b' => $style->color->blue); $data['class'][$c]['style'][$s]['outlinecolor'] = array('r' => $style->outlinecolor->red, 'g' => $style->outlinecolor->green, 'b' => $style->outlinecolor->blue); $data['class'][$c]['style'][$s]['width'] = $style->width; $data['class'][$c]['style'][$s]['symbolname'] = $style->symbolname; $data['class'][$c]['style'][$s]['size'] = $style->size; $data['class'][$c]['style'][$s]['pattern'] = $style->getPatternArray(); } } $data['class'][$c]['label'] = array(); if ($class->numlabels > 0) { for ($l = 0; $l < $class->numlabels; $l++) { $label = $class->getLabel($l); $data['class'][$c]['label'][$l]['size'] = $label->size; $data['class'][$c]['label'][$l]['align'] = $label->align; $data['class'][$c]['label'][$l]['position'] = $label->position; $data['class'][$c]['label'][$l]['color'] = array('r' => $label->color->red, 'g' => $label->color->green, 'b' => $label->color->blue); $data['class'][$c]['label'][$l]['outlinecolor'] = array('r' => $label->outlinecolor->red, 'g' => $label->outlinecolor->green, 'b' => $label->outlinecolor->blue); $data['class'][$c]['label'][$l]['minscaledenom'] = $label->minscaledenom != -1 ? $label->minscaledenom : NULL; $data['class'][$c]['label'][$l]['maxscaledenom'] = $label->maxscaledenom != -1 ? $label->maxscaledenom : NULL; } } } $_layers[$k] = $data; } $map->free(); unset($map); } else { $map = new MapFile\Map($fname); $map_name = $map->name; $map_extent = $map->extent; $map_projection = !is_null($map->projection) ? $map->projection : 'epsg:3857'; $wms_enabled = $map->getMetadata('wms_enable_request') !== FALSE; if ($wms_enabled) { $map_wmstitle = $map->getMetadata('wms_title') !== FALSE ? $map->getMetadata('wms_title') : NULL; $map_wmsabstract = $map->getMetadata('wms_abstract') !== FALSE ? $map->getMetadata('wms_abstract') : NULL; } $layers = $map->getLayers(); $_layers = array(); foreach ($layers as $k => $layer) { $data = array(); if ($wms_enabled) { $data['wms_title'] = $layer->getMetadata('wms_title') !== FALSE ? $layer->getMetadata('wms_title') : NULL; $data['wms_abstract'] = $layer->getMetadata('wms_abstract') !== FALSE ? $layer->getMetadata('wms_abstract') : NULL; $data['wms_include_items'] = $layer->getMetadata('wms_include_items') !== FALSE ? $layer->getMetadata('wms_include_items') : NULL; $data['wms_exclude_items'] = $layer->getMetadata('wms_exclude_items') !== FALSE ? $layer->getMetadata('wms_exclude_items') : NULL; $data['wms_attribution_title'] = $layer->getMetadata('wms_attribution_title') !== FALSE ? $layer->getMetadata('wms_attribution_title') : NULL; $data['wms_attribution_onlineresource'] = $layer->getMetadata('wms_attribution_onlineresource') !== FALSE ? $layer->getMetadata('wms_attribution_onlineresource') : NULL; $data['wms_enable_request'] = $layer->getMetadata('wms_enable_request') !== FALSE ? $layer->getMetadata('wms_enable_request') : NULL; } $data['name'] = $layer->name; $data['type'] = $layer->type; $data['projection'] = $layer->projection; $data['connectiontype'] = $layer->connectiontype; $data['connection'] = $layer->connection; $data['data'] = $layer->data; $data['filteritem'] = $layer->filteritem; $data['filter'] = $layer->filter; $data['group'] = $layer->group; $data['minscaledenom'] = $layer->minscaledenom; $data['maxscaledenom'] = $layer->maxscaledenom; $data['opacity'] = $layer->opacity; $data['labelitem'] = $layer->labelitem; $data['classitem'] = $layer->classitem; $data['status'] = $layer->status; $data['class'] = array(); $_classes = $layer->getClasses(); foreach ($_classes as $c => $class) { $data['class'][$c]['name'] = $class->name; $data['class'][$c]['expression'] = $class->expression; $data['class'][$c]['style'] = array(); $_styles = $class->getStyles(); foreach ($_styles as $s => $style) { $data['class'][$c]['style'][$s]['color'] = $style->getColor(); $data['class'][$c]['style'][$s]['outlinecolor'] = $style->getOutlineColor(); $data['class'][$c]['style'][$s]['width'] = $style->width; $data['class'][$c]['style'][$s]['symbolname'] = $style->symbolname; $data['class'][$c]['style'][$s]['size'] = $style->size; $data['class'][$c]['style'][$s]['pattern'] = $style->pattern; } $data['class'][$c]['label'] = array(); $_labels = $class->getLabels(); foreach ($_labels as $l => $label) { $label = $class->getLabel(0); if ($label) { $data['class'][$c]['label'][$l]['size'] = $label->size; $data['class'][$c]['label'][$l]['align'] = $label->align; $data['class'][$c]['label'][$l]['position'] = $label->position; $data['class'][$c]['label'][$l]['color'] = $label->getColor(); $data['class'][$c]['label'][$l]['outlinecolor'] = $label->getOutlineColor(); $data['class'][$c]['label'][$l]['minscaledenom'] = $label->minscaledenom != -1 ? $label->minscaledenom : NULL; $data['class'][$c]['label'][$l]['maxscaledenom'] = $label->maxscaledenom != -1 ? $label->maxscaledenom : NULL; } } } $_layers[$k] = $data; } } if (isset($_layers)) { return $_layers; } else { return FALSE; } }
public function testQueryByFilter() { $map_file = 'maps/filtermap.map'; $map = new mapObj($map_file); $this->assertEquals(0, $map->queryByFilter("'[CTY_NAME]' = 'Itasca'")); }
} else { $c = new MapFile\LayerClass(); $l->addClass($c); } $c->name = $_POST['name']; $c->expression = $_POST['expression']; $map->save($mapfile); header('Location: layer-class.php?layer=' . $_GET['layer']); exit; } catch (MapFile\Exception $e) { $error = $e->getMessage(); } } else { if ($mapscript && (isset($_GET['down']) || isset($_GET['up']) || isset($_GET['remove']))) { try { $map = new mapObj($mapfile); $l = $map->getLayer(intval($_GET['layer'])); if (isset($_GET['down'])) { $l->moveclassdown(intval($_GET['down'])); } else { if (isset($_GET['up'])) { $l->moveclassup(intval($_GET['up'])); } else { if (isset($_GET['remove'])) { $l->removeClass(intval($_GET['remove'])); } } } $l->free(); unset($l); $map->save($mapfile);
<?php session_start(); $settings = parse_ini_file('settings.ini'); $mapfile = $_SESSION['mapfile-generator']['mapfile']; $map = new mapObj($mapfile); if (isset($_POST['up']) || isset($_POST['down']) || isset($_POST['delete'])) { if (isset($_POST['up'])) { $map->moveLayerUp(intval($_POST['up'])); } else { if (isset($_POST['down'])) { $map->moveLayerDown(intval($_POST['down'])); } else { if (isset($_POST['delete'])) { $map->removeLayer(intval($_POST['delete'])); } } } } else { $map->setProjection($_POST['projection'], MS_TRUE); if (strlen($_POST['extentminx']) > 0 && strlen($_POST['extentminy']) > 0 && strlen($_POST['extentmaxx']) > 0 && strlen($_POST['extentmaxy']) > 0) { $map->setExtent($_POST['extentminx'], $_POST['extentminy'], $_POST['extentmaxx'], $_POST['extentmaxy']); } $map->setSize(500, 500); $map->setFontSet($settings['fontset']); $map->setSymbolSet($settings['symbolset']); if (!empty($_POST['name'])) { $map->name = trim($_POST['name']); } if (isset($_POST['wms']) && $_POST['wms'] == 1) { $map->setMetaData('wms_enable_request', '*');
<?php session_start(); $mapscript = extension_loaded('mapscript'); if ($mapscript && isset($_SESSION['mapfile-generator']['mapfile'], $_GET['layer'])) { $_map = new mapObj($_SESSION['mapfile-generator']['mapfile']); header('Content-Type: text/xml'); $l = $_map->getLayer(intval($_GET['layer'])); $l->set('status', MS_ON); echo $_map->generateSLD(); } exit;
public function setUp() { $map = new mapObj('maps/labels.map'); $this->symbol = $map->getSymbolObjectById($map->getSymbolByName("plant")); }
public function setUp() { $map_file = 'maps/labels.map'; $map = new mapObj($map_file); $this->color = $map->getLayer(0)->getClass(0)->getLabel(0)->color; }
if (isset($_GET['map']) && file_exists($_GET['map'])) { $_SESSION['mapfile-generator']['source'] = $_GET['map']; try { $_map = new Map($_GET['map']); $_map->save($_SESSION['mapfile-generator']['mapfile']); } catch (Exception $e) { $error = $e->getMessage(); } } else { unset($_SESSION['mapfile-generator']['source']); $_map = new Map(); $_map->save($_SESSION['mapfile-generator']['mapfile']); } } if ($mapscript) { $map = new mapObj($_SESSION['mapfile-generator']['mapfile']); $map_name = $map->name; $map_extent = array($map->extent->minx, $map->extent->miny, $map->extent->maxx, $map->extent->maxy); if (preg_match('/(epsg:[0-9]+)/i', $map->getProjection(), $_p)) { $map_projection = $_p[1]; } else { $map_projection = 'epsg:3857'; } $wms_enabled = strlen($map->getMetaData('wms_enable_request')) > 0; if ($wms_enabled) { $map_wmstitle = strlen($map->getMetaData('wms_title')) > 0 ? $map->getMetaData('wms_title') : NULL; $map_wmsabstract = strlen($map->getMetaData('wms_abstract')) > 0 ? $map->getMetaData('wms_abstract') : NULL; } $layers = $map->getAllLayerNames(); $layers_json = array(); foreach ($layers as $k => $name) {
function getStylesForClasses($mapFile, $layerName) { $attr = "{'attributes':["; $map = new mapObj($mapFile); $layer = $map->getLayerByName($layerName); for ($i = 0; $i < $layer->numclasses; $i++) { $class = $layer->getClass($i); $className = $class->name; $index = 0; $patternString = ""; for ($j = 0; $j < $class->numstyles; $j++) { $style = $class->getStyle($j); error_log($style->color->red); error_log($style->color->green); error_log($style->color->blue); if ($style->color->red > -1 && $style->color->green > -1 && $style->color->blue > -1) { $color = rgb2hex([$style->color->red, $style->color->green, $style->color->blue]); } else { $color = ""; } if ($style->outlinecolor->red > -1 && $style->outlinecolor->green > -1 && $style->outlinecolor->blue > -1) { $outlineColor = rgb2hex([$style->outlinecolor->red, $style->outlinecolor->green, $style->outlinecolor->blue]); } else { $outlineColor = ""; } $width = $style->width; $size = $style->size; $symbol = $style->symbolname; $angle = $style->angle; $pattern = $style->getPatternArray(); foreach ($pattern as $value) { $patternString .= " " . $value; } $gap = $style->gap; $index++; $attr .= "{'color':'{$color}', 'outlinecolor':'{$outlineColor}', 'width':'{$width}', 'size':'{$size}', 'symbol':'{$symbol}', 'className':'{$className}', 'index':'{$index}', 'gap':'{$gap}', 'angle':'{$angle}', 'pattern':'{$patternString}'},"; } } $attr .= "]}"; return $attr; }
$_map->legend->label->size = 8.0; //$_map->scalebar->label->type = MS_TRUETYPE; $_map->scalebar->label->font = $settings['font']; $_map->scalebar->label->size = 8.0; $_map->scalebar->units = MS_KILOMETERS; $_map->scalebar->color->setRGB(0, 0, 0); $_map->scalebar->outlinecolor->setRGB(0, 0, 0); $_map->save($_SESSION['mapfile-generator']['mapfile']); $_map->free(); unset($_map); } catch (MapScriptException $e) { $error = $e->getMessage(); } } } $map = new mapObj($_SESSION['mapfile-generator']['mapfile']); if (isset($_GET['up'])) { $map->moveLayerUp(intval($_GET['up'])); } else { if (isset($_GET['down'])) { $map->moveLayerDown(intval($_GET['down'])); } else { if (isset($_GET['remove'])) { $map->removeLayer(intval($_GET['remove'])); } else { if (isset($_POST['action']) && $_POST['action'] == 'save') { $map->name = trim($_POST['name']); $map->setProjection($_POST['projection'], MS_FALSE); $map->setExtent($_POST['extentminx'], $_POST['extentminy'], $_POST['extentmaxx'], $_POST['extentmaxy']); if (isset($_POST['wms']) && $_POST['wms'] == 1) { $map->setMetaData('wms_enable_request', '*');