Skip to content

Commit 5471729

Browse files
authored
Merge pull request #47 from veniversum/master
Allow BBOX to work with different canvas CRS
2 parents c1997cf + 273bd44 commit 5471729

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

pgRoutingLayer.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -703,7 +703,14 @@ def getBBOX(self, srid, use_bbox):
703703
if use_bbox == 'false':
704704
return ' ', ' '
705705
bbox = {}
706-
bbox['srid'] = srid
706+
canvasCrs = Utils.getDestinationCrs(self.iface.mapCanvas())
707+
canvasSrid = Utils.getCanvasSrid(canvasCrs)
708+
bbox['srid'] = canvasSrid
709+
bbox['prefix'] = ''
710+
bbox['suffix'] = ''
711+
if srid != canvasSrid:
712+
bbox['prefix'] = 'ST_Transform('
713+
bbox['suffix'] = ', %d)' % srid
707714
bbox['xMin'] = self.iface.mapCanvas().extent().xMinimum()
708715
bbox['yMin'] = self.iface.mapCanvas().extent().yMinimum()
709716
bbox['xMax'] = self.iface.mapCanvas().extent().xMaximum()
@@ -713,10 +720,10 @@ def getBBOX(self, srid, use_bbox):
713720
text += "," + str(round(bbox['xMax'],2))
714721
text += " " + str(round(bbox['yMax'],2)) + ")"
715722
return """
716-
&& ST_MakeEnvelope(
723+
&& %(prefix)s ST_MakeEnvelope(
717724
%(xMin)s, %(yMin)s,
718725
%(xMax)s, %(yMax)s, %(srid)s
719-
)
726+
)%(suffix)s
720727
""" % bbox, text
721728

722729

0 commit comments

Comments
 (0)