[mapguide-users] help
Kenneth Skovhede, GEOGRAF A/S
ks at geograf.dk
Tue May 26 02:55:04 EDT 2009
The keyword for this is base64 encoding, see:
http://lists.osgeo.org/pipermail/mapguide-users/2008-February/011245.html
and
http://www.mail-archive.com/mapguide-users@lists.osgeo.org/msg03312.html
Regards, Kenneth Skovhede, GEOGRAF A/S
saloua wakrim skrev:
> i resolved coordinates point prob and transparency layer, now i want
> identify polygone wich i draw on map by user clic, i use
> GetSelectionXml() when user select polygone, this function gives me:
>
> <?xml version="1.0" encoding="UTF-8"?><FeatureSet><Layer
> id="d610b562-ffff-ffff-8002-0016356155d0"><Class
> id="BufferLayerSchema:BufferClass"><ID>GQAAAA==</ID></Class></Layer></FeatureSet>
>
> i want understand how can i identify polygone (id polygone) by this
> description i think that i must use
> <ID>GQAAAA==</ID> cause i've remarked that all what it changes when i
> select another polygone, but i don't see the relation with
> <ID>GQAAAA==</ID> end the ID wich i associate to my polygone when i
> create it.there is any relation?? thanks a lot on advance.
>
> 2009/5/20 Kenneth Skovhede, GEOGRAF A/S <ks at geograf.dk
> <mailto:ks at geograf.dk>>
>
> UNIT is the coordinate system unit, eg. degrees, meters or inches.
>
> If the layers and map have the correct coordinate systems assigned,
> MapGuide will automatically convert the data to display correctly,
> so you get the correct map.
>
> You do not have to work with the projection string manually.
> Beware of trying to calculate coordinates manually based on the
> UNIT, because
> projections are not always compatible just because the use the
> same UNIT.
> Instead, use the MgCoordinateSystem classes to convert points from
> one projection to another.
>
> Regards, Kenneth Skovhede, GEOGRAF A/S
>
>
>
>
> saloua wakrim skrev:
>> but please if you know what that UNIT means in coordinates System
>> say it me:
>>
>>
>> <
>>
>> CoordinateSystem>GEOGCS["WGS84 Lat/Long's, Degrees, -180 ==>
>> +180",DATUM["D_WGS_1984",SPHEROID["World_Geodetic_System_of_1984",6378137,298.257222932867]],PRIMEM["Greenwich",0],*_UNIT_*["Degree",0.017453292519943295]]</CoordinateSystem>
>> cause i want draw polygone representing view of cam (dome) and it
>> must be proportional to the real view of cam, and my layer must
>> be added to map with another layer wich contains cams so i must
>> know wich units is used on map(m, km, cm) or what? that what i do
>> that i convert (m) to unit by this code:
>>
>>
>> MgCoordinateSystemFactory
>>
>> csFactory = new MgCoordinateSystemFactory(); MgCoordinateSystem
>> srs = csFactory.Create(map.GetMapSRS());
>> MgCoordinateSystemMeasure mesure = new
>> MgCoordinateSystemMeasure(srs);
>>
>> distanceunits = pointa.Distance(pointb, mesure);
>>
>> Response.Write(
>>
>> "distance entre les deux points du calque en unit‚:
>> "+distanceunits.ToString());
>>
>> distancemeters =
>> srs.ConvertCoordinateSystemUnitsToMeters(distanceunits);
>>
>> but i don't know if this layer (wich contains polygone) will be
>> compatible with another layer or not? if you don't understand me
>> say it me please. thanks or advance, i ask you cause i remark
>> that you master more than onother mapguide developpers mapguide,
>> thanks on advance.
>>
>> 2009/5/19 Kenneth Skovhede, GEOGRAF A/S <ks at geograf.dk
>> <mailto: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
>>> <mailto: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
>>>> <mailto: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(); MgLayer
>>>>> result=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();
>>>>> MgGeometry geometry =
>>>>> 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, MgMap map)
>>>>>
>>>>> {
>>>>>
>>>>> 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 list
>>>>> mapguide-users at lists.osgeo.org <mailto:mapguide-users at lists.osgeo.org>
>>>>> http://lists.osgeo.org/mailman/listinfo/mapguide-users
>>>>>
>>>>
>>>> _______________________________________________
>>>> mapguide-users mailing list
>>>> mapguide-users at lists.osgeo.org
>>>> <mailto:mapguide-users at lists.osgeo.org>
>>>> http://lists.osgeo.org/mailman/listinfo/mapguide-users
>>>>
>>>>
>>>> ------------------------------------------------------------------------
>>>>
>>>> _______________________________________________
>>>> mapguide-users mailing list
>>>> mapguide-users at lists.osgeo.org <mailto:mapguide-users at lists.osgeo.org>
>>>> http://lists.osgeo.org/mailman/listinfo/mapguide-users
>>>>
>>>
>>> _______________________________________________
>>> mapguide-users mailing list
>>> mapguide-users at lists.osgeo.org
>>> <mailto:mapguide-users at lists.osgeo.org>
>>> http://lists.osgeo.org/mailman/listinfo/mapguide-users
>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>> _______________________________________________
>>> mapguide-users mailing list
>>> mapguide-users at lists.osgeo.org <mailto:mapguide-users at lists.osgeo.org>
>>> http://lists.osgeo.org/mailman/listinfo/mapguide-users
>>>
>>
>> _______________________________________________
>> mapguide-users mailing list
>> mapguide-users at lists.osgeo.org
>> <mailto:mapguide-users at lists.osgeo.org>
>> http://lists.osgeo.org/mailman/listinfo/mapguide-users
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> mapguide-users mailing list
>> mapguide-users at lists.osgeo.org <mailto:mapguide-users at lists.osgeo.org>
>> http://lists.osgeo.org/mailman/listinfo/mapguide-users
>>
>
> _______________________________________________
> mapguide-users mailing list
> mapguide-users at lists.osgeo.org <mailto:mapguide-users at lists.osgeo.org>
> http://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/20090526/94353730/attachment.html
More information about the mapguide-users
mailing list