Rule files for building offsets

获得 Production Mapping 许可后可用。

获得 Defense Mapping 许可后可用。

Predefined .xml building offset rule files that can be used for cartographic production by the Apply Building Offsets tool are included in a product file installer available for ArcGIS Production Mapping and ArcGIS Defense Mapping.

Learn more about Defense Mapping product files

Learn more about Production Mapping product files

The .xml files define the rules for how features are offset.

警告:

Modifying these files may result in errors or unexpected behavior.

The following XML example demonstrates the basic structure of a building offset rule file.


<TopographicOffsets title="MGCP_50K" version="10.2.0.0" referencescale="50000">
 <AlignMarkerToStrokeOrFill>
  <MarkerAlignment layer="BuildP - NotBlue072">
   <Queries>
    <Query>
     <Symbols>
      <Symbol>General Building / non-obstruction / intact / generic (point) PS-04693</Symbol>
      <Symbol>General Building / non-obstruction / intact / christian (point) PS-04695</Symbol>
     </Symbols>
    </Query>
   </Queries>
  </MarkerAlignment>
  <StrokeOrFill layer="AquedctL - NotBlue072">
   <Queries />
  </StrokeOrFill>
  <SearchDistance units="Meters">25</SearchDistance>
  <MarkerOrientation>PERPENDICULAR</MarkerOrientation>
 </AlignMarkerToStrokeOrFill>
 <Hierarchies field="HIERARCHY">
  <Hierarchy layer="BuildA - Blue072" value="0">
   <Queries>
    <Query>
     <Symbols>
      <Symbol>Vertical Obstruction / single (area point) P00008</Symbol>
     </Symbols>
    </Query>
   </Queries>
  </Hierarchy>
  <Hierarchy layer="LandmrkP - Blue072" value="0">
   <Queries>
    <Query>
     <Expression>F_CODE = 'AK160'</Expression>
    </Query>
    <And>
    <Query>
     <Symbols>
      <Symbol>Vertical Obstruction / single (point) PS-04512</Symbol>
     </Symbols>
    </Query>
    </And>
   </Queries>
  </Hierarchy>
 </Hierarchies>
 <ResolveBuildingConflicts>
  <Buildings>
   <Building layer="BuildA - NotBlue072">
    <Queries />
   </Building>
   <Building layer="BuildA - Blue072">
    <Queries />
   </Building>
  </Buildings>
  <HierarchyField>HIERARCHY</HierarchyField>
  <InvisibilityField>ISVISIBLE</InvisibilityField>
  <Barriers>
   <Barrier layer="RoadL" orient="False" gap="15 Meters">
    <Queries />
   </Barrier>
   <Barrier layer="RailrdL" orient="False" gap="15 Meters">
    <Queries />
   </Barrier>
  </Barriers>
  <BuildingGap units="Meters">20</BuildingGap>
  <MinimumAllowableBuildingSize units="Meters">25</MinimumAllowableBuildingSize>
 </ResolveBuildingConflicts>
</TopographicOffsets>

AlignMarkerToStrokeOrFill element

The following table provides details for each child element of the AlignMarkerToStrokeOrFill element:

AlignMarkerToStrokeOrFill

ElementDetails

MarkerAlignment

The parent element with queries for the point symbols that will be aligned to nearby lines or polygons.

StrokeOrFill

The lines or polygons that the point symbols are aligned to.

SearchDistance

The distance in meters to search starting from the edge of the point symbol to the edge of a line or polygon.

The example above uses meters as the unit of measurement, but you can specify a different unit of measurement.

MarkerOrientation

Specifies how the point symbol will be oriented relative to the line or polygon. The options are PERPENDICULAR and PARALLEL.

提示:

The AlignMarkerToStrokeOrFill element defines values that are used to perform a similar function as the Align Marker To Stroke Or Fill tool. Child elements of the AlignMarkerToStrokeOrFill element are the same as the parameters of that tool.

The Queries child element of MarkerAlignment contains child elements that are used to identify the point symbols that represent building markers.

The following table provides details about the Queries child elements:

Queries

ElementDetails

Query

Contains the Symbols elements

Symbols

Contains the Symbol elements.

Symbol

