/// <summary> /// Copies all spatial contexts /// </summary> /// <param name="spatialContexts">The spatial contexts.</param> /// <param name="target">The target.</param> /// <param name="overwrite">if set to <c>true</c> [overwrite].</param> public override void Execute(ICollection<SpatialContextInfo> spatialContexts, FdoConnection target, bool overwrite) { List<SpatialContextInfo> contexts = new List<SpatialContextInfo>(spatialContexts); foreach (SpatialContextInfo sc in contexts) { //Make sure that CSName != Spatial Context Name WKTParser parser = new WKTParser(sc.CoordinateSystemWkt); if (!string.IsNullOrEmpty(parser.CSName)) { sc.CoordinateSystem = parser.CSName; sc.Name = parser.CSName; } } base.Execute(contexts, target, overwrite); }
/// <summary> /// Copies the spatial contexts given in the list /// </summary> /// <param name="source">The source connection</param> /// <param name="target">The target connection</param> /// <param name="overwrite">If true will overwrite any existing spatial contexts</param> /// <param name="spatialContextNames">The list of spatial contexts to copy</param> public override void Execute(FdoConnection source, FdoConnection target, bool overwrite, string [] spatialContextNames) { if (spatialContextNames.Length == 0) return; string srcName = spatialContextNames[0]; FdoFeatureService srcService = source.CreateFeatureService(); FdoFeatureService destService = target.CreateFeatureService(); SpatialContextInfo context = srcService.GetSpatialContext(srcName); if (context != null) { //Make sure that CSName != Spatial Context Name WKTParser parser = new WKTParser(context.CoordinateSystemWkt); if (!string.IsNullOrEmpty(parser.CSName)) { context.CoordinateSystem = parser.CSName; context.Name = parser.CSName; destService.CreateSpatialContext(context, overwrite); } } }