POST
|
hi experts, can anyone provide me some help on how to save the feature class as shape file in the disk. Thanks Mukund
... View more
03-09-2012
09:28 AM
|
0
|
1
|
1220
|
POST
|
here is the code to get fields of a featureclass and check for the assigned domain IFields fields = featureClass.Fields; string domainName = string.Empty; for (int i = 0; i < fields.FieldCount; i++) { if (fields.get_Field(i).DomainFixed) domainName = fields.get_Field(i).Domain.Name; } Thanks Mukund
... View more
03-07-2012
05:39 AM
|
0
|
0
|
1340
|
POST
|
Below is the code to get the feature class names form the workspace // Get a name object for the first feature class in the workspace. IEnumDatasetName enumDatasetName = featureWorkspace.get_DatasetNames (esriDatasetType.esriDTAny); //enumDatasetName.Reset(); IDatasetName datasetName = null; while ((datasetName = enumDatasetName.Next()) != null) { string featureClassname = datasetName.Name; } Below code would be help full in looping through the fields ESRI.ArcGIS.Geodatabase.IFeatureWorkspace featureWorkspace = (ESRI.ArcGIS.Geodatabase.IFeatureWorkspace)workspace; // Explict Cast ESRI.ArcGIS.Geodatabase.IFeatureClass featureClass = featureWorkspace.OpenFeatureClass("129398824"); ISpatialFilter spatialFilter = new SpatialFilterClass(); spatialFilter.Geometry = envelope; spatialFilter.GeometryField = featureClass.ShapeFieldName; spatialFilter.SpatialRel = esriSpatialRelEnum.esriSpatialRelIntersects; spatialFilter.SubFields = "Point"; IWorkspace workspaceCont = null; ISelectionSet ifc = featureClass.Select(spatialFilter, esriSelectionType.esriSelectionTypeHybrid, esriSelectionOption.esriSelectionOptionNormal, workspaceCont); int fieldID; IEnumIDs eIDs = ifc.IDs; string fieldvalue= string.Empty; while ((fieldID = eIDs.Next()) != null) // The fieldID corresponds to each feature and get_value method get the attributes of the fields { if (fieldID == -1) break; fieldvalue = featureClass.GetFeature(fieldID).get_Value(7).ToString(); } Thanks Mukund
... View more
03-06-2012
08:20 AM
|
0
|
0
|
1340
|
POST
|
hi, I am in need to cut an envelope from the File Geodatabase and save it as a shape file. I have done till opening the File GeoDB and finding the parcel count for the Envelope Area as shown below public static IWorkspace FileGdbWorkspaceFromPropertySet(String path) { //Initialize the application. esriLicenseStatus licenseStatus = esriLicenseStatus.esriLicenseUnavailable; IAoInitialize m_AoInitialize = new AoInitializeClass(); licenseStatus = m_AoInitialize.Initialize(esriLicenseProductCode.esriLicenseProductCodeArcView); Type factoryType = Type.GetTypeFromProgID("esriDataSourcesGDB.FileGDBWorkspaceFactory"); IWorkspaceFactory2 workspaceFactory = (IWorkspaceFactory2)Activator.CreateInstance (factoryType); return workspaceFactory.OpenFromFile(path, 0); } IWorkspace featureWorkspace = FileGdbWorkspaceFromPropertySet(@"D:\Test.gdb"); IFeatureWorkspace fws = (IFeatureWorkspace)featureWorkspace; IFeatureClass parcelsFeatureClass = fws.OpenFeatureClass("COParcels") IEnvelope envelope = new EnvelopeClass(); envelope.PutCoords(-106.9988, 38.7141, -107.0281, 38.701); ISpatialFilter spatialFilter = new SpatialFilterClass(); spatialFilter.Geometry = envelope; spatialFilter.GeometryField = parcelsFeatureClass.ShapeFieldName; spatialFilter.SpatialRel = esriSpatialRelEnum.esriSpatialRelContains; spatialFilter.SubFields = "Shape"; int parcelCount = parcelsFeatureClass.FeatureCount(spatialFilter); But i requirement is to save the Envelope area as a shape file. Any help will be appreciated!
... View more
03-05-2012
07:54 AM
|
0
|
0
|
408
|
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:23 AM
|