The point symbols that will be offset.

Hierarchies element

The Hierarchies element assigns Hierarchy field values to specified layers. These values prioritize layers to be offset.


<Hierarchies field="HIERARCHY">
 <Hierarchy layer="LandmrkP - Blue072" value="0">
  <Queries>
   <Query>
    <Expression>F_CODE = 'AK160'</Expression>
   </Query>
   <And>
   <Query>
    <Symbols>
     <Symbol>Vertical Obstruction / single (point) PS-04512</Symbol>
    </Symbols>
   </Query>
   </And>
  </Queries>
 </Hierarchy>
 ...
</Hierarchies>

The following table provides details about the Hierarchies element's child elements:

Hierarchies

ElementDetails

Hierarchy

The layer that the child elements will impact. The numerical value specified in this element defines the layer's priority when the Apply Building Offsets tool is run and checks the feature's offset. This can impact how the feature is symbolized. Features with a higher value are moved before features with a lower value. A feature with a value of 0 is not offset at all.

In the example, F_CODE = 'AK160' can be symbolized as a regular symbol or as a vertical obstruction. Vertical obstructions have a value of 0; regular symbols can have a value of 4 or 5 and would be included in the rule file under another Hierarchy element.

Queries

Contains the Query elements.

Query

Contains the Symbols elements and can use the Expression element to filter features.

Expression

Expressions that limit which features are assigned hierarchy values.

And

Combines multiple queries.

Symbols

Contains the Symbol elements.

Symbol

Defines the feature symbology for a building mask according to industry specifications. You can define as many Symbol elements as necessary.

ResolveBuildingConflicts element

The ResolveBuildingConflicts element defines values that are used to perform a similar function as the Resolve Building Conflicts tool. Child elements of the ResolveBuildingConflicts element are the same as the parameters of that tool.

Learn more about conflict resolution and building features


<ResolveBuildingConflicts>
 <Buildings>
  <Building layer="LandmrkP - NotBlue072">
   <Queries>
    <Query>
     <Expression>F_CODE = 'AK160'</Expression>
     <And>
     <Symbols>
      <Symbol>Vertical Obstruction / single (point) PS-04512</Symbol>
     </Symbols>
     </And>
    </Query>
    <Or>
    <Query>
     <Symbols>
      <Symbol>Stadium / non-obstruction / intact (point) PS-04062</Symbol>
      <Symbol>Stadium / non-obstruction / not intact (point) PS-04933</Symbol>
     </Symbols>
    </Query>
    </Or>
   </Queries>
  </Building>
  ...
 </Buildings>
 <HierarchyField>HIERARCHY</HierarchyField>
 <InvisibilityField>ISVISIBLE</InvisibilityField>
 <Barriers>
  <Barrier layer="RoadL" orient="False" gap="15 Meters">
  <Queries />
  </Barrier>
  ...
 </Barriers>
 <BuildingGap units="Meters">20</BuildingGap>
 <MinimumAllowableBuildingSize units="Meters">25</MinimumAllowableBuildingSize>
</ResolveBuildingConflicts>

The following table provides details for each child element of the ResolveBuildingConflicts element:

ResolveBuildingConflicts

ElementDetails

Buildings

The child elements in this element specify the point and polygon building features that may need to be adjusted to resolve conflicts with other buildings or barriers.

HierarchyField

The field that will be checked for a ranking value of importance.

InvisibilityField

The field that will be updated if a building cannot be reasonably offset from other features and as a result, will be hidden from display.

Barriers

The layers containing the linear or polygon features that conflict with buildings.

BuildingGap

The minimum allowable distance between building symbols at scale. Buildings that are closer together will be displaced or hidden to enforce this distance.

MinimumAllowableBuildingSize

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.

The Queries grandchild element of Buildings contains child elements that are used to identify the point and polygon feature classes to check for conflicts with other buildings or barriers.

The following table provides details about the Queries child elements:

Queries

ElementDetails

Query

Contains the Symbols and Expression elements. The Expression element can be used to filter features in the feature class specified for the Building element.

Symbols

Contains the Symbol elements.

And

Combines multiple queries.

Or

Allows multiple queries.

Symbol

The point or polygon feature symbols that will be offset.