ISpatialReference에서 ArcObjects로 유닛을 가져 오기?


답변:


12

선형 단위는 투영 좌표계 인 경우에만 공간 참조에서 얻을 수 있습니다. 따라서 공간 참조를 IProjectedCoordinateSystem 으로 캐스트하고 해당 IProjectedCoordinateSystem.CoordinateUnit 특성에 액세스해야 합니다.

그러나 공간 참조가 지리적 좌표 시스템 인 경우 해당 단위는 각도이며 IGeographicCoordinateSystem.CoordinateUnit을 통해 유사하게 액세스 됩니다.


1
+1 ILinearUnit.MetersPerUnit 속성은 많은 코드를 작성하지 않아도됩니다.
Kirk Kuykendall

0
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;
        }
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.