ArcGIS Pro 3.3 API Reference Guide
ArcGIS.Core.Geometry Namespace / LinearUnit Class / MetersPerUnit Property
Example

In This Topic
    MetersPerUnit Property
    In This Topic
    Gets the meters per unit.
    Syntax
    public double MetersPerUnit {get;}
    Public ReadOnly Property MetersPerUnit As Double
    Example
    LinearUnit - Create a LinearUnit with a factory code
    try
    {
      // create a british 1936 foot
      var britFoot = LinearUnit.CreateLinearUnit(9095);
      string unitName = britFoot.Name;                        //  "Foot_British_1936"
      double conversionFactor = britFoot.ConversionFactor;    // 0.3048007491
      double metersPerUnit = britFoot.MetersPerUnit;
      int factoryCode = britFoot.FactoryCode;                 // 9095
    
      // convert 10 british 1936 feet to centimeters
      double val = britFoot.ConvertTo(10, LinearUnit.Centimeters);
    
      // convert 10 m to british 1936 feet
      val = britFoot.ConvertFromMeters(10);
    }
    catch (ArgumentException)
    {
      // ArgumentException will be thrown by CreateLinearUnit
      // in the following scenarios:
      // - if the factory code used is a non-linear factory code
      //   (i.e. it corresponds to square meters which is an area unit code)
      // - if the factory code used is invalid
      //   (i.e. it is negative or doesn't correspond to any factory code)
    }
    
    LinearUnit - Create a Custom LinearUnit
    // create a custom linear unit - there are 0.33 meters per myLinearUnit
    var myLinearUnit = LinearUnit.CreateLinearUnit("myCustomLinearUnit", 0.33);
    string name = myLinearUnit.Name;                          // myCustomLinearUnit
    double convFactor = myLinearUnit.ConversionFactor;        // 0.33
    int code = myLinearUnit.FactoryCode;                      // 0 for custom units
    double metersUnit = myLinearUnit.MetersPerUnit;           // 0.33
    string toString = myLinearUnit.ToString();                // same as Name - myCustomLinearUnit
    
    // convert 10 centimeters to myLinearUnit 
    double convertedVal = LinearUnit.Centimeters.ConvertTo(10, myLinearUnit);
    
    
    // get the wkt
    string lu_wkt = myLinearUnit.Wkt;
    
    // create an angular unit from this wkt
    var anotherLinearUnit = LinearUnit.CreateLinearUnit(lu_wkt);
    // anotherLinearUnit.ConversionFactor = 0.33
    // anotherLinearUnit.FactoryCode = 0    
    // anotherLinearUnit.MetersPerUnit = 0.33
    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3 or higher.
    See Also