ThinkGeo.com    |     Documentation    |     Premium Support

Merge AreaShapes for creating a new ShapeFile from another ShapeFile

Hello,


 I try to create a new shapefile AreaShape, from an existing shapefile, grouping the AreaShapes depending on Feature.ColumnValues.


 Like this:


ORIGINAL SHAPEFILE 

------------------

ID DEP    SECTION     NO

1   99        AB                  1

2   99        AB                  2

3   99        AB                  3



4   99        AC                  1

5   99        AC                  2


OUTPUT SHAPEFILE

----------------

ID DEP    SECTION

1   99        AB

2   99        AC




 I plan on creating an InMemoryLayer with:

 - New AreaShapes created using AreaBaseShape.Union

 - The ColumnValues copied from the base shapefile.


 Then how to save the InMemoryLayer in a shapefile?

 or may be, there is a simpler way ...


 Thank you for your help.



Hi Eric, 



In this post Ben upload a sample shows how to save features into shape file, I think that should be helpful. 

gis.thinkgeo.com/Support/DiscussionForums/tabid/143/aff/12/aft/5199/afv/topic/Default.aspx 



I copy the core code for that here: 



[code]


foreach (Feature feature in Map1.EditOverlay.Features)

            {

                shapeLayer.InternalFeatures.Add(feature.Id, feature);


                // Save shapes to ShapeFile

                ShapeFileFeatureSource featureSource = new ShapeFileFeatureSource("C:\\PolygonDrawn.shp", ShapeFileReadWriteMode.ReadWrite);

                featureSource.Open();

                featureSource.BeginTransaction();

                featureSource.AddFeature(feature);

                featureSource.CommitTransaction();

                featureSource.Close();

            }






And for your requirement I think we can just create two feature collection, then loop all features in original feature source, and add them to the two collections, after loop save them to feature layer. 



Regards, 



Don



 



Thank you Don, this is what I was looking for … 
  
 Eric

Thans Eric, 
  
 You’re welcome. 
  
 Regards, 
  
 Don

Thans Eric, 
  
 You’re welcome. 
  
 Regards, 
  
 Don