ArcObjects'ten ISpatialReference'den birimler mi alıyorsunuz?


Yanıtlar:


12

Doğrusal birimler uzamsal referanstan ancak öngörülen bir koordinat sistemi ise elde edilebilir. Bu nedenle, IProjectedCoordinateSystem için uzamsal başvuruyu yayınlamanız ve IProjectedCoordinateSystem.CoordinateUnit özelliğine erişmeniz gerekir .

Ancak uzamsal referans bir coğrafi koordinat sistemiyse, birimleri açısaldır ve IGeographicCoordinateSystem.CoordinateUnit ile benzer şekilde erişilir .


1
+1 ILinearUnit.MetersPerUnit özelliği ayrıca çok fazla kod yazmanızı engelleyebilir.
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;
        }
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.