12

If you are using Arcpy scripting, data lock issues have become even more problematic with 10.1. If the locks are being created by your code, then you aren't cleaning up after yourself. Release all references to feature classes, workspaces, cursors, etc. The locks are removed when you have no more references to the objects being locked. Well, that is the ...


10

The trick to feedback is setting ISymbol.ROP to esriROPNotXOrPen and drawing the geometry twice, the first draw displays it, the second draw erases it. Be sure if you're using a multilayer symbol to set the ROP for each layer. public class MyTool : ESRI.ArcGIS.Desktop.AddIns.Tool { private ISymbol m_Symbol; private IPoint m_lastPoint; private ...


10

According to System Design Strategies - Software Performance, an Esri technical article, file geodatabases are faster than shapefiles in their specific tests. They go into a lot of additional detail regarding what bottlenecks may exist and other performance considerations for various ArcGIS software use cases.


9

The terminology confuses me too but as far as I have understood: ArcObjects is a set components with which you can write a program to control any of the ESRI products (ArcGIS Desktop, ArcGIS Server or ArcEngine). See "What is ArcObjects?". ArcEngine is the kernel of ArcGIS without the user interface. You can't do anything with ArcEngine alone, you use it ...


8

A file geodatabase has 3 types of locks. SR - schema lock RD - read lock ED - edit lock The proposed solution by @StacyR will work in all situations except for exclusive edit locks (ED) according to arcgis help documentation. http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//003n0000007t000000


7

In general this shouldn't be a problem but there are some objects in the ArcObjects library that you want to be very careful about managing their lifetimes so that you don't tie up critical resources or keep locks on database tables for extended periods. Among lots of other good info, in this thread James MacKay lists some of the types of objects you should ...


7

There are many options available for standalone windows app development. However the usability really depends on your programming platform and functionality requirements. GeoTools : GeoTools is an open source Java library that provides tools for geospatial data. SharpMap : SharpMap is an easy-to-use mapping library for use in web and desktop applications. ...


7

If the locks are being created by your code, then you aren't cleaning up after yourself. Release all references to feature classes, workspaces, cursors, etc. The locks are removed when you have no more references to the objects being locked.


7

