[mapguide-users] help

saloua wakrim wakrimsaloua.wakrim at gmail.com
Tue May 19 06:54:05 EDT 2009


thanks a lot but i resolved prob last week it was just prob in coordinates i
use to draw polygone or another MgGeometry.

2009/5/19 Kenneth Skovhede, GEOGRAF A/S <ks at geograf.dk>

> There is an example for MgCreateSdfParams() in the "buffer.(php|aspx|jsp)"
> file in the folder
> C:\program
> files\MapGuideOpenSource2.0\WebServerExtensions\www\mapviewer(php|net|java)
>
> It also shows how to set the coordinate system.
> If your data has the correct projection, MapGuide will convert it to fit
> the map projection.
> If that does not work, you have to manually convert the items, which is not
> a trivial procedure.
>
> Regards, Kenneth Skovhede, GEOGRAF A/S
>
>
>
> saloua wakrim skrev:
>
> hi! did you know lease how MgCreateSdfParams() works and what attributes i
> must give it cause ii think that the prob i have is coordinates i use for
> inserting polygone or line or point wich are not compatibl with map
> cordinates
>
> 2009/5/11, Kenneth Skovhede, GEOGRAF A/S <ks at geograf.dk>:
>>
>> Yes, that looks right.
>>
>> You must also refresh the map (refresh/pan/zoom/etc.) in the browser via
>> javascript.
>>
>> In addition to my other suggestions, you can also check the error log for
>> messages.
>>
>> Regards, Kenneth Skovhede, GEOGRAF A/S
>>
>>
>>
>>
>> saloua wakrim skrev:
>>
>> hi! please i want know if this code is that what all i must do for adding
>> new layer to map and see it in viewer frame or i must do some relation with
>> the feature source i create in my code?? thanks on advance
>>
>>
>> myLayer =
>> New MgLayer(layerDefId, resourceSrvc)
>>
>> myLayer.SetName(myLayerName)
>>
>> myLayer.SetLegendLabel(myLayerName)
>>
>> myLayer.SetDisplayInLegend(
>> True)
>>
>> myLayer.SetSelectable(
>> False)
>>
>> map.GetLayers().Insert(0, myLayer)
>>
>> myLayer.ForceRefresh()
>> map.Save(resourceSrvc)
>>
>>
>> 2009/5/10 Kenneth Skovhede, GEOGRAF A/S <ks at geograf.dk>
>>
>>> The code looks alright.
>>> Do you refresh the map afterwards?
>>> What is in the "insertResults" ?
>>> (There can be a hidden error, due to a bug in MapGuide)
>>> Are you sure that the LayerDefinition matches the FeatureSource?
>>> Try to create the FeatureSource and LayerDefinition in "Library://"
>>> instead,
>>> so you can examine the layer from Studio/Maestro.
>>>
>>> Regards, Kenneth Skovhede, GEOGRAF A/S
>>>
>>>
>>>
>>>
>>> saloua wakrim skrev:
>>>
>>>  i try the following code for displaying layer wich contains line in
>>> map, so i digitize a line, create temporary feature for this line, create a
>>> layer wich contains it and add it to the map. it doesn't give me some error
>>> but  i can see the line in the map (i can draw it). Please help me. the code
>>> is following:
>>>
>>>
>>>
>>> String
>>> dataSource = "Session:" + sessionid1 + "//" + myLayerName +
>>> ".FeatureSource"; MgResourceIdentifier dataSourceId = new
>>> MgResourceIdentifier(dataSource); MgFeatureService featureSrvc = (
>>> MgFeatureService)siteConnection.CreateService(MgServiceType.FeatureService);
>>> if (DoesLayerExist(myLayerName, map) == false)
>>>
>>> {
>>>
>>>
>>> //create Feature Source MgClassDefinition myClassDef = new
>>> MgClassDefinition();
>>>
>>> myClassDef.SetName(myLayerName);
>>>
>>> myClassDef.SetDescription(myLayerName +
>>> " Feature Source");
>>>
>>> myClassDef.SetDefaultGeometryPropertyName(
>>> "SHPGEOM"); MgDataPropertyDefinition prop = new MgDataPropertyDefinition
>>> ("KEY");
>>>
>>> prop.SetDataType(
>>> MgPropertyType.Int32);
>>>
>>> prop.SetAutoGeneration(
>>> true);
>>>
>>> prop.SetReadOnly(
>>> true);
>>>
>>> myClassDef.GetIdentityProperties().Add(prop);
>>>
>>> myClassDef.GetProperties().Add(prop);
>>>
>>> prop =
>>> new MgDataPropertyDefinition("ID");
>>>
>>> prop.SetDataType(
>>> MgPropertyType.Int32);
>>>
>>> myClassDef.GetProperties().Add(prop);
>>> MgGeometricPropertyDefinition geomProp = new
>>> MgGeometricPropertyDefinition("SHPGEOM");
>>>
>>> geomProp.SetGeometryTypes(
>>> MgFeatureGeometricType.Curve);
>>>
>>> myClassDef.GetProperties().Add(geomProp);
>>> MgFeatureSchema schema = new MgFeatureSchema(myLayerName + "Schema",
>>> myLayerName + "SchemaDesc");
>>>
>>> schema.GetClasses().Add(myClassDef);
>>> MgCreateSdfParams sdfParams = new MgCreateSdfParams("MGA-56 (GDA94 / MGA
>>> zone 56)", map.GetMapSRS(), schema);
>>>
>>> featureSrvc.CreateFeatureSource(dataSourceId, sdfParams);
>>>
>>>
>>>
>>>
>>> //create layer //String layerDef = "Session:" + sessionid1 + "//" +
>>> myLayerName + ".LayerDefinition"; MgResourceIdentifier layerDefId = new
>>> MgResourceIdentifier("Library://essaicalque/Redline.LayerDefinition");
>>>
>>>
>>>
>>>
>>> MgByteSource content = new MgByteSource(@"C:\Program
>>> Files\MapGuideOpenSource\WebServerExtensions\www\essaiselect2\Layerdef.xml");
>>>
>>>
>>> resourceSrvc.SetResource(layerDefId, content.GetReader(),
>>> null); //code enlev‚ d'ici: ajouter layer resource … la carte //il faut
>>> ajouter l'autre code: add layer resource to map //DOMDocument domdoc =
>>> new DOMdocument(); MgLayerresult=add_layer_resource_to_map(layerDefId,resourceSrvc,myLayerName,myLayerName,map);
>>>
>>>
>>> }
>>> MgInsertFeatures insertFeatures = new MgInsertFeatures(myLayerName,
>>> makeLine("1", x0, y0, x1, y1)); MgFeatureCommandCollection commands =
>>> new MgFeatureCommandCollection();
>>>
>>> commands.Add(insertFeatures);
>>> int commandIndex = commands.IndexOf(insertFeatures);
>>> MgPropertyCollection insertResults;
>>>
>>> insertResults = featureSrvc.UpdateFeatures(dataSourceId, commands,
>>> false); MgLayer myLayer1 = map.GetLayers().GetItem(myLayerName) as
>>> MgLayer;
>>>
>>> myLayer1.ForceRefresh();
>>>
>>>
>>> //commands.Add(new MgInsertFeatures(myLayerName,makeLine("1", x0, y0, x1,
>>> y1)));
>>>
>>>
>>>
>>> map.Save(resourceSrvc);
>>>
>>>
>>>
>>> <
>>> script runat=server> Boolean result; MgPropertyCollection makeLine(
>>> String Name, Double x0, Double y0, Double x1, Double y1)
>>>
>>> {
>>> MgPropertyCollection PropertyCollection = new MgPropertyCollection();
>>> MgInt32Property nameProperty = new MgInt32Property("ID", 1);
>>>
>>> PropertyCollection.Add(nameProperty);
>>> MgWktReaderWriter wktReaderWriter = new MgWktReaderWriter();
>>> MgAgfReaderWriter agfReaderWriter = new MgAgfReaderWriter(); MgGeometrygeometry = wktReaderWriter.Read("LINESTRING
>>> XY (" + x0 + " " + y0 + "," + x1 + " " + y1 + ")") as MgLineString; //MgGeometry
>>> geometry = wktReaderWriter.Read("LINESTRING(3 4,10 50,20 25)") as
>>> MgLineString; MgByteReader geometryByteReader =
>>> agfReaderWriter.Write(geometry); MgGeometryProperty geometryProperty =
>>> new MgGeometryProperty("SHPGEOM", geometryByteReader);
>>>
>>> PropertyCollection.Add(geometryProperty);
>>> return PropertyCollection;
>>>
>>> }
>>>
>>> Boolean
>>> DoesLayerExist(String LayerName, MgMap Map)
>>>
>>> {
>>> MgLayerCollection layers = Map.GetLayers();
>>>
>>> result = (layers.Contains(myLayerName));
>>> return result;
>>>
>>> }
>>> MgLayer add_layer_resource_to_map(MgResourceIdentifier layerresourceid,
>>> MgResourceService rs, String layername, String layerlegendlabel, MgMapmap)
>>>
>>> {
>>> MgLayer myLayer = new MgLayer(layerresourceid, rs);
>>>
>>> myLayer.SetName(layername);
>>>
>>> myLayer.SetLegendLabel(layerlegendlabel);
>>>
>>> myLayer.SetDisplayInLegend(
>>> true);
>>>
>>> myLayer.SetSelectable(
>>> true);
>>>
>>>
>>> if (!map.GetLayers().Contains(layername))
>>>
>>> {
>>>
>>> map.GetLayers().Insert(0, myLayer);
>>>
>>> }
>>>
>>> myLayer.SetVisible(
>>> true);
>>>
>>> myLayer.ForceRefresh();
>>>
>>> map.Save(resourceSrvc);
>>> return myLayer;
>>>
>>> }
>>>
>>> </
>>> script>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> ------------------------------
>>>
>>> _______________________________________________
>>> mapguide-users mailing listmapguide-users at lists.osgeo.orghttp://lists.osgeo.org/mailman/listinfo/mapguide-users
>>>
>>>
>>> _______________________________________________
>>> mapguide-users mailing list
>>> mapguide-users at lists.osgeo.org
>>> http://lists.osgeo.org/mailman/listinfo/mapguide-users
>>>
>>>
>> ------------------------------
>>
>> _______________________________________________
>> mapguide-users mailing listmapguide-users at lists.osgeo.orghttp://lists.osgeo.org/mailman/listinfo/mapguide-users
>>
>>
>> _______________________________________________
>> mapguide-users mailing list
>> mapguide-users at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/mapguide-users
>>
>>
> ------------------------------
>
> _______________________________________________
> mapguide-users mailing listmapguide-users at lists.osgeo.orghttp://lists.osgeo.org/mailman/listinfo/mapguide-users
>
>
> _______________________________________________
> mapguide-users mailing list
> mapguide-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapguide-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/mapguide-users/attachments/20090519/2e1f63c9/attachment.html


More information about the mapguide-users mailing list