Skip to content

Commit 5315a69

Browse files
committed
support queries across anti-meridian line
- the envelope query would have values above 180, which is not valid CQL
1 parent 8f7d23d commit 5315a69

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

ckanext/spatial/plugin.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -317,6 +317,9 @@ def _params_for_solr_spatial_field_search(self, bbox, search_params):
317317
+spatial_geom:"Intersects(ENVELOPE({minx}, {miny}, {maxx}, {maxy}))
318318
319319
'''
320+
if bbox['maxx'] > 180:
321+
bbox['maxx'] = -180 + (bbox['maxx'] - 180)
322+
320323
search_params['fq_list'] = search_params.get('fq_list', [])
321324
search_params['fq_list'].append('+spatial_geom:"Intersects(ENVELOPE({minx}, {maxx}, {maxy}, {miny}))"'
322325
.format(minx=bbox['minx'], miny=bbox['miny'], maxx=bbox['maxx'], maxy=bbox['maxy']))

0 commit comments

Comments
 (0)