|
POST
|
Have you upgraded the geodatabase? http://resources.arcgis.com/en/help/main/10.1/index.html#//0017000000q7000000
... View more
03-21-2013
07:02 AM
|
0
|
0
|
9753
|
|
POST
|
Optimizing the query to handle case insensitive strings would be a database exercise (Oracle, SqlServer, etc.) ArcObjects and SDE are not really going to help. If you can't optimize the sql for case insensitivity, why not sanitize the strings the user inputs. If you know one FC's attribute are all caps and the other capitalized the first letter, why not build two queryfilters with slightly different where clauses. The first where the user's input is changed to all upper case and the second where the same input is changed to proper case.
... View more
03-21-2013
06:17 AM
|
0
|
0
|
2480
|
|
POST
|
I think we have a terminology hurdle here so I will try my best to answer. I am not sure the word assigning is correct in this context. From a featurelayer class instance or object, you can cast (.net terminology) or query interface (COM terminology) to any interface that the class implements, including IFeatureSelection. The IFeatureSelection property returns an ISelectionSet. The ISelectionSet return is an instance of either RelQueryTableSelectionSet, SelectionSet or TMSSelectSet, most likely a SelectionSet. No matter, since all three implement both ISelectionSet and ISelectionSet2, so you can cast (or QI) from one to the other. The ISelectionSet2 has the update method that is extra that returns a cursor you can use to loop through all the features and edit them. A search cursor is sufficient just to read the features. You can also get at the features through their objectid (on the featureclass that you can get through the IFeatureLayer), the IDs property returns an array of the objectids of the selected features. So in VBA it would look like this dim fSel as IfeatureSelection set fSel = featLayer dim selSet2 as ISelectionSet2 set selSet2 = dSel.SelectionSet if selSet2.Count > 1 then dim upCur as ICursor selSet2.Update(Nothing, false, upCur) dim rw as IRow set rw = upCur.NextRow etc.
... View more
03-20-2013
09:41 AM
|
0
|
0
|
830
|
|
POST
|
What Richard is saying about 32 bit and large address aware is very true. The obvious question then is why is your application taking so much memory and how can you reduce it. Without seeing the code of the loop it is hard to point to one thing or another. Marshall com release must be done on any cursors and usually on the features or rows in the loop too. I don't know if you use recycling on the cursor or if you limit the fields. You also don't mention the type of database (large selections on an enterprise gdb are done on the database.) If you can reduce the amount the memory grows per iteration, you should be able to process the entire dataset.
... View more
03-19-2013
09:13 AM
|
0
|
0
|
4791
|
|
POST
|
Yes it is possible. I have done this for zooming to an extent. I created an extension, defined a custom interface for my extension. Implemented both IExtension and my custom interfaced on it. Put the extents I wanted to zoom to as public properties on the extension (doubles.) In my other project with the command, I reference the assembly with the extension. Then from the application object, I get a reference to the custom extension running in the other ArcMap, cast it to my custom interface, set the properties (doubles.) For literal values, that is fine, if you want to pass in objects (a layer for example,) you need to use an object factory to create the object in the ArcMap process space.
... View more
03-18-2013
04:44 AM
|
0
|
0
|
773
|
|
POST
|
I think you will need to post code if the forum is to go any further on this.
... View more
03-15-2013
09:15 AM
|
0
|
0
|
651
|
|
POST
|
This is a little tricky but I will try. Basically some classes belong to some assemblies but have dependencies on objects in other assemblies. Some of the interfaces implemented by FeatureLayer are in the Display assembly. Some of the methods (such as draw) need objects in the Display assembly. As far as the difference between "FeatureLayer" and "FeatureLayerClass" it has to do with the way the COM Interop is build. Each represent a different RCW (run time callable wrapper) to the same COM class. Using "FeatureLayer" amounts to using the "class interface" which I believe is the default IFeatureLayer (which is in the Carto assembly.) Using "FeatureLayerClass" is the second RCW which points to the FeatureLayer COM class (which would let the compiler know that any assembly dependency would need to be included.) Esri states that you should always use the FeatureLayerClass type of instantiation because the default interface of a class could change (making the use of FeatureLayer unpredictable.) http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/Using_ArcObjects_COM_based_in_NET/000100000151000000/
... View more
03-14-2013
06:38 AM
|
0
|
0
|
1175
|
|
POST
|
You mention you are doing this in an edit session, are you also doing this in an edit operation? It is also not clear if you use an update cursor with the update method or the store method on the feature. Keep in mind that feature linked annotation use a relationship class so they behave differently than non-feature linked annotation. What license level are you using?
... View more
03-12-2013
07:54 AM
|
0
|
0
|
651
|
|
POST
|
I have always done this by defining my own custom interface for the methods I need to call from another assembly. I implement both IExtension and my own custom interface on the class. Then If I add a reference to the first assembly in my external assembly, I can cast the IExtension variable to my custom extension and use the methods on it.
... View more
03-12-2013
06:20 AM
|
0
|
0
|
711
|
|
POST
|
I compile the process to run as 64 bit in order to bind to the server. ArcObjects is 32 bits, are you running this inside an ArcGIS server SOC? Jason has good points but I don't see them accounting for that much difference. I would actually build a list of strings, at the end use the toArray in a string.joing with "and" and a separator. http://msdn.microsoft.com/en-us/library/57a79xd0.aspx Avoids having to deal with trailing or leading "and" Check how long it takes to get the first feature, that is usually when the query is executed on the database side. The creation of the cursor usually just validates the query but doesn't perform it. If the return of the first feature is slow, then it is slow on the database. It is hard to say what is the best way without knowing what you plan on doing with it. The whereclause looks like you are building a way to exclude these features from something else. I am not sure you need to make this query in the first place, there are limits to length of the where clauses you can pass in the query filter. If you absolutely need a cursor, you can limit the fields in the first spatial filter (Shape and ObjectID.) However, if you make a selection instead, the selection is an array of objectids (ISelectionSet.IDs.) You can use this array to make your query filter for the table, or better yet create a selection on the table and use removeList from the selectionset and the you can call search on the selectionset and get a cursor off of the selection. ISelectionSet2 even lets you get an update cursor off of the selectionset. You can pass in additional conditions in those cursors.
... View more
03-11-2013
10:40 AM
|
0
|
0
|
2425
|
|
POST
|
If this is a standalone application (exe) the way you check-out licenses and bind to products has changed. Check-out this previous thread. http://forums.arcgis.com/threads/63022-What-is-Error-error-80040111-Please
... View more
03-11-2013
10:09 AM
|
0
|
0
|
942
|
|
POST
|
I am not 100% sure but think the dotted line is the printable area (your screen shot does not include the rulers or the snap grid) I don't have time to test today but have you looked at the orientation of the paper? IpageLayout3.Printer.Paper.Orientation
... View more
03-08-2013
11:04 AM
|
0
|
0
|
1763
|
|
POST
|
Leo is making valid points and was right to ask what is the error message. The other half of the equation is, of course, what code is generating this message. However, if one assumes there is only one way to edit, one might not think to provide that information. With a little more info to start with there is a lot less confusion.
... View more
03-08-2013
05:01 AM
|
0
|
0
|
1038
|
|
POST
|
Ghassan, There are many ways to do updates. Are you using store on the feature or are you calling updatefeature on the featurecursor? Are you inside an edit session (on the editor extension or on IWorkspaceEdit) or not in an edit session? If in an edit session are you in an edit operation? Are you using com release on each feature after the edit is done? Have you place the featureclasses in load only mode? Is the data in a enterprise database or a file database? If in a enterprise database, is the data versioned? You may be running out of memory if you don't release any of the features as you go along. You could be filling up user allocated space on the database also.
... View more
03-07-2013
09:05 AM
|
0
|
0
|
1908
|
|
POST
|
You should mark Leo's post as the answer if it answered your question
... View more
03-07-2013
04:53 AM
|
0
|
0
|
806
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 12-02-2024 10:26 AM | |
| 1 | 07-05-2024 08:45 AM | |
| 1 | 10-05-2022 02:19 PM | |
| 6 | 03-27-2017 01:16 PM | |
| 1 | 05-05-2016 05:46 AM |
| Online Status |
Offline
|
| Date Last Visited |
03-28-2025
07:37 AM
|