@@ -209,5 +209,65 @@ public static string Or(List<string> queries) {
209209public static string And ( List < string > queries ) {
210210return new Query ( "and" , null , queries . Select ( q=> JsonSerializer . Deserialize < Query > ( q , Client . DeserializerOptions ) ) . ToList ( ) ) . ToString ( ) ;
211211}
212+
213+ public static string DistanceEqual ( string attribute , object values , double distance , bool meters = true )
214+ {
215+ return new Query ( "distanceEqual" , attribute , new List < object > { values , distance , meters } ) . ToString ( ) ;
216+ }
217+
218+ public static string DistanceNotEqual ( string attribute , object values , double distance , bool meters = true )
219+ {
220+ return new Query ( "distanceNotEqual" , attribute , new List < object > { values , distance , meters } ) . ToString ( ) ;
221+ }
222+
223+ public static string DistanceGreaterThan ( string attribute , object values , double distance , bool meters = true )
224+ {
225+ return new Query ( "distanceGreaterThan" , attribute , new List < object > { values , distance , meters } ) . ToString ( ) ;
226+ }
227+
228+ public static string DistanceLessThan ( string attribute , object values , double distance , bool meters = true )
229+ {
230+ return new Query ( "distanceLessThan" , attribute , new List < object > { values , distance , meters } ) . ToString ( ) ;
231+ }
232+
233+ public static string Intersects ( string attribute , object values )
234+ {
235+ return new Query ( "intersects" , attribute , values ) . ToString ( ) ;
236+ }
237+
238+ public static string NotIntersects ( string attribute , object values )
239+ {
240+ return new Query ( "notIntersects" , attribute , values ) . ToString ( ) ;
241+ }
242+
243+ public static string Crosses ( string attribute , object values )
244+ {
245+ return new Query ( "crosses" , attribute , values ) . ToString ( ) ;
246+ }
247+
248+ public static string NotCrosses ( string attribute , object values )
249+ {
250+ return new Query ( "notCrosses" , attribute , values ) . ToString ( ) ;
251+ }
252+
253+ public static string Overlaps ( string attribute , object values )
254+ {
255+ return new Query ( "overlaps" , attribute , values ) . ToString ( ) ;
256+ }
257+
258+ public static string NotOverlaps ( string attribute , object values )
259+ {
260+ return new Query ( "notOverlaps" , attribute , values ) . ToString ( ) ;
261+ }
262+
263+ public static string Touches ( string attribute , object values )
264+ {
265+ return new Query ( "touches" , attribute , values ) . ToString ( ) ;
266+ }
267+
268+ public static string NotTouches ( string attribute , object values )
269+ {
270+ return new Query ( "notTouches" , attribute , values ) . ToString ( ) ;
271+ }
212272}
213273}