2

I have a arcpy script in which I am using arcpy.Dissolve on a single feature class with multiple features to get a single multi-part feature in the output. The script is successful only part of the time and the problem, I would guess, relates to the function built-in tiling. Per ESRI:

"The availability of physical memory may limit the amount (and complexity) of input features that can be processed and dissolved into a single output feature. This limitation could cause an error to occur, as the dissolve process may require more memory than is available. To prevent this, Dissolve may divide and process the input features using an adaptive tiling algorithm..."

I tried putting the operation in a while loop that exits when the feature count is 1 but as the ESRI page states, that rarely results in success. So my question is: how do I complete the dissolve in the midst of this problem? Are there any work arounds? I'd note that my system has plenty of memory so the problem cannot be corrected by running on a box with more memory. Any help would be greatly appreciated. Thanks!

  • 1
    What is your problem? Do you get any errors? Do you get incorrect/unexpected results? – Alex Tereshenkov Apr 1 '14 at 13:49
  • The problem is is that the dissolve does not work. The script will continue but with a feature class with multiple single part features while I wanted a feature class with a single multi part feature.. – gcolumbus Apr 1 '14 at 13:53
  • Obvious first question that needs answering is have you ticked on MULTI_PART option in the dissolve tool? – Hornbydd Apr 1 '14 at 13:55
  • Yes. I do have MULTI_PART specified. Also, I'm working on 10.1 – gcolumbus Apr 1 '14 at 14:00
  • Could you give more information about the size of the feature class you dissolve, the structure of its table, the error you get and the code you are using? Without that information, I guess that you may try to tile yourself the feature class and try to implement the dissolve separately – user2645510 Apr 1 '14 at 14:02
2

You will want to execute Dissolve in 64-bit, rather than the default 32-bit. Make sure your system has 64-bit geoprocessing installed. A quick way to check is to see if there is a 64-bit Python installation:

C:\Python27\ArcGISx6410.2

64-bit background geoprocessing is available with 10.1 SP1 here and is available with the initial install of 10.2.

  • I'd guess that this solves the problem but looks like that 64 bit arcpy module is only available on 10.2. Do you know of any work arounds for us poor-folk still working on 10.1? – gcolumbus Apr 1 '14 at 14:06
  • 2
    Post updated to include response to your comment. 64-bit processing is also available for 10.1 resources.arcgis.com/en/help/main/10.1/index.html#//…. – Aaron Apr 1 '14 at 14:08
1

I have had Dissolve fail when I have run it on a feature class in a file geodatabase, where the feature class has been imported from a shapefile. Roughly put, there's a slight difference in how self-touching poygons are treated between the two. Have you tried "Check geometry"/"Repair geometry" [in Toolbox>Data Management Tools>Features] on your feature class to ensure the geometry is valid?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.