I am using Autodesk Civil 3D/Map 3D (contains a MapGuide component) and I need 
to create a custom command to clip or resample raster image via WMS connection. 
I am a C# developer.
I see the appropriate expression capabilities listed here, but I cannot find 
any examples how to apply these expressions to the WMS connection.
FDO Developer's Guide: FDO Provider for WMS Capabilities 
(autodesk.com)<http://docs.autodesk.com/MAP/2014/ENU/Developer_Guides/index.html>

Can anyone provide an example on how to use expressions? This is what I have so 
far, but don't feel like I'm close.

using Autodesk.Gis.Map.Platform;
using OSGeo.FDO.Commands;
using OSGeo.FDO.Connections;
using OSGeo.FDO.Connections.Capabilities;
using OSGeo.FDO.Expression;
using OSGeo.MapGuide;

namespace MapServices
{
    public class WmsLayer
    {
        public static void ClipMapLayer(string layerName)
        {
            AcMapFeatureService fs = 
AcMapServiceFactory.GetService(MgServiceType.FeatureService) as 
AcMapFeatureService;

            //Get the current Map.
            AcMapMap currentMap = AcMapMap.GetCurrentMap();

            //Get the collecton of Map 3D layers
            MgLayerCollection layers = currentMap.GetLayers();
            if (layers.Contains(layerName)) //Make sure the specified Map 3D 
layer exists
            {
                //Get the specified Map 3D layer with the Raster image.
                MgLayerBase lyr = layers.GetItem(layerName);

                //Get the resource identifier
                MgResourceIdentifier identifier = new 
MgResourceIdentifier(lyr.FeatureSourceId);

                //Get the FDO connection from the resource
                IConnection con = fs.GetFdoConnection(identifier);

                //I can get the Expression capabilities from the connection, 
but what do I do with that??
                IExpressionCapabilities expCaps = con.ExpressionCapabilities;
                ExpressionType[] types = expCaps.ExpressionTypes;
                FunctionDefinitionCollection funcs = expCaps.Functions;

                //Is this how to create the expression?
                //How do I pass the inputs into the expression?
                //How is a BLOB created from the raster?
                Expression wmsCmd = Expression.Parse("CLIP(raster, minX, minY, 
maxX, maxY)");

                //Do I somehow pass the expression into an ICommand???  No idea 
what command type is correct.
                ICommand cmd = 
con.CreateCommand(CommandType.CommandType_Select);
            }
        }
    }
}

Thank you for your assistance!


Keith Sowinski, P.E.
Civil 3D Implementation Engineer
Methods Development Unit
WisDOT Bureau of Project Development
Office: (920) 492-4132
wisconsindot.gov


_______________________________________________
mapguide-users mailing list
mapguide-users@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/mapguide-users

Reply via email to