我们有一个字段,在索引映射中被指定为GeoPoint 。
.GeoPoint(d => d.Name(c => c.Location))
如果我们创建一个对象,并使用以下方法给这个字段赋值。
location = new GeoCoordinate(54.34445, -3.2344)
索引显示这个字段是一个GeoPoint,其值为 -3.2344, 54.34445
然而,如果我们使用一个字符串(如.NET)来做索引,在Kibana中的索引也会显示为一个GeoPoint,但格式为.NET。"54.34445, -3.2344"
在Kibana中的索引也会显示为一个GeoPoint,但格式为 54.34445, -3.2344
两者都不可能是对的!因为对于同一索引点,latlon值会完全不同。
实际上,按照文档的规定,以两种不同的方式创建同一个点,会在索引中创建两个完全不同的位置。
有多个 方式 最值得注意的是,一个格式为""的字符串。"lat,lon"
的数组,或者是形式为 [lon,lat]
.
请注意,Kibana很可能只坚持一种格式("lat,lon"
-- 54.34445, -3.2344
是在英国,反之则在索马里沿海),同时索引doc值支持多。
A GeoCoordinate
检察官接受 latitude
和 longitude
的顺序(有一个重载,可以接受一个可选的 z
值)。)
它序列化为 [lon, lat]
,它符合 GeoJSON格式RFC. 另一种用于表示几何图形的格式是众所周知的文本(WKT),它使用的是顺序。x
, y
,对应的是 lon
和 lat
.
以字符串形式表示的坐标为 lat,lon
. 请参阅文档中的重要告诫。.