ArcGIS for Desktop 10.1 SP1ArcObjects .NET SP1Windows 8 (russian)Visual Studio 2010When I try to open feature class with russian symbols (e.g. "????????_???????") from file geodatabase programmatically (fws.OpenFeatureClass(name)), I get an "Table was not found" exception. Also I tried to open feature class with name in uppercase - same result. Any ideas?
public List<string> listFeatClassInDataBase(Geoprocessor GP, string GDBPath , string Dataset) { //lista List<string> list = new List<string>(); GP.SetEnvironmentValue("workspace", @GDBPath); IGpEnumList fcs = GP.ListFeatureClasses("*", "", Dataset); string fc = fcs.Next(); while (fc != "") { list.Add(fc); fc = fcs.Next(); } return list; } private void SomeMethod() { List<string> featureClassList = listFeatClassInDataBase(GP,GDBPath, datasetName); foreach (string feature in featureClassList) { if(feature == "????????_???????") { featWorkspace.OpenFeatureClass(feature); } } }
public List<string> GetAllFeatureClassNames() { List<string> names = new List<string>(); // Featureclasses in datase IEnumDatasetName enumDSNames = (_featureWorkspace as IWorkspace).get_DatasetNames(esriDatasetType.esriDTFeatureDataset); IDatasetName dsName = null; while ((dsName = enumDSNames.Next()) != null) { IEnumDatasetName dsFCNames = dsName.SubsetNames; if (dsFCNames != null) { IDatasetName dsFCName = null; while ((dsFCName = dsFCNames.Next()) != null) { if (dsFCName.Type == esriDatasetType.esriDTFeatureClass) names.Add(dsFCName.Name); } } } // Featureclasses in root IEnumDatasetName enumFCNames = (_featureWorkspace as IWorkspace).get_DatasetNames(esriDatasetType.esriDTFeatureClass); IDatasetName fcName = null; while ((fcName = enumFCNames.Next()) != null) { names.Add(fcName.Name); } return names; }
Aangemelde leden kunnen berichten plaatsen, updates volgen en meer. Nieuw hier? Registreer een gratis account.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.