Mongo C#驱动程序-GeoJson多边形到GeoJSOnlinearring坐标<;地理坐标>;

Mongo C#驱动程序-GeoJson多边形到GeoJSOnlinearring坐标<;地理坐标>;,c#,mongodb,mongo-c-driver,mongodb-.net-driver,C#,Mongodb,Mongo C Driver,Mongodb .net Driver,我是Mongo C#驱动程序的新手,我正在尝试在C#中创建一个intersect查询。我的函数是用Javascript编写的,但Mongo驱动程序中的一些类让我很为难 目前我的GeoJson很好,但是当我创建要传递给intersect查询的对象时,我似乎没有正确的参数。目前,我正在使用以下帖子对我的过滤器进行建模: 如何将geojson字符串转换为“坐标”列表以创建GeoJsonLinearRingCoordinates对象 下面是我尝试使用的多边形示例(俄亥俄州卡罗尔县): 下面是我在Mong

我是Mongo C#驱动程序的新手,我正在尝试在C#中创建一个intersect查询。我的函数是用Javascript编写的,但Mongo驱动程序中的一些类让我很为难

目前我的GeoJson很好,但是当我创建要传递给intersect查询的对象时,我似乎没有正确的参数。目前,我正在使用以下帖子对我的过滤器进行建模:

如何将geojson字符串转换为“坐标”列表以创建GeoJsonLinearRingCoordinates对象

下面是我尝试使用的多边形示例(俄亥俄州卡罗尔县):

下面是我在Mongo shell中使用的JavaScript查询:

db.MapPoints.find({ "GeoPoint.coordinates": { $geoIntersects: { $geometry: region.GeoJson.geometry } } })

我创建了一个Mongo驱动程序测试类的快速修改,以获得向前移动所需的对象。我不确定这是否适用于我所有的多边形,但它已经解决了当前的问题。如果其他人有更好的方法,请分享。谢谢

    private GeoJsonPolygon<GeoJson2DCoordinates> GetMongoPolygon(string json)
    {
        return BsonSerializer.Deserialize<GeoJsonPolygon<GeoJson2DCoordinates>>(json);
    }
private GeoJsonPolygon GetMongoPolygon(字符串json)
{
返回BsonSerializer.Deserialize(json);
}
    private GeoJsonPolygon<GeoJson2DCoordinates> GetMongoPolygon(string json)
    {
        return BsonSerializer.Deserialize<GeoJsonPolygon<GeoJson2DCoordinates>>(json);
    }