Summary
When working with feature classes or feature layers in ArcGIS Pro, they can present unexpected data-related behaviors or not work properly.
It is important to understand that a layer has different components in charge of different functions but mainly to keep the integrity, and corruption can be expressed in different behaviors:
Geometry
Is a set of XY coordinates that can be isolated or connected to generate geometries or shapes like points, polylines, polygons, multipatches, annotations, etc. Part of that is stored in the Shape_Area, Shape_Length, and Shape fields. Unexpected behavior can arise from:
- Null geometry
- Segments that are shorter than allowed by the spatial reference, resolution, and tolerance
- Issues when working with Topology like polygons not enclosed, self-intersection, and duplicate vertices
- Geoprocesses that interact with geometry like Buffer, Union, or Intersect, may present unexpected outputs
Spatial Reference
Either a Geographic, Projected, and/or Vertical coordinate system to define how it is positioned and represented on the map. Unexpected behavior can arise from:
- Layer positioned at the origin of the map’s coordinate system
- Layer not properly aligned or presents a different size
- In the case of working with local or global scenes, the layer may not be completely visible or hidden below the surface
Attribute Table
A table with rows and columns. Every column or field is defined by name, alias, data type, format, and index. A row contains a series of values or attributes for that feature. Additional configurations can be applied like subtypes, domains, attribute rules, and contingent values to improve and keep its integrity. Unexpected behavior can arise from:
- Values from a row are not paired with geometry
- Null values in the Shape_Area, Shape_Lenght, and Shape fields
- Unexpected outputs when using the Calculate Field pane, generating charts, or statistics
- Null values in Shapefiles which is not possible
- Null values in Date fields (this has been reported to present issues, especially when published into ArcGIS Online or Enterprise)
Indexes
The Attribute indexes help to quickly locate records in the attribute table when applying queries, while the Spatial indexes are used for spatial queries. Unexpected behavior can arise from:
- Unexpected matching records when working with Joins, Relates or Relationship Classes, differing per attempt or between coworkers
- The Select By Location, Select By Attributes, and Definition Query may present wrong results
- Geoprocesses that interact with geometry like Buffer, Union, or Intersect may present unexpected outputs
Procedure
To improve the results and behaviors when working with layers that potentially present corruption in one or multiple components, you can implement the following techniques and tools:
Geometry:
Spatial Reference:
- Project vs Defined Projection vs Transformation on the fly
- Custom Coordinate Systems do not have transformations in ArcGIS Pro, so it is expected that the behavior may persist unless a custom transformation is created.
Attribute Table and Indexes:
- Index attribute table fields either from the layer’s properties or using the Add Attribute Index (Data Management) tool. It is not necessary to index all the columns, but at least the ones used for statistics, queries or relationships (joins, relates, relationship classes).
- Either from the layer properties or using the Add Spatial Index (Data Management) tool, you can create and recalculate the spatial index.
- If working with a web layer in ArcGIS Online or Portal for ArcGIS, this can be done from its Settings > Feature Layer tab > Manage indexes section.
