com.esri.arcgis.geoprocessing.tools.coveragetools
Class Buffer
java.lang.Object
com.esri.arcgis.geoprocessing.AbstractGPTool
com.esri.arcgis.geoprocessing.tools.coveragetools.Buffer
- All Implemented Interfaces:
- GPTool
public class Buffer
- extends AbstractGPTool
Creates buffer polygons around specified input coverage features.
The Buffer tool is contained in the Coverage Tools tool box.
Usage tips:
- Negative and positive distances can be used for buffer distance with the POLY option. It is possible to shrink some polygons and grow others in the same coverage when the buffer item contains positive and negative numbers.
- The ROUND, FLAT, FULL, LEFT, and RIGHT options apply only to line data.
- Small sliver polygons may be created by the Buffer tool. They can cause problems when coded as nonbuffer areas inside buffer zones. Remove them with .
- Features will not be buffered if their buffer distance is zero. If you do not want to buffer a feature in the input coverage, give it a buffer distance value of zero in a buffer item or of DIST in a buffer table.
- When performing a buffer on a coverage that contains island polygons, all the polygons with a buffer distance greater than zero get buffered. However, since the island buffer is entirely within its surrounding polygon buffer, it is dissolved into the surrounding polygon during Buffer's dissolve phase and the island buffers will not be visible.
- Nodes can be buffered on coverages with or without an NAT. If there is no NAT, the nodes in the AAT must be numbered (FNODE# and TNODE# must be greater than zero). Run if the node numbers are zero.
- The LEFT and RIGHT options generate buffers at the left or right of a line. Caution must be exercised in interpreting the "left" or "right" of a line. A single line segment defines two half planes, cutting a rectangular buffer into two clearly defined left and right sections. When connecting line segments, points that are on the left side of one segment may be on the right side of another connecting segment. This ambiguity can be prevented by a concept of "not crossing over the line".
- The LEFT and RIGHT options use the topological left and right of the line, so line topology must be present for the use of these options. To access the Line buffer styles, use on the input coverage with LINE and NODE.
- The BUFFER function works in Euclidean space and uses a two-dimensional algorithm. A buffer will be the same width no matter what the coordinate system is. It will not reflect the curvature or the shape of the earth. For the best results, generate the buffer in a map projection that minimizes distortion in the area of interest.
- For buffers around lines, the fuzzy tolerance for the output coverage may not be the same as the fuzzy tolerance for the input coverage. The output tolerance may be reset as a function of the buffer distance. This may happen for larger buffer distances and reflects the progressively courser approximation of a circle with a fixed number of straight line segments. If this effect is to be avoided, a buffer can be "grown" in a number of steps. First, run Buffer with the LINE option using a small buffer distance, then run a number of buffers on this using the POLY option until you achieve the desired resultant buffer distance. Fuzzy tolerance changes only for buffers around lines; it does not change for buffers around polygons.
- The coordinate precision of the output coverage is determined by the current processing rule as set by the environment setting. If the processing rule has not been established during the current session, then the processing rule will be HIGHEST. This means that Buffer will create an output coverage in the same precision as the input coverage.
- On both single-precision and double-precision coverages, Buffer calculates a minimum tolerance based on the mathematical precision of the coverage (based on the width of the BND and the number of decimal places). If the calculated minimum tolerance is greater than the entered fuzzy tolerance, the calculated minimum tolerance is used.
- The projection file (PRJ) will be copied to the output coverage.
Constructor Summary |
Buffer()
Creates the Buffer tool with defaults. |
Buffer(Object inCover,
Object outCover)
Creates the Buffer tool with the required parameters. |
Buffer
public Buffer()
- Creates the Buffer tool with defaults.
Initializes the array of tool parameters with the default values specified when the tool was created.
Buffer
public Buffer(Object inCover,
Object outCover)
- Creates the Buffer tool with the required parameters.
Initializes the array of tool parameters with the values as specified for the required parameters and with the default values for the other parameters.
- Parameters:
inCover
- the coverage containing features to be buffered.outCover
- the polygon buffer coverage to be created.
getInCover
public Object getInCover()
- Returns the Input Coverage parameter of this tool .
This parameter is the coverage containing features to be buffered.
This is a required parameter.
- Returns:
- the Input Coverage
setInCover
public void setInCover(Object inCover)
- Sets the Input Coverage parameter of this tool .
This parameter is the coverage containing features to be buffered.
This is a required parameter.
- Parameters:
inCover
- the coverage containing features to be buffered.
getOutCover
public Object getOutCover()
- Returns the Output Coverage parameter of this tool .
This parameter is the polygon buffer coverage to be created.
This is a required parameter.
- Returns:
- the Output Coverage
setOutCover
public void setOutCover(Object outCover)
- Sets the Output Coverage parameter of this tool .
This parameter is the polygon buffer coverage to be created.
This is a required parameter.
- Parameters:
outCover
- the polygon buffer coverage to be created.
getFeatureType
public String getFeatureType()
- Returns the Feature Type parameter of this tool .
This parameter is the feature class to be buffered:
This is an optional parameter.
- Returns:
- the Feature Type
setFeatureType
public void setFeatureType(String featureType)
- Sets the Feature Type parameter of this tool .
This parameter is the feature class to be buffered:
This is an optional parameter.
- Parameters:
featureType
- the feature class to be buffered:
getBufferItem
public String getBufferItem()
- Returns the Buffer Item parameter of this tool .
This parameter is an item in the feature attribute table of input coverage whose value is used as the feature's buffer distance. If a buffer table is used, the buffer item functions as a lookup item in the buffer table.
This is an optional parameter.
- Returns:
- the Buffer Item
setBufferItem
public void setBufferItem(String bufferItem)
- Sets the Buffer Item parameter of this tool .
This parameter is an item in the feature attribute table of input coverage whose value is used as the feature's buffer distance. If a buffer table is used, the buffer item functions as a lookup item in the buffer table.
This is an optional parameter.
- Parameters:
bufferItem
- an item in the feature attribute table of input coverage whose value is used as the feature's buffer distance. If a buffer table is used, the buffer item functions as a lookup item in the buffer table.
getBufferTable
public Object getBufferTable()
- Returns the Buffer Table parameter of this tool .
This parameter is an INFO lookup table that lists a buffer distance for each buffer item. A buffer table can be specified only if the buffer item is specified. The buffer table contains at least two items:
This is an optional parameter.
- Returns:
- the Buffer Table
setBufferTable
public void setBufferTable(Object bufferTable)
- Sets the Buffer Table parameter of this tool .
This parameter is an INFO lookup table that lists a buffer distance for each buffer item. A buffer table can be specified only if the buffer item is specified. The buffer table contains at least two items:
This is an optional parameter.
- Parameters:
bufferTable
- an INFO lookup table that lists a buffer distance for each buffer item. A buffer table can be specified only if the buffer item is specified. The buffer table contains at least two items:
getBufferDistance
public double getBufferDistance()
- Returns the Buffer Distance parameter of this tool .
This parameter is the distance used to create buffer zones around input coverage features when buffer item and buffer table are not specified. The default buffer distance is 0.125 coverage units. This default buffer distance will be applied whenever a value for this parameter is not specified. the smallest buffer distance that can be computed is 0.00000005 coverage units. Specifying a buffer distance below this threshold will result in an empty output coverage. For polygon features, if a negative buffer distance is used, buffers will be generated on the insides of polygons.
This is an optional parameter.
- Returns:
- the Buffer Distance
setBufferDistance
public void setBufferDistance(double bufferDistance)
- Sets the Buffer Distance parameter of this tool .
This parameter is the distance used to create buffer zones around input coverage features when buffer item and buffer table are not specified. The default buffer distance is 0.125 coverage units. This default buffer distance will be applied whenever a value for this parameter is not specified. the smallest buffer distance that can be computed is 0.00000005 coverage units. Specifying a buffer distance below this threshold will result in an empty output coverage. For polygon features, if a negative buffer distance is used, buffers will be generated on the insides of polygons.
This is an optional parameter.
- Parameters:
bufferDistance
- the distance used to create buffer zones around input coverage features when buffer item and buffer table are not specified. The default buffer distance is 0.125 coverage units. This default buffer distance will be applied whenever a value for this parameter is not specified. the smallest buffer distance that can be computed is 0.00000005 coverage units. Specifying a buffer distance below this threshold will result in an empty output coverage. For polygon features, if a negative buffer distance is used, buffers will be generated on the insides of polygons.
getFuzzyTolerance
public double getFuzzyTolerance()
- Returns the Fuzzy Tolerance parameter of this tool .
This parameter is the minimum distance between coordinates in the out_cover. By default, the minimum fuzzy tolerance value from the in_cover is used.
This is an optional parameter.
- Returns:
- the Fuzzy Tolerance
setFuzzyTolerance
public void setFuzzyTolerance(double fuzzyTolerance)
- Sets the Fuzzy Tolerance parameter of this tool .
This parameter is the minimum distance between coordinates in the out_cover. By default, the minimum fuzzy tolerance value from the in_cover is used.
This is an optional parameter.
- Parameters:
fuzzyTolerance
- the minimum distance between coordinates in the out_cover. By default, the minimum fuzzy tolerance value from the in_cover is used.
getBufferShape
public String getBufferShape()
- Returns the Buffer Shape parameter of this tool .
This parameter is for lines, the shape of the buffer at the line endpoints.
This is an optional parameter.
- Returns:
- the Buffer Shape
setBufferShape
public void setBufferShape(String bufferShape)
- Sets the Buffer Shape parameter of this tool .
This parameter is for lines, the shape of the buffer at the line endpoints.
This is an optional parameter.
- Parameters:
bufferShape
- for lines, the shape of the buffer at the line endpoints.
getBufferSide
public String getBufferSide()
- Returns the Buffer Side parameter of this tool .
This parameter is for lines, the topological side on which the buffer may be generated.
This is an optional parameter.
- Returns:
- the Buffer Side
setBufferSide
public void setBufferSide(String bufferSide)
- Sets the Buffer Side parameter of this tool .
This parameter is for lines, the topological side on which the buffer may be generated.
This is an optional parameter.
- Parameters:
bufferSide
- for lines, the topological side on which the buffer may be generated.
getToolName
public String getToolName()
- Returns the name of this tool.
- Returns:
- the tool name
getToolboxName
public String getToolboxName()
- Returns the name of the tool box containing this tool.
- Returns:
- the tool box name
getToolboxAlias
public String getToolboxAlias()
- Returns the alias of the tool box containing this tool.
- Returns:
- the tool box alias