Side and End Type Options in Pairwise Buffer

790
3
04-27-2023 02:46 PM
Status: Open
Labels (1)
ToddFagin
Occasional Contributor II

Unlike the "regular" buffer tool, the pairwise buffer does not include Side Type and End Type options (e.g. Full, Left, Right, and Exclude  Input the input polygon from buffer for side type and round or flat for end type). Please include these.

3 Comments
KenHartling

We will not be providing side/end types in the PairwiseBuffer tool as we feel we have provided improvements to the Buffer_analysis tool and added a new tool, GraphicBuffer, that addresses most users requests related to non standard buffer creation.

Performance - Buffer_analysis can be run parallel which in many cases has improved performance drastically. 

From Buffer documentation 

Parallel Processing Factor

This tool honors the Parallel Processing Factor environment. If the environment is not set (the default) or is set to 0, parallel processing will be disabled; parallel processing will not be used and processing will be done sequentially. Setting the environment to 100 will enable parallel processing; parallel processing will be used and processing will be done in parallel. Up to 10 cores will be used when parallel processing is enabled.

The Parallel Processing Factor environment is only supported when buffering line and polygon features.

Quality of output

For the past 3 releases we have focused on improving the output of Buffer side/end type output. Many issues have been addressed to improve the buffer features being created when side/end type buffers are created.

New tool to address most user requests for end and corner shapes

GraphicBuffer was created specifically for creating non standard buffer output. Please see the GraphicBuffer documentation for more information.

If you have specific end/side type cases you feel can be improved, please contact your support analyst with examples so we can take a look to see what we can do. 

Thanks!

 

 

 

ThomasHoman

@KenHartling Thanks for the information. Would it be possible for you to characterize/contrast the 3 buffer GP Tools: Buffer, Pairwise Buffer, Graphic Buffer?

I am concerned with the leading notice on the Graphic Buffer documentation "The output of this tool is intended for cartographic display only. It is not intended for use in further analysis. Using it as such will result in incorrect results." The fact that you categorically exclude this for analytic purposes suggests to me that this tool should not be considered in the same tool class.

I am with @ToddFagin in requesting the end type options in the Pairwise buffer. My understanding is that the pairwise (very odd name) Buffer is just the buffer tool enabled for parallel processing. Would that be correct? If so, losing the additional options certainly feels like a step backwards for those of us that need the option.  

Consider this a request to add the End and Side types that are missing in the Pairwise Buffer. Or remove the help tip from the Buffer_Analysis GP tool suggesting that Pairwise Buffer is in any fashion 'enhanced functionality'

Respectfully,

Tom

 

KenHartling

@ThomasHoman 

 My understanding is that the pairwise (very odd name) Buffer is just the buffer tool enabled for parallel processing. Would that be correct?

This is not correct.

PairwiseBuffer uses the underlying GeometryX libraries to perform buffer operations and is a completely separate algorithm. 

Buffer uses something called the Topology Engine (as well as another engine under certain circumstances) to perform buffer operations.

Both are enabled to work with parallel processing. Please see each tools respective documentation for details on how they use the arcpy.env.parallelProcessingFactor environment to control parallel processing. We have spent a number of releases improving the quality of the Buffer tool side/end type buffer output as well as optimizing performance for side/end type buffers when run with parallelProcessingFactor ON. 

Side/End type buffers are not true buffers. When designing the PairwiseBuffer tool it was very apparent that the side/end type options should not have been included directly in the Buffer tool when they were added a few decades ago since from a geometric perspective the output of side/end type is not a true buffer and the complexity of the buffer code as a result of having added these options directly to the tool has been very problematic.  

suggesting that Pairwise Buffer is in any fashion 'enhanced functionality'

In our opinion the Pairwise Buffer tool does provided enhanced functionality. It uses a more up to date technology to perform the buffer operations, we are able to get it to perform much faster in many cases, we give the user control over the precision of the output buffer shapes (see Maximum Offset Deviation parameter)... 

If you have a specific case of the Buffer tool using side/end type options, run with parallelProcessingFactor ON that is not running in a satisfactory manner could you please send us the data and exact parameters you are using in the tool so we can take a look and have a chance at improving these options? We'd appreciate it.

Thanks. Ken