Advertisement
edblair

TransformInternalWorlds_03

Sep 1st, 2014
1,110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.19 KB | None | 0 0
  1. private void CreateTransformedFeatures(IFeatureClass sourceClass, IQueryFilter sourceQF,
  2. IFeatureClass targetClass, IAffineTransformation2D3GEN affineTransformation)
  3. {
  4.     IGeoDataset targetGDS = (IGeoDataset)targetClass;
  5.     IFeatureCursor sourceCur = sourceClass.Search(sourceQF, true);
  6.     IFeature sourceFea = sourceCur.NextFeature();
  7.     while (sourceFea != null)
  8.     {
  9.         // Create the new feature
  10.         IFeature targetFea = targetClass.CreateFeature();
  11.  
  12.         // Get the source geometry and project to the target spatial reference
  13.         IPolyline sourcePolyline = (IPolyline)sourceFea.ShapeCopy;
  14.         sourcePolyline.Project(targetGDS.SpatialReference);
  15.  
  16.         // Create a transformed geometry
  17.         IPolyline sourcePolyline = (IPolyline)sourceFea.ShapeCopy;
  18.         ITransform2D transform2D = (ITransform2D)sourcePolyline;
  19.         transform2D.Transform(esriTransformDirection.esriTransformForward,
  20.         (ITransformation)affineTransformation);
  21.  
  22.         // Assign the transformed geometry
  23.         targetFea.Shape = sourcePolyline;
  24.  
  25.         // Assign other attributes
  26.         // ...
  27.  
  28.         targetFea.Store();
  29.         sourceFea = sourceCur.NextFeature();
  30.     }
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement