com.esri.arcgis.geoprocessing.tools.cartographytools
Class ResolveBuildingConflicts
java.lang.Object
com.esri.arcgis.geoprocessing.AbstractGPTool
com.esri.arcgis.geoprocessing.tools.cartographytools.ResolveBuildingConflicts
- All Implemented Interfaces:
- GPTool
public class ResolveBuildingConflicts
- extends AbstractGPTool
Resolves symbol conflicts among buildings and with respect to linear barrier features by moving or hiding buildings.
The Resolve Building Conflicts tool is contained in the Cartography Tools tool box.
Usage tips:
- This tool operates by assessing graphic conflicts of symbolized features. The symbology extent and the reference scale are considered in conjunction with one another. Run this tool only after you have finalized the appearance of your symbols, and ensure that the reference scale corresponds to the final intended output scale.
- The Invisibility Field must be present and named the same for all input feature classes. Features that should remain visible are assigned a value of 0; those that should be removed from the display are assigned a value of 1. Use a layer definition query or a selection to display the resulting simplified collection (i.e., invisibility <> 1). You can use multiple invisibility fields to store different results—corresponding to different output scales—on the same feature class.
- Before conflicts are assessed, polygonal buildings are enlarged to a minimum size specified by the Minimum Allowable Building Size parameter. Minimum size is measured as a linear distance along the shortest side of a rotated bounding box best fit to the feature. To review the final size of buildings in the output results, add a double or float field to any of the input building feature classes called RBC_SIZE. As the tool processes this field will be updated with the shortest side of a rotated bounding box around each feature.
- The Hierarchy Field parameter is optional. If it is not specified, buildings will be assigned a relative importance based on the perimeter of the building and proximity to barriers. Larger buildings closer to more than one barrier will be assessed as more significant than smaller buildings relatively far from a barrier. You can use a partially populated Hierarchy field where only the significant buildings are attributed with a hierarchical value and all other features (with a NULL hierarchy value) will have their relative significance internally calculated.
- If the Hierarchy Field parameter is used, buildings can be forced to stay visible by assigning them a hierarchy value of 0 (zero). They will not be masked by the tool. A building with hierarchy of zero is considered locally important, so nearby buildings may be compromised more than they would if that building was not forced to stay visible. Hierarchy zero buildings may still be transformed (moved, rotated, or resized) in order to resolve conflicts and match other required parameters.
- Any buildings that are geometrically in conflict with barriers (that is the actual geometry—not just symbology—of the building overlaps that of a barrier feature like a road), will not be moved off of the barrier feature. These buildings may be flagged for masking in the course of conflict resolution processing, but they won't be moved. A conflict will remain.
Constructor Summary |
ResolveBuildingConflicts()
Creates the Resolve Building Conflicts tool with defaults. |
ResolveBuildingConflicts(java.lang.Object inBuildings,
java.lang.String invisibilityField,
java.lang.Object inBarriers,
java.lang.Object buildingGap,
java.lang.Object minimumSize)
Creates the Resolve Building Conflicts tool with the required parameters. |
Method Summary |
java.lang.Object |
getBuildingGap()
Returns the Building Gap parameter of this tool . |
java.lang.String |
getHierarchyField()
Returns the Hierarchy Field parameter of this tool . |
java.lang.Object |
getInBarriers()
Returns the Input Barrier Layers parameter of this tool . |
java.lang.Object |
getInBuildings()
Returns the Input Building Layers parameter of this tool . |
java.lang.String |
getInvisibilityField()
Returns the Invisibility Field parameter of this tool . |
java.lang.Object |
getMinimumSize()
Returns the Minimum Allowable Building Size parameter of this tool . |
java.lang.Object |
getOutLayers()
Returns the Output Layers parameter of this tool (Read only). |
java.lang.String |
getToolboxAlias()
Returns the alias of the tool box containing this tool. |
java.lang.String |
getToolboxName()
Returns the name of the tool box containing this tool. |
java.lang.String |
getToolName()
Returns the name of this tool. |
void |
setBuildingGap(java.lang.Object buildingGap)
Sets the Building Gap parameter of this tool . |
void |
setHierarchyField(java.lang.String hierarchyField)
Sets the Hierarchy Field parameter of this tool . |
void |
setInBarriers(java.lang.Object inBarriers)
Sets the Input Barrier Layers parameter of this tool . |
void |
setInBuildings(java.lang.Object inBuildings)
Sets the Input Building Layers parameter of this tool . |
void |
setInvisibilityField(java.lang.String invisibilityField)
Sets the Invisibility Field parameter of this tool . |
void |
setMinimumSize(java.lang.Object minimumSize)
Sets the Minimum Allowable Building Size parameter of this tool . |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
ResolveBuildingConflicts
public ResolveBuildingConflicts()
- Creates the Resolve Building Conflicts tool with defaults.
Initializes the array of tool parameters with the default values specified when the tool was created.
ResolveBuildingConflicts
public ResolveBuildingConflicts(java.lang.Object inBuildings,
java.lang.String invisibilityField,
java.lang.Object inBarriers,
java.lang.Object buildingGap,
java.lang.Object minimumSize)
- Creates the Resolve Building Conflicts 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:
inBuildings
- the input layers containing building features that may be in conflict, or smaller than allowable size. Buildings can be either points or polygons. Buildings will be modified to resolve conflicts with other buildings and with barrier features.invisibilityField
- the field that stores the invisibility values that can be used to remove some buildings from display in order to resolve symbol conflicts. Buildings with a value of 1 should be removed from display; those with a value of zero should remain. Use a definition query on the layer to display visible buildings only. No features are deleted.inBarriers
- the layers containing the linear or polygon features that are conflict barriers for input building features. Buildings will be modified to resolve conflicts between buildings and barriers. Orient value is Boolean, specifying whether buildings should be oriented to the barrier layer. gap specifies the distance that buildings should move toward or away from the barrier layer. A unit must be entered with the value. if no unit is entered with the Gap value (i.e., 10 instead of 10 meters), the linear unit from the input feature's coordinate system will be used.- A gap value of 0 (zero) will snap buildings directly to the edge of barrier line or outline symbology.
- A null (unspecified) gap value will mean that buildings will not be moved toward or away from barrier lines or outlines except for movement required by conflict resolution.
buildingGap
- the minimum allowable distance between symbolized buildings at scale. Buildings that are closer together will be displaced or hidden to enforce this distance. The minimum allowable distance is set relative to the reference scale (i.e. 15 meters at 1:50,000 scale). The value is 0 if reference scale is not set.minimumSize
- the minimum allowable size of the shortest side of a rotated best-fit bounding box around the symbolized building feature drawn at the reference scale. Buildings with a bounding box side smaller than this value will be enlarged to meet it. Resizing may happen nonproportionally resulting in a change to building morphology.
getInBuildings
public java.lang.Object getInBuildings()
- Returns the Input Building Layers parameter of this tool .
This parameter is the input layers containing building features that may be in conflict, or smaller than allowable size. Buildings can be either points or polygons. Buildings will be modified to resolve conflicts with other buildings and with barrier features.
This is a required parameter.
- Returns:
- the Input Building Layers
setInBuildings
public void setInBuildings(java.lang.Object inBuildings)
- Sets the Input Building Layers parameter of this tool .
This parameter is the input layers containing building features that may be in conflict, or smaller than allowable size. Buildings can be either points or polygons. Buildings will be modified to resolve conflicts with other buildings and with barrier features.
This is a required parameter.
- Parameters:
inBuildings
- the input layers containing building features that may be in conflict, or smaller than allowable size. Buildings can be either points or polygons. Buildings will be modified to resolve conflicts with other buildings and with barrier features.
getInvisibilityField
public java.lang.String getInvisibilityField()
- Returns the Invisibility Field parameter of this tool .
This parameter is the field that stores the invisibility values that can be used to remove some buildings from display in order to resolve symbol conflicts. Buildings with a value of 1 should be removed from display; those with a value of zero should remain. Use a definition query on the layer to display visible buildings only. No features are deleted.
This is a required parameter.
- Returns:
- the Invisibility Field
setInvisibilityField
public void setInvisibilityField(java.lang.String invisibilityField)
- Sets the Invisibility Field parameter of this tool .
This parameter is the field that stores the invisibility values that can be used to remove some buildings from display in order to resolve symbol conflicts. Buildings with a value of 1 should be removed from display; those with a value of zero should remain. Use a definition query on the layer to display visible buildings only. No features are deleted.
This is a required parameter.
- Parameters:
invisibilityField
- the field that stores the invisibility values that can be used to remove some buildings from display in order to resolve symbol conflicts. Buildings with a value of 1 should be removed from display; those with a value of zero should remain. Use a definition query on the layer to display visible buildings only. No features are deleted.
getInBarriers
public java.lang.Object getInBarriers()
- Returns the Input Barrier Layers parameter of this tool .
This parameter is the layers containing the linear or polygon features that are conflict barriers for input building features. Buildings will be modified to resolve conflicts between buildings and barriers. Orient value is Boolean, specifying whether buildings should be oriented to the barrier layer. gap specifies the distance that buildings should move toward or away from the barrier layer. A unit must be entered with the value. if no unit is entered with the Gap value (i.e., 10 instead of 10 meters), the linear unit from the input feature's coordinate system will be used.
This is a required parameter.
- Returns:
- the Input Barrier Layers
setInBarriers
public void setInBarriers(java.lang.Object inBarriers)
- Sets the Input Barrier Layers parameter of this tool .
This parameter is the layers containing the linear or polygon features that are conflict barriers for input building features. Buildings will be modified to resolve conflicts between buildings and barriers. Orient value is Boolean, specifying whether buildings should be oriented to the barrier layer. gap specifies the distance that buildings should move toward or away from the barrier layer. A unit must be entered with the value. if no unit is entered with the Gap value (i.e., 10 instead of 10 meters), the linear unit from the input feature's coordinate system will be used.
This is a required parameter.
- Parameters:
inBarriers
- the layers containing the linear or polygon features that are conflict barriers for input building features. Buildings will be modified to resolve conflicts between buildings and barriers. Orient value is Boolean, specifying whether buildings should be oriented to the barrier layer. gap specifies the distance that buildings should move toward or away from the barrier layer. A unit must be entered with the value. if no unit is entered with the Gap value (i.e., 10 instead of 10 meters), the linear unit from the input feature's coordinate system will be used.- A gap value of 0 (zero) will snap buildings directly to the edge of barrier line or outline symbology.
- A null (unspecified) gap value will mean that buildings will not be moved toward or away from barrier lines or outlines except for movement required by conflict resolution.
getBuildingGap
public java.lang.Object getBuildingGap()
- Returns the Building Gap parameter of this tool .
This parameter is the minimum allowable distance between symbolized buildings at scale. Buildings that are closer together will be displaced or hidden to enforce this distance. The minimum allowable distance is set relative to the reference scale (i.e. 15 meters at 1:50,000 scale). The value is 0 if reference scale is not set.
This is a required parameter.
- Returns:
- the Building Gap
setBuildingGap
public void setBuildingGap(java.lang.Object buildingGap)
- Sets the Building Gap parameter of this tool .
This parameter is the minimum allowable distance between symbolized buildings at scale. Buildings that are closer together will be displaced or hidden to enforce this distance. The minimum allowable distance is set relative to the reference scale (i.e. 15 meters at 1:50,000 scale). The value is 0 if reference scale is not set.
This is a required parameter.
- Parameters:
buildingGap
- the minimum allowable distance between symbolized buildings at scale. Buildings that are closer together will be displaced or hidden to enforce this distance. The minimum allowable distance is set relative to the reference scale (i.e. 15 meters at 1:50,000 scale). The value is 0 if reference scale is not set.
getMinimumSize
public java.lang.Object getMinimumSize()
- Returns the Minimum Allowable Building Size parameter of this tool .
This parameter is the minimum allowable size of the shortest side of a rotated best-fit bounding box around the symbolized building feature drawn at the reference scale. Buildings with a bounding box side smaller than this value will be enlarged to meet it. Resizing may happen nonproportionally resulting in a change to building morphology.
This is a required parameter.
- Returns:
- the Minimum Allowable Building Size
setMinimumSize
public void setMinimumSize(java.lang.Object minimumSize)
- Sets the Minimum Allowable Building Size parameter of this tool .
This parameter is the minimum allowable size of the shortest side of a rotated best-fit bounding box around the symbolized building feature drawn at the reference scale. Buildings with a bounding box side smaller than this value will be enlarged to meet it. Resizing may happen nonproportionally resulting in a change to building morphology.
This is a required parameter.
- Parameters:
minimumSize
- the minimum allowable size of the shortest side of a rotated best-fit bounding box around the symbolized building feature drawn at the reference scale. Buildings with a bounding box side smaller than this value will be enlarged to meet it. Resizing may happen nonproportionally resulting in a change to building morphology.
getHierarchyField
public java.lang.String getHierarchyField()
- Returns the Hierarchy Field parameter of this tool .
This parameter is the field that contains hierarchical ranking of feature importance, where 1 is very important and larger integers reflect decreasing importance. A value of 0 (zero) forced the building to retain visibility, although it may be moved somewhat to resolve conflicts. If this parameter is not used, feature importance will be assessed by the tool based on perimeter length and proximity to barrier features.
This is an optional parameter.
- Returns:
- the Hierarchy Field
setHierarchyField
public void setHierarchyField(java.lang.String hierarchyField)
- Sets the Hierarchy Field parameter of this tool .
This parameter is the field that contains hierarchical ranking of feature importance, where 1 is very important and larger integers reflect decreasing importance. A value of 0 (zero) forced the building to retain visibility, although it may be moved somewhat to resolve conflicts. If this parameter is not used, feature importance will be assessed by the tool based on perimeter length and proximity to barrier features.
This is an optional parameter.
- Parameters:
hierarchyField
- the field that contains hierarchical ranking of feature importance, where 1 is very important and larger integers reflect decreasing importance. A value of 0 (zero) forced the building to retain visibility, although it may be moved somewhat to resolve conflicts. If this parameter is not used, feature importance will be assessed by the tool based on perimeter length and proximity to barrier features.
getOutLayers
public java.lang.Object getOutLayers()
- Returns the Output Layers parameter of this tool (Read only).
This is an derived parameter.
- Returns:
- the Output Layers
getToolName
public java.lang.String getToolName()
- Returns the name of this tool.
- Returns:
- the tool name
getToolboxName
public java.lang.String getToolboxName()
- Returns the name of the tool box containing this tool.
- Returns:
- the tool box name
getToolboxAlias
public java.lang.String getToolboxAlias()
- Returns the alias of the tool box containing this tool.
- Returns:
- the tool box alias