POST
|
Hi, Alexander. I did eventually find a workaround thanks to suggestions on the SDK topic. I'm sure there are a number of ways to work around it, but resetting the CLSID programmatically turned out to be expedient.
... View more
03-13-2015
05:13 AM
|
0
|
0
|
536
|
POST
|
Thanks for the pointer. Wouldn't I need access to an ESRI server for that query? Or, is there a means to extract that information from a file geodatabase?
... View more
03-10-2015
12:15 PM
|
0
|
1
|
3258
|
POST
|
In theory the ArcFM tool would be a viable option. However, my employer forbids developers from clicking through license agreements with explicit legal clearance. As a practical matter I need to stick with the tools I have or (as was suggested) have the customer do the conversion. I really appreciate all the advice, and good catch on the Fault Indicator feature class! That slipped right by me. I thought it was referring to something in the ESRI library internals (yesterday was a long day).
... View more
03-10-2015
06:13 AM
|
0
|
0
|
692
|
POST
|
Setting the instance CLSID at the feature class level to ComplexEdgeFeature or SimpleJunctionFeature (depending on the class's broad category) gets me a lot further and most of the attempts at going from network eid to geometry are working. The operative word being "most". I'm still seeing a healthy number of these complaints: AutomationException: 0x80041352 - Unable to create object class extension COM component [FaultIndicator] in 'Esri GeoDatabase' Can a single feature class have both SimpleEdgeFeatures and ComplexEdgeFeatures mixed? I can see where trying to treat a simple edge as a complex edge would be problematic. How would I edit the CLSID for individual instance in the case where I can't open the feature class without a blanket modification to begin with. Perhaps I'm confused here, so please bear with me. Also, casting the IFeatureClassProxy object to IClass and calling getEXTCLSID() yields a null result.
... View more
03-09-2015
01:46 PM
|
0
|
4
|
3258
|
POST
|
Bump again. I suspect I need to focus this question a bit better. Let me try again: If I've opened a feature class that participates in a geometry network, how can I obtain the extension CLSID for that class? I've come across the 'IObjectClassDescription' interface that appears capable of telling me what the extension class id is, but cannot find any way to obtain an instance that implements this interface. Opening the feature class gets me an IFeatureClassProxy and I can find no clear path from there to an ability to query the extension class information (this is an all-too-familiar problem with the Java API, but that's a whole separate frustration...) My reasoning relative to the original problem: If I can find out what extension class is used to manage objects in a conventional geometric network, I'm hoping I can force the features from the ArcFM data set back to something that ArcObjects can properly resolve.
... View more
03-09-2015
08:12 AM
|
0
|
7
|
3258
|
POST
|
Bump... Is there really no one on this forum who can help? I think if someone can provide me with the ESRI default values for ClassExtensionCLSID and InstanceCLSID I'd be set. Unfortunately, even after considerable digging through the documentation I cannot find a method to query either of those attributes.
... View more
03-05-2015
09:56 AM
|
0
|
8
|
3258
|
POST
|
I am using ArcGIS RT 10.1 in Java to work with a customer geodatabase. After receiving an update of the data, I started seeing Automation execptions on any attempt at opening a feature class: AutomationException: 0x80041352 - Unable to create object class extension COM component [MyClassName] in 'Esri GeoDatabase' at com.esri.arcgis.geodatabase.Workspace.openFeatureClass(Unknown Source) I finally traced this down to the data having come from the ArcFM environment (apparently there are extension classes associated that we do not have access to). After a bit more digging I found a way to clear the extensions by doing this for every feature class: IFeatureWorkspaceSchemaEdit edit = (IFeatureWorkspaceSchemaEdit) featureWorkspace; edit.alterClassExtensionCLSID(feature_class_name,null,null); UID id = new UID(); id.setValue(com.esri.arcgis.geodatabase.Feature.class); edit.alterInstanceCLSID(feature_class_name,id); This gets me about 98% of the way there. I can open the feature class, traverse the network, get my hands on shapes, etc. However, now I cannot get from a network EID directly back to a shape. Any attempt at calling: iGeometricNetwork.getGeometryForEdgeEID(eid); or iGeometricNetwork.getGeometryForJunctionEID(eid); throws this exception: AutomationException: 0x80004005 - Unspecified error Clearly there is a connection broken between the geometric network and the feature class. I'm guessing I need to be doing something slightly different in the schema edit, but the documentation is not forthcoming on the details. Can anyone give me the magic incantation?
... View more
02-27-2015
11:59 AM
|
0
|
12
|
10400
|
POST
|
I have a body of code that uses ArcGIS runtime 10.1 to work with a geometric network in customer data. It's been working fine, but we recently obtained a newer version of the geodatabase and I cannot seem to open any feature classes! Oddly, the 'isNameExists' method returns true when queried whether the feature class exists yet the following called to 'openFeatureClass' blows up with this exception: AutomationException: 0x80041352 - Unable to create object class extension COM component [MyClassName] in 'Esri GeoDatabase' at com.esri.arcgis.geodatabase.Workspace.openFeatureClass(Unknown Source) IWorkspace2 is2 = (IWorkspace2) featureWorkspace; if (! is2.isNameExists(esriDatasetType.esriDTFeatureClass, feature_class_name)) { System.err.println("Feature class " + feature_class_name + " not found"); continue; } IFeatureClass iFeatureClass = featureWorkspace.openFeatureClass(feature_class_name); I'm at a loss to know how to work around this problem. Any suggestions for further troubleshooting? ArcCatalog does show the class, FWIW.
... View more
02-26-2015
10:42 AM
|
0
|
3
|
4255
|
POST
|
Thanks for the reply, Eric! It was from a local GDB. After a lot of hair pulling, it turns out that nearestFeature() does not gracefully handle situations where the passed geometry is in a different coordinate system (shame on me) OR is projected correctly but through a data entry error resides at a very large distance from anything in the index (a bug or a feature?). I really, really wish that AutomationExceptions provided some diagnostic detail - or do they and perhaps I'm just not getting at them properly? Always more to learn, and thanks again.
... View more
11-10-2014
10:54 AM
|
0
|
1
|
357
|
POST
|
I have a Java application that uses ArcGIS RT 10.1. One feature class in my data set consists of polygons and several of lines. I have built an index over the polygon class and am calling FeatureIndex.nearestFeature() on each line to see which polygon is closest. This works for some of the line classes, but one of them causes an immediate AutomationException from 'nearestFeature'. I am guarding against null shapes and empty shapes and cannot figure why this one class is causing issues. I would appreciate any suggestions or guesses as to why this happens only on one input class.
... View more
11-03-2014
02:01 PM
|
0
|
3
|
2940
|
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:23 AM
|