[mapguide-users] Need help in layerdfefinition
padmini godavarthi
godavarthi.padmini at gmail.com
Thu Jan 1 06:58:09 EST 2009
Hi,
iam using mapguide opensource2.0 (with.net 2.0 +IIS 5.1)
>From ur code
1)How can i get LayerDefinitionFactory ?
2)its not available for me.
Can u plz send me the code.
Thanks and Regards,
Padmini.
lornen wrote:
>
> Hi,
>
> This is my first time using MapGuide Enterprise, and I would appreciate
> some help.
> I am getting a XML Parser exception when I tried to SetResource at the
> last line of the code.
>
> CODE:
> private void CreateMarkupLayer()
> {
> string markupName = "redline";
> MgSiteConnection site = getSite();
> MgResourceService resourceService =
> (MgResourceService)site.CreateService(MgServiceType.ResourceService);
> MgFeatureService featureService = (MgFeatureService)
> site.CreateService(MgServiceType.FeatureService);
> // Create the Markup Feature Source (SDF)
>
> MgResourceIdentifier markupID = new
> MgResourceIdentifier("Library://Markup/" + markupName + ".FeatureSource");
> MgFeatureSchema markupSchema =
> MarkupSchemaFactory.CreateMarkupSchema();
> MgCreateSdfParams sdfParams = new MgCreateSdfParams("LL84",
> LL84WKT, markupSchema);
> featureService.CreateFeatureSource(markupID, sdfParams);
>
> LayerDefinitionFactory factory = new LayerDefinitionFactory();
> // Create a line rule.
> string legendLabel = "";
> string filter = "";
> string color = "FF0000FF";
> string lineRule =
> factory.CreateLineRule(legendLabel,filter,color);
> // Create a line type style.
> string lineTypeStyle = factory.CreateLineTypeStyle(lineRule);
> // Create a scale range.
> string minScale = "0";
> string maxScale = "1000000000000";
> string lineScaleRange = factory.CreateScaleRange(minScale,
> maxScale, lineTypeStyle);
> // Create the layer definiton.
> string featureClass = "Library://Markup/" + markupName +
> ".FeatureSource";
> string featureName = "MarkupSchema:Markup";
> string geometry = "SHPGEOM";
> string layerDefinition =
> factory.CreateLayerDefinition(featureClass,
> featureName,geometry,lineScaleRange);
> XmlDocument doc = new XmlDocument();
> doc.LoadXml(layerDefinition);
> System.Text.UTF8Encoding utf = new System.Text.UTF8Encoding();
> byte[] BytelayerDefinition = utf.GetBytes(layerDefinition);
> MgByteSource byteSource = new
> MgByteSource(BytelayerDefinition, BytelayerDefinition.Length);
> byteSource.SetMimeType(MgMimeType.Xml);
> resourceService.SetResource(markupID, byteSource.GetReader(),
> null);
> }
>
>
> The string layerDefinition which i got from
> factory.CreateLayerDefinition() is as follows:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <LayerDefinition version="1.0.0"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:noNamespaceSchemaLocation="LayerDefinition-1.0.0.xsd">
> <VectorLayerDefinition>
> <ResourceId>Library://Markup/redline.FeatureSource</ResourceId>
> <FeatureName>MarkupSchema:Markup</FeatureName>
> <FeatureNameType>FeatureClass</FeatureNameType>
> <Geometry>SHPGEOM</Geometry>
> <VectorScaleRange>
> <MinScale>0</MinScale>
> <MaxScale>1000000000000</MaxScale>
> <LineTypeStyle>
> <LineRule>
> <LegendLabel></LegendLabel>
> <Filter></Filter>
> <LineSymbolization2D>
> <LineStyle>Solid</LineStyle>
> <Thickness>1</Thickness>
> <Color>FF0000FF</Color>
> <Unit>Points</Unit>
> </LineSymbolization2D>
> </LineRule>
> </LineTypeStyle>
> </VectorScaleRange>
> </VectorLayerDefinition>
> </LayerDefinition>
>
>
> I'm using asp.net, c# and MapGuide Enterprise 2007
>
> Thanks
>
--
View this message in context: http://n2.nabble.com/Need-help-in-layerdfefinition-tp1814847p2098595.html
Sent from the MapGuide Users mailing list archive at Nabble.com.
More information about the mapguide-users
mailing list