mirror of
https://github.com/qgis/QGIS.git
synced 2025-10-08 00:05:09 -04:00
parent
d921c20f58
commit
ffad801fad
@ -1376,6 +1376,25 @@ class TestPyQgsPostgresProvider(unittest.TestCase, ProviderTestCase):
|
|||||||
self.assertEqual(vl.featureCount(), 4000)
|
self.assertEqual(vl.featureCount(), 4000)
|
||||||
print("--- %s seconds ---" % (time.time() - start_time))
|
print("--- %s seconds ---" % (time.time() - start_time))
|
||||||
|
|
||||||
|
def testFilterOnCustomBbox(self):
|
||||||
|
extent = QgsRectangle(-68, 70, -67, 80)
|
||||||
|
request = QgsFeatureRequest().setFilterRect(extent)
|
||||||
|
dbconn = 'dbname=\'qgis_test\''
|
||||||
|
uri = '%s srid=4326 key="pk" sslmode=disable table="qgis_test"."some_poly_data_shift_bbox" (geom)' % (dbconn)
|
||||||
|
|
||||||
|
def _test(vl, ids):
|
||||||
|
values = {feat['pk']: 'x' for feat in vl.getFeatures(request)}
|
||||||
|
expected = {x: 'x' for x in ids}
|
||||||
|
self.assertEqual(values, expected)
|
||||||
|
|
||||||
|
vl = QgsVectorLayer(uri, "testgeom", "postgres")
|
||||||
|
self.assertTrue(vl.isValid())
|
||||||
|
_test(vl, [2, 3])
|
||||||
|
|
||||||
|
vl = QgsVectorLayer(uri + ' bbox=shiftbox', "testgeom", "postgres")
|
||||||
|
self.assertTrue(vl.isValid())
|
||||||
|
_test(vl, [1, 3])
|
||||||
|
|
||||||
|
|
||||||
class TestPyQgsPostgresProviderCompoundKey(unittest.TestCase, ProviderTestCase):
|
class TestPyQgsPostgresProviderCompoundKey(unittest.TestCase, ProviderTestCase):
|
||||||
|
|
||||||
|
15
tests/testdata/provider/testdata_pg.sql
vendored
15
tests/testdata/provider/testdata_pg.sql
vendored
@ -638,3 +638,18 @@ INSERT INTO qgis_test.geometries_table VALUES
|
|||||||
CREATE VIEW qgis_test.geometries_view AS (SELECT * FROM qgis_test.geometries_table);
|
CREATE VIEW qgis_test.geometries_view AS (SELECT * FROM qgis_test.geometries_table);
|
||||||
|
|
||||||
CREATE TABLE qgis_test.geometryless_table (name VARCHAR, value INTEGER);
|
CREATE TABLE qgis_test.geometryless_table (name VARCHAR, value INTEGER);
|
||||||
|
|
||||||
|
---------------------------------------------
|
||||||
|
--
|
||||||
|
-- View with separate bbox field
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE VIEW qgis_test.some_poly_data_shift_bbox AS
|
||||||
|
SELECT pk,
|
||||||
|
geom,
|
||||||
|
ST_Translate(
|
||||||
|
ST_Envelope(geom),
|
||||||
|
ST_XMax(ST_Envelope(geom)) - ST_XMin(ST_Envelope(geom)),
|
||||||
|
0.0
|
||||||
|
) AS shiftbox
|
||||||
|
FROM qgis_test.some_poly_data;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user