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
[email protected]
https://lists.osgeo.org/mailman/listinfo/mapguide-users