NEST 中的距離單位

Distance units

Version: 5.xhtml

英文原文地址:Distance unitsc#

當咱們須要指定距離時(地理位置查詢),可使用一個雙精度的數字來表示,它的默認單位是米(meters)。除此以外,也可使用一個包含數字和單位的字符串(如:"2.72km" )。api

NEST 使用 Distance 類型來規範距離,並提供了幾種方式來構造這種類型的對象。elasticsearch

Constructor

最直接的方式是使用構造函數來構造 Distance 對象ide

var unitComposed = new Distance(25);
var unitComposedWithUnits = new Distance(25, Nest.DistanceUnit.Meters);

Distance 對象會被序列化爲一個由因子和距離單位構成的字符串。因子是一個雙精度的數字,因此序列化時至少保留一位小數函數

Expect("25.0m")
    .WhenSerializing(unitComposed)
    .WhenSerializing(unitComposedWithUnits);

Implicit conversion

或者,將一個表示距離的 string 直接賦值給 Distance 變量,內部會執行一次隱式轉換,從而構造一個 Distance 實例。若是沒有指定 DistanceUnit ,默認單位是米ui

Distance distanceString = "25";
Distance distanceStringWithUnits = "25m";

Expect(new Distance(25))
    .WhenSerializing(distanceString)
    .WhenSerializing(distanceStringWithUnits);

Supported units

NEST 支持數個距離單位,從毫米到海里code

Metric

mm (Millimeters) 毫米htm

Expect("2.0mm").WhenSerializing(new Distance(2, Nest.DistanceUnit.Millimeters));

cm (Centimeters) 釐米對象

Expect("123.456cm").WhenSerializing(new Distance(123.456, Nest.DistanceUnit.Centimeters));

m (Meters) 米

Expect("400.0m").WhenSerializing(new Distance(400, Nest.DistanceUnit.Meters));

km (Kilometers) 公里

Expect("0.1km").WhenSerializing(new Distance(0.1, Nest.DistanceUnit.Kilometers));

Imperial

in (Inches) 英寸

Expect("43.23in").WhenSerializing(new Distance(43.23, Nest.DistanceUnit.Inch));

ft (Feet) 英尺

Expect("3.33ft").WhenSerializing(new Distance(3.33, Nest.DistanceUnit.Feet));

yd (Yards) 碼

Expect("9.0yd").WhenSerializing(new Distance(9, Nest.DistanceUnit.Yards));

mi (Miles) 英里

Expect("0.62mi").WhenSerializing(new Distance(0.62, Nest.DistanceUnit.Miles));

nmi or NM (Nautical Miles) 海里

Expect("45.5nmi").WhenSerializing(new Distance(45.5, Nest.DistanceUnit.NauticalMiles));

1 英寸 = 2.54 釐米

1 英尺 = 12 英寸

1 碼 = 3 英尺

1 英里 = 1760 碼

1 海里 = 1852 米

相關文章
相關標籤/搜索