If you create an ancillary table with the attributes (fkey,xcell,ycell), populated from the objectid and a gridding of the maximum Y coordinate (or centroid coordinate or upper-center envelope coordinate), then you could use SQL to update the table, with something like: UPDATE poly SET num = vtab.rownum FROM ( SELECT row_number() over (order ...


6

So far I have not found anything to help me ease the debugging experience of the ESRI COMException, and therefore decided to try and do something about it. I put the solution on gist.github.com for everybody to use. I used the resource ArcObjects error codes and copied all the error messages with codes and enums into a text file, about 1900+ lines. Not all ...


6

In my experience, most cartographic companies that use ArcGIS for their maps actually export the map to an Adobe Illustrator file and do all of the labeling there -- at least the final tweaks, as they may use Maplex to get a good rough draft. But yes, the regular ArcGIS labeling engine is horrendous. Maplex is marginally better and, in fact, any automated ...


6

ArcGIS Engine Applications that you build, and ArcGIS Desktop applications that Esri builds, both use ArcObjects under the hood. However, Esri did not use the controls in ArcGIS Engine to build the Desktop apps. For example the TOC Control in ArcMap, while it looks like the one found in ArcGIS Engine, is really a different animal.


6

To answer the first part of your question, I think it helps to look at the additional text in the Creating Attribute Indexes help file about Multi-column indexes. The order in which fields appear in a multicolumn index is important. In a multicolumn index with column A preceding column B, column A will be used to conduct the initial search. Also, such ...


6

I'm guessing you may have general performance issues such as labeling, layer scale rendering, transparencies..etc. If you have ArcGIS for Server license you may try using the Analyze button on the Service Editor to test a map document for these performance warnings. Service Editor helps you identify potential performance bottlenecks and errors that you ...


5

I am going to go the other way and actually say that no, it is not a good performance improvement to separate the GeoDatabases for this particular use-case you described . You have to remember that there is a cost associated with a connection to a DB. In the case of the GeoDatabase, it is loading all the related metadata tables. So whenever you separate ...


5

I would try calling IScreenDisplay.InValidate, and pass in a cacheID for esriViewGraphics using IActiveView.ScreenCacheID. Do this after adding the graphics to the map by casting the map to IGraphicsContainer, and adding via AddElement.


5

Knowing which map scales match the zoom levels is important because sometimes caching a map takes a long time. If there’s any error in symbology or labeling settings for a certain zoom level, that map scale will need to be re-cached, which could take a lot of time. By browsing into the folders where the cached image tiles are stored, you can ...


5

There are at least 9 top reasons to use File Geodatabase over Personal Geodatabase. Unfortunately, there are still a lot more reasons to keep the old PGDB around; your dilemma being one of them. (no ESRI publication on this topic) I believe the primary purpose of FGDB over PGDB is storage capacity and performance of spatial data (drawing speed, retrieval, ...


5

There may be several options. If you package your script into a toolbox you could reference your toolbox (and tool) via ArcObjects as such: IGeoProcessor2 gp = new GeoProcessorClass(); gp.AddToolbox(@"C:\YourPath\YourToolbox.tbx"); parameters.Add(@"C:\YourPath\ParamsIfYouHaveThem.gdb\ParamFC"); gp.Execute("NameOfYourToolInsideReferencedToolbox", ...


4

Try wiring IGraphicsContainerEvents to IMap.ActiveGraphicsLayer and listen for ElementAdded and ElementUpdated.


4

I agree with @whuber's comment that moving parcel geometry to try to match area values is a bad idea. Since GIS features and layers are only representative of "the real world" it is often difficult to make the digital geometry match the on-the-ground features. To me, your best bet is to stick with the geometries that are provided in the DWG (which were ...


4

I'd use IPolyCurve.QueryPointAndDistance. The bRight value get set true if the point is on the right side of the polyline.


4

Easiest Answer; is to just create a data connection to your SQL Server, Make your query and the returning dataset can be added to a ESRI table in memory that you can join. Once you have the data into a table in memory; you can join/relate or do whatever ESRI function you want to do.


4

It seems reasonable that you can use loose relationships to derive FontSize or ReferenceScale, assuming you know one or the other. I say loose relationship because aesthetic fonts can have significant per-character width variation; and while font-height is more stable, there is still variation between lowercase and uppercase chars, et cetera. In other words, ...


4

Actually it's normally the other way around; smaller databases query faster. It's like asking if you can find stuff faster if you throw everything in a big heap in the basement rather than sort it into individual filing cabinets. When you have individual databases, that's like having 6 filing cabinets that you can disregard straight from the outset, and don'...


4

Web mercator and a specific set of scales have been adopted by all major mapping providers. Fo r more information on the choice behind using web mercator, see Why has Web Mercator (auxiliary sphere) become the web map standard? The standard scales used by mapping providers are also well established. They are available several places online. I always ...


4

You can use Snap (Editing) tool from ArcToolbox. It can be found in ArcToolbox\Editing\Snap. Set inaccurate polygons as Input features and accurate points after post-processing as Snapping Environment. Also set reasonable Distance parameter for points. Result of my testing the tool: This tool is only available with ArcEditor and ArcInfo licenses.


4

After several emails back and forth with ESRI customer support, I was unable to track down the source of this error. However, I decided to remove the LicenseInitializer that was put in place by Visual Studio when I created the project (this used the AoInitialize class to attempt to initialize the license). Instead, I placed an AxLicenseControl on the ...


4

Go to View->Data Frame Properties and switch your Coordinate System to DHDN_3_Degree_Gauss_Zone_3 and then click the Transformations... button to tell ArcMap how to get from the ETRS datum to DHDN.


4

This is a licensing issue. A standalone ArcEngine license does not support multi-user editing. According to ESRI's documentation, multi-user editing geodatabase functionality only exists for ArcGIS Server licensing. Since you have tagged this question with ArcGIS Server, I am going to assume that you have an ArcGIS server license. What you need to do is ...


Only top voted, non community-wiki answers of a minimum length are eligible