示例#1
0
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
//  Lesser General Public License for more details.
//
//  You should have received a copy of the GNU Lesser General Public
//  License along with this library; if not, write to the Free Software
//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
//
include "common.php";
include "constants.php";
require_once "layerdefinitionfactory.php";
InitializeWebTier();
//Area Rules
$areaRule = LayerDefinitionFactory::CreateAreaRule("TestArea1", 'SQFT >= 0 AND SQFT < 500', 'FF808080');
$areaRule .= LayerDefinitionFactory::CreateAreaRule("TestArea2", 'SQFT >= 500 AND SQFT < 1500', 'FF800080');
$areaRule .= LayerDefinitionFactory::CreateAreaRule("TestArea3", 'SQFT >= 1500 AND SQFT < 6000', 'FF808000');
$areaTypeStyle = LayerDefinitionFactory::CreateAreaTypeStyle($areaRule);
$scaleRange = LayerDefinitionFactory::CreateScaleRange('0', '1000000000000', $areaTypeStyle);
/*
//Line Rules
$lineRule = LayerDefinitionFactory::CreateLineRule("TestLine1", "", 'FF808000');

$lineTypeStyle = LayerDefinitionFactory::CreateLineTypeStyle($lineRule);

$scaleRange = LayerDefinitionFactory::CreateScaleRange('0', '1000000000000', $lineTypeStyle);
*/
/*
//Point Rules
$markSymbol = LayerDefinitionFactory::CreateMarkSymbol("", "", 5, 5, "FF800000");
$textSymbol = LayerDefinitionFactory::CreateTextSymbol("", "10", "FF808000");
 $mapName = $args['MAPNAME'];
 $userInfo = new MgUserInformation($sessionId);
 $siteConnection = new MgSiteConnection();
 $siteConnection->Open($userInfo);
 $resourceService = $siteConnection->CreateService(MgServiceType::ResourceService);
 // --------------------------------------------------//
 // Open the map
 $map = new MgMap($siteConnection);
 $map->Open($mapName);
 // ...
 //---------------------------------------------------//
 // Create a new layer
 $factory = new LayerDefinitionFactory();
 /// Create three area rules for three different
 // scale ranges.
 $areaRule1 = $factory->CreateAreaRule('1 to 800', 'SQFT >= 1 AND SQFT < 800', 'FFFFFF00');
 $areaRule2 = $factory->CreateAreaRule('800 to 1600', 'SQFT >= 800 AND SQFT < 1600', 'FFFFBF20');
 $areaRule3 = $factory->CreateAreaRule('1600 to 2400', 'SQFT >= 1600 AND SQFT < 2400', 'FFFF8040');
 // Create an area type style.
 $areaTypeStyle = $factory->CreateAreaTypeStyle($areaRule1 . $areaRule2 . $areaRule3);
 // Create a scale range.
 $minScale = '0';
 $maxScale = '10000';
 $areaScaleRange = $factory->CreateScaleRange($minScale, $maxScale, $areaTypeStyle);
 // Create the layer definiton.
 $featureClass = 'Library://Samples/Sheboygan/Data/' . 'Parcels.FeatureSource';
 $featureName = 'SHP_Schema:Parcels';
 $geometry = 'SHPGEOM';
 $layerDefinition = $factory->CreateLayerDefinition($featureClass, $featureName, $geometry, $areaScaleRange);
 //---------------------------------------------------//
 // ...