internal static bool IsConditionless(IShapeQuery q) { if (q.Field.IsConditionless()) { return(true); } switch (q.Shape) { case ICircleGeoShape circleGeoShape: return(circleGeoShape.Coordinates == null || string.IsNullOrEmpty(circleGeoShape?.Radius)); case IEnvelopeGeoShape envelopeGeoShape: return(envelopeGeoShape.Coordinates == null); case IGeometryCollection geometryCollection: return(geometryCollection.Geometries == null); case ILineStringGeoShape lineStringGeoShape: return(lineStringGeoShape.Coordinates == null); case IMultiLineStringGeoShape multiLineStringGeoShape: return(multiLineStringGeoShape.Coordinates == null); case IMultiPointGeoShape multiPointGeoShape: return(multiPointGeoShape.Coordinates == null); case IMultiPolygonGeoShape multiPolygonGeoShape: return(multiPolygonGeoShape.Coordinates == null); case IPointGeoShape pointGeoShape: return(pointGeoShape.Coordinates == null); case IPolygonGeoShape polygonGeoShape: return(polygonGeoShape.Coordinates == null); case null: return(q.IndexedShape.IsConditionless()); default: return(true); } }
public virtual void Visit(IShapeQuery query) { WriteShape(query.Shape, query.IndexedShape, query.Field, "shape"); }
public virtual void Visit(IShapeQuery query) { }