2

I have an 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.

How do I complete the dissolve in the midst of this problem?

My system has plenty of memory so the problem cannot be corrected by running on a box with more memory.

put on hold as off-topic by PolyGeo 2 days ago

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "When seeking help to debug/write/improve code always provide the desired behavior, a specific problem/error and the shortest code (as formatted text, not pictures) needed to reproduce it in the question body. Providing a clear problem statement and a code attempt helps others to help you." – PolyGeo
If this question can be reworded to fit the rules in the help center, please edit the question.

  • 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?

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