我使用Azure的搜寻以下查询:Azure搜索:geo.intersects返回不正确的结果?
$过滤= geo.intersects(坐标,geography'POLYGON((1.136 44.733,1.316 44.733,1.316 44.553,1.136 44.553,1.136 44.733))')
这应该返回此多边形内的所有点,这是法国西南部的一个小区域。不幸的是,Azure搜索从多边形之外返回结果。
似乎不正确,我(纠正,见注释)结果例子:
- LON = 5.299151,LAT = 44.695285,
- LON = 0.397723,LAT = 44.668628,
多边形中的点顺时针输入(在相关问题中提到),但仍然不正确。
有关修复查询的任何建议?
我用下面的代码喂养指数:
公共类几何
{
public Geometry(Coordinate c)
{
List<double> GeoList = new List<double>();
GeoList.Add((double)c.Longitude);
GeoList.Add((double)c.Latitude);
type = "Point";
coordinates = GeoList;
}
public string type { get; set; }
public IList<double> coordinates { get; set; }
}
在你的坐标,似乎不正确的例子,它看起来像LON和LAT被交换。这是一个错字,还是那些你看到的实际结果? –
他们在LAT-LON顺序返回(我编辑的问题,以反映正确的顺序): “协调”:{ “类型”: “点”, “坐标”: 5.299151, 44.695285 ], “CRS”:{ “类型”: “名字”, “属性”:{ “名”: “EPSG:4326” } } } –
要纠正我以前的评论,因为我可以不再编辑这个评论:他们确实是错的,我混淆了他们。这一定是解释。我会测试并让你知道结果。 –