I have a problem that is driving me crazy. (I realize there are some similar posts, but mine I think is distinct.)
I have a arcpython program to thin a large number of elevation points such that only the highest points within a particular radius (200 m usually) are kept. I do this by creating pairwise buffers around all the points as the first step.
arcpy.analysis.PairwiseBuffer(sorted_input_points, buffer_output, searchRadius,"NONE","#","PLANAR")
My problem is that the buffers are created slightly smaller than specified, so that in a few cases points that are less than 200 m apart are not selected (usually the distance is 199.97-199.99 m). I have visually inspected the buffers to confirm their size. All features and the Map use the WGS 1984 UTM 16N projection. I use the "PLANAR" option.
On the other hand, if I manually do a pairwise buffer, the buffer radius is correct and every point <= 200 m. from the focal point is selected, including the ones between 199.7-199.9.
Any ideas what is causing this?
Solved! Go to Solution.
That wasn't the problem and planar is more appropriate for UTM projections.
The problem is that buffers are actually multi-sided polygons rather than true circles. So if a point lies between vertices of a buffer polygon, if may fall outside the line between the two vertices, but in actuality be within a specified distance of the buffer center. Apparently the Densify command can help with this by increasing the number of vertices, but it will not give a true solution, since the same problem can possibly recur.
There may be something not apparent when using the tool's call in code, but try the geodesic option rather than planar.
Pairwise Buffer (Analysis)—ArcGIS Pro | Documentation
There is a lot said about things that can affect the results (eg coordinate system etc), it might be worth a read to see if you can narrow it down. Make sure you are creating a featureclass in a local file gdb to rule some of them out.
That wasn't the problem and planar is more appropriate for UTM projections.
The problem is that buffers are actually multi-sided polygons rather than true circles. So if a point lies between vertices of a buffer polygon, if may fall outside the line between the two vertices, but in actuality be within a specified distance of the buffer center. Apparently the Densify command can help with this by increasing the number of vertices, but it will not give a true solution, since the same problem can possibly recur.
strange, since featureclass buffers in a geodatabase are supposed to be represented by circular arcs not n-gons (which shapefiles use)