Example #1
0
function OutputLayerInfo($layer, $resourceService, $featureService)
{
    $mappings = GetLayerPropertyMappings($resourceService, $layer);
    if (!isset($_SESSION['property_mappings'])) {
        $_SESSION['property_mappings'] = array();
    }
    $_SESSION['property_mappings'][$layer->GetObjectId()] = $mappings;
    $layerDefinition = $layer->GetLayerDefinition();
    $aLayerTypes = GetLayerTypes($featureService, $layer);
    //echo '<pre>'; print_r($aLayerTypes); echo '</pre>'; exit;
    echo "propertyMappings:{";
    $sep = '';
    foreach ($mappings as $name => $value) {
        echo $sep . "'{$name}':'{$value}'";
        $sep = ',';
    }
    echo "},";
    echo "uniqueId:'" . $layer->GetObjectId() . "',";
    echo "layerName:'" . addslashes($layer->GetName()) . "',";
    echo 'layerTypes:[';
    $sep = '';
    for ($j = 0; $j < count($aLayerTypes); $j++) {
        echo $sep . $aLayerTypes[$j];
        $sep = ',';
    }
    echo '],';
    echo "displayInLegend:" . BooleanToString($layer->GetDisplayInLegend()) . ",";
    echo "expandInLegend:" . BooleanToString($layer->GetExpandInLegend()) . ",";
    echo "resourceId:'" . $layerDefinition->ToString() . "',";
    echo "parentGroup:";
    echo $layer->GetGroup() ? "'" . $layer->GetGroup()->GetObjectId() . "'," : 'null,';
    echo "legendLabel:'" . addslashes($layer->GetLegendLabel()) . "',";
    echo "selectable:" . BooleanToString($layer->GetSelectable()) . ",";
    echo "visible:" . BooleanToString($layer->GetVisible()) . ",";
    echo "actuallyVisible:" . BooleanToString($layer->isVisible()) . ",";
    if (IsLayerEditable($resourceService, $layer)) {
        echo "editable:true,";
    } else {
        echo "editable:false,";
    }
    echo buildScaleRanges($layer);
}
Example #2
0
 $oLayer = $layers->GetItem($i);
 $featureResId = new MgResourceIdentifier($oLayer->GetFeatureSourceId());
 /* the class that is used for this layer will be used to select  features */
 $class = $oLayer->GetFeatureClassName();
 /* select the features */
 $queryOptions = new MgFeatureQueryOptions();
 $geomName = $oLayer->GetFeatureGeometryName();
 //TODO : seems that property mapping breaks the selection ????
 //could it be that $selection->AddFeatures($layerObj, $featureReader, 0) is
 //the one causing a problem when the properies are limited ?
 if (isset($_SESSION['property_mappings']) && isset($_SESSION['property_mappings'][$oLayer->GetObjectId()])) {
     $mappings = $_SESSION['property_mappings'][$oLayer->GetObjectId()];
 } else {
     //This is normally pre-stashed by LoadMap.php, but if the client is using the new
     //CREATERUNTIMEMAP shortcut, this information does not exist yet, so fetch and stash
     $mappings = GetLayerPropertyMappings($resourceService, $oLayer);
     $_SESSION['property_mappings'][$oLayer->GetObjectId()] = $mappings;
 }
 if (count($mappings) > 0) {
     foreach ($mappings as $name => $value) {
         if ($geomName != $name) {
             $queryOptions->AddFeatureProperty($name);
             //echo "$name $value <br>\n";
         }
     }
 }
 //Add geometry property in all cases.
 $queryOptions->AddFeatureProperty($geomName);
 $filter = $selection->GenerateFilter($oLayer, $class);
 $queryOptions->SetFilter($filter);
 $featureReader = $featureService->SelectFeatures($featureResId, $class, $queryOptions);
Example #3
0
 for ($i = 0; $i < $layers->GetCount(); $i++) {
     $ldfContent = $layerDefinitionContents->GetItem($i);
     $ldfdoc = DOMDocument::LoadXML($ldfContent);
     array_push($layerDocs, $ldfdoc);
     $fsContent = $featureSourceContents->GetItem($i);
     $fsDoc = DOMDocument::LoadXML($fsContent);
     array_push($fsDocs, $fsDoc);
 }
 for ($i = 0; $i < $layers->GetCount(); $i++) {
     //only output layers that are part of the 'Normal Group' and
     //not the base map group used for tile maps.  (Where is the test for that Y.A.???)
     $layer = $layers->GetItem($i);
     $layerContent = $layerDocs[$i];
     $fsContent = $fsDocs[$i];
     $layerObj = NULL;
     $mappings = GetLayerPropertyMappings($resourceService, $layer, $layerContent);
     $_SESSION['property_mappings'][$layer->GetObjectId()] = $mappings;
     $layerObj->uniqueId = $layer->GetObjectId();
     $layerObj->layerName = addslashes($layer->GetName());
     //$aLayerTypes = GetLayerTypes($featureService, $layer);
     $aLayerTypes = GetLayerTypesFromResourceContent($layer, $layerContent);
     $layerObj->layerTypes = $aLayerTypes;
     $layerObj->resourceId = $layerDefinitionIds->GetItem($i);
     $layerObj->parentGroup = $layer->GetGroup() ? $layer->GetGroup()->GetObjectId() : '';
     $layerObj->selectable = $layer->GetSelectable();
     $layerObj->visible = $layer->GetVisible();
     $layerObj->actuallyVisible = $layer->isVisible();
     $layerObj->editable = IsLayerEditable($resourceService, $layer, $fsContent);
     $isBaseMapLayer = $layer->GetLayerType() == MgLayerType::BaseMap;
     $layerObj->isBaseMapLayer = $isBaseMapLayer;
     if ($isBaseMapLayer) {