Respostas:
As unidades lineares podem ser obtidas a partir da referência espacial apenas se for um sistema de coordenadas projetado. Portanto, você precisa converter a referência espacial para IProjectedCoordinateSystem e acessar sua propriedade IProjectedCoordinateSystem.CoordinateUnit .
Mas se a referência espacial for um sistema de coordenadas geográficas, suas unidades serão angulares e acessadas de maneira semelhante por meio do IGeographicCoordinateSystem.CoordinateUnit .
IFields fields = featureClass.Fields;
ISpatialReference spatialReference = fields.get_Field(fields.FindField(featureClass.ShapeFieldName)).GeometryDef.SpatialReference;
if (spatialReference is IProjectedCoordinateSystem)
{
IProjectedCoordinateSystem projectedCoordinateSystem = (IProjectedCoordinateSystem)spatialReference;
return projectedCoordinateSystem.CoordinateUnit.Name;
}
if (spatialReference is IGeographicCoordinateSystem)
{
IGeographicCoordinateSystem geographicCoordinateSystem = (IGeographicCoordinateSystem)spatialReference;
return geographicCoordinateSystem.CoordinateUnit.Name;
}