Bagaimana cara mendapatkan unit (meter / kaki) dari objek ISpatialReference di ArcObjects?
Bagaimana cara mendapatkan unit (meter / kaki) dari objek ISpatialReference di ArcObjects?
Jawaban:
Unit linier dapat diperoleh dari referensi spasial hanya jika itu adalah sistem koordinat yang diproyeksikan. Jadi, Anda perlu memberikan referensi spasial ke IProjectedCoordinateSystem dan mengakses properti IProjectedCoordinateSystem.CoordinateUnit .
Tetapi jika referensi spasial adalah sistem koordinat geografis, unit-unitnya bersudut dan diakses dengan cara yang sama melalui 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;
}