@@ -548,7 +548,7 @@ def NO_LONGER_USED_test_ogr_oapif_fc_links_next_headers():
548
548
###############################################################################
549
549
550
550
551
- def test_ogr_oapif_spatial_filter ():
551
+ def test_ogr_oapif_spatial_filter_deprecated_api ():
552
552
553
553
# Deprecated API
554
554
handler = webserver .SequentialHandler ()
@@ -568,7 +568,31 @@ def test_ogr_oapif_spatial_filter():
568
568
ds = ogr .Open ("OAPIF:http://localhost:%d/oapif" % gdaltest .webserver_port )
569
569
lyr = ds .GetLayer (0 )
570
570
assert lyr .TestCapability (ogr .OLCFastGetExtent )
571
- assert lyr .GetExtent () == (- 10.0 , 15.0 , 40.0 , 50.0 )
571
+
572
+ handler = webserver .SequentialHandler ()
573
+ _add_dummy_root_and_api_pages (handler )
574
+ handler .add (
575
+ "GET" ,
576
+ "/oapif/collections/foo/items?limit=20" ,
577
+ 200 ,
578
+ {"Content-Type" : "application/geo+json" },
579
+ """{ "type": "FeatureCollection", "features": [
580
+ {
581
+ "type": "Feature",
582
+ "properties": {
583
+ "foo": "bar"
584
+ }
585
+ }
586
+ ] }""" ,
587
+ )
588
+ with webserver .install_http_handler (handler ):
589
+ assert lyr .GetExtent () == (- 10.0 , 15.0 , 40.0 , 50.0 )
590
+
591
+
592
+ ###############################################################################
593
+
594
+
595
+ def test_ogr_oapif_spatial_filter ():
572
596
573
597
# Nominal API
574
598
handler = webserver .SequentialHandler ()
@@ -591,7 +615,6 @@ def test_ogr_oapif_spatial_filter():
591
615
with webserver .install_http_handler (handler ):
592
616
ds = ogr .Open ("OAPIF:http://localhost:%d/oapif" % gdaltest .webserver_port )
593
617
lyr = ds .GetLayer (0 )
594
- assert lyr .GetExtent () == (- 10.0 , 15.0 , 40.0 , 50.0 )
595
618
596
619
handler = webserver .SequentialHandler ()
597
620
_add_dummy_root_and_api_pages (handler )
@@ -610,6 +633,7 @@ def test_ogr_oapif_spatial_filter():
610
633
] }""" ,
611
634
)
612
635
with webserver .install_http_handler (handler ):
636
+ assert lyr .GetExtent () == (- 10.0 , 15.0 , 40.0 , 50.0 )
613
637
assert lyr .GetLayerDefn ().GetFieldCount () == 1
614
638
615
639
lyr .SetSpatialFilterRect (2 , 49 , 3 , 50 )
@@ -1365,11 +1389,6 @@ def test_ogr_oapif_storage_crs_easting_northing():
1365
1389
with webserver .install_http_handler (handler ):
1366
1390
ds = ogr .Open ("OAPIF:http://localhost:%d/oapif" % gdaltest .webserver_port )
1367
1391
lyr = ds .GetLayer (0 )
1368
- minx , maxx , miny , maxy = lyr .GetExtent ()
1369
- assert (minx , miny , maxx , maxy ) == pytest .approx (
1370
- (- 611288.854779237 , 4427761.561734099 , 1525592.2813932528 , 5620112.89047953 ),
1371
- abs = 1e-3 ,
1372
- )
1373
1392
1374
1393
handler = webserver .SequentialHandler ()
1375
1394
_add_dummy_root_and_api_pages (handler )
@@ -1389,10 +1408,16 @@ def test_ogr_oapif_storage_crs_easting_northing():
1389
1408
] }""" ,
1390
1409
)
1391
1410
with webserver .install_http_handler (handler ):
1392
- srs = lyr .GetSpatialRef ()
1393
- assert srs
1394
- assert srs .GetAuthorityCode (None ) == "32631"
1395
- assert lyr .GetLayerDefn ().GetFieldCount () == 1
1411
+ minx , maxx , miny , maxy = lyr .GetExtent ()
1412
+ assert (minx , miny , maxx , maxy ) == pytest .approx (
1413
+ (- 611288.854779237 , 4427761.561734099 , 1525592.2813932528 , 5620112.89047953 ),
1414
+ abs = 1e-3 ,
1415
+ )
1416
+
1417
+ srs = lyr .GetSpatialRef ()
1418
+ assert srs
1419
+ assert srs .GetAuthorityCode (None ) == "32631"
1420
+ assert lyr .GetLayerDefn ().GetFieldCount () == 1
1396
1421
1397
1422
handler = webserver .SequentialHandler ()
1398
1423
handler .add (
@@ -1467,8 +1492,6 @@ def test_ogr_oapif_storage_crs_latitude_longitude():
1467
1492
with webserver .install_http_handler (handler ):
1468
1493
ds = ogr .Open ("OAPIF:http://localhost:%d/oapif" % gdaltest .webserver_port )
1469
1494
lyr = ds .GetLayer (0 )
1470
- minx , maxx , miny , maxy = lyr .GetExtent ()
1471
- assert (minx , miny , maxx , maxy ) == pytest .approx ((- 10 , 40 , 15 , 50 ), abs = 1e-3 )
1472
1495
1473
1496
handler = webserver .SequentialHandler ()
1474
1497
_add_dummy_root_and_api_pages (handler )
@@ -1488,12 +1511,15 @@ def test_ogr_oapif_storage_crs_latitude_longitude():
1488
1511
] }""" ,
1489
1512
)
1490
1513
with webserver .install_http_handler (handler ):
1491
- srs = lyr .GetSpatialRef ()
1492
- assert srs
1493
- assert srs .GetAuthorityCode (None ) == "4326"
1494
- assert srs .GetDataAxisToSRSAxisMapping () == [2 , 1 ]
1495
- assert srs .GetCoordinateEpoch () == 2022.5
1496
- assert lyr .GetLayerDefn ().GetFieldCount () == 1
1514
+ minx , maxx , miny , maxy = lyr .GetExtent ()
1515
+ assert (minx , miny , maxx , maxy ) == pytest .approx ((- 10 , 40 , 15 , 50 ), abs = 1e-3 )
1516
+
1517
+ srs = lyr .GetSpatialRef ()
1518
+ assert srs
1519
+ assert srs .GetAuthorityCode (None ) == "4326"
1520
+ assert srs .GetDataAxisToSRSAxisMapping () == [2 , 1 ]
1521
+ assert srs .GetCoordinateEpoch () == 2022.5
1522
+ assert lyr .GetLayerDefn ().GetFieldCount () == 1
1497
1523
1498
1524
handler = webserver .SequentialHandler ()
1499
1525
# Coordinates must be in lat, lon order in the GeoJSON answer
@@ -1573,11 +1599,6 @@ def test_ogr_oapif_storage_crs_latitude_longitude_non_compliant_server():
1573
1599
open_options = ["SERVER_FEATURE_AXIS_ORDER=GIS_FRIENDLY" ],
1574
1600
)
1575
1601
lyr = ds .GetLayer (0 )
1576
- minx , maxx , miny , maxy = lyr .GetExtent ()
1577
- assert (minx , miny , maxx , maxy ) == pytest .approx ((- 10 , 40 , 15 , 50 ), abs = 1e-3 )
1578
-
1579
- supported_srs_list = lyr .GetSupportedSRSList ()
1580
- assert supported_srs_list is None
1581
1602
1582
1603
handler = webserver .SequentialHandler ()
1583
1604
_add_dummy_root_and_api_pages (handler )
@@ -1597,12 +1618,18 @@ def test_ogr_oapif_storage_crs_latitude_longitude_non_compliant_server():
1597
1618
] }""" ,
1598
1619
)
1599
1620
with webserver .install_http_handler (handler ):
1600
- srs = lyr .GetSpatialRef ()
1601
- assert srs
1602
- assert srs .GetAuthorityCode (None ) == "4326"
1603
- assert srs .GetDataAxisToSRSAxisMapping () == [2 , 1 ]
1604
- assert srs .GetCoordinateEpoch () == 2022.5
1605
- assert lyr .GetLayerDefn ().GetFieldCount () == 1
1621
+ minx , maxx , miny , maxy = lyr .GetExtent ()
1622
+ assert (minx , miny , maxx , maxy ) == pytest .approx ((- 10 , 40 , 15 , 50 ), abs = 1e-3 )
1623
+
1624
+ supported_srs_list = lyr .GetSupportedSRSList ()
1625
+ assert supported_srs_list is None
1626
+
1627
+ srs = lyr .GetSpatialRef ()
1628
+ assert srs
1629
+ assert srs .GetAuthorityCode (None ) == "4326"
1630
+ assert srs .GetDataAxisToSRSAxisMapping () == [2 , 1 ]
1631
+ assert srs .GetCoordinateEpoch () == 2022.5
1632
+ assert lyr .GetLayerDefn ().GetFieldCount () == 1
1606
1633
1607
1634
handler = webserver .SequentialHandler ()
1608
1635
# Coordinates must be in lat, lon order in the GeoJSON answer
@@ -1665,19 +1692,6 @@ def get_collections_handler():
1665
1692
assert ds
1666
1693
lyr = ds .GetLayer (0 )
1667
1694
1668
- minx , maxx , miny , maxy = lyr .GetExtent ()
1669
- assert (minx , miny , maxx , maxy ) == pytest .approx (
1670
- (- 611288.854779237 , 4427761.561734099 , 1525592.2813932528 , 5620112.89047953 ),
1671
- abs = 1e-3 ,
1672
- )
1673
-
1674
- supported_srs_list = lyr .GetSupportedSRSList ()
1675
- assert supported_srs_list
1676
- assert len (supported_srs_list ) == 2
1677
- assert supported_srs_list [0 ].GetAuthorityCode (None ) == "32631"
1678
- # Below doesn't work with early PROJ 6 versions
1679
- # assert supported_srs_list[1].GetAuthorityCode(None) == "CRS84"
1680
-
1681
1695
def get_items_handler ():
1682
1696
handler = webserver .SequentialHandler ()
1683
1697
_add_dummy_root_and_api_pages (handler )
@@ -1699,9 +1713,22 @@ def get_items_handler():
1699
1713
return handler
1700
1714
1701
1715
with webserver .install_http_handler (get_items_handler ()):
1702
- srs = lyr .GetSpatialRef ()
1703
- assert srs
1704
- assert srs .GetAuthorityCode (None ) == "32631"
1716
+ minx , maxx , miny , maxy = lyr .GetExtent ()
1717
+ assert (minx , miny , maxx , maxy ) == pytest .approx (
1718
+ (- 611288.854779237 , 4427761.561734099 , 1525592.2813932528 , 5620112.89047953 ),
1719
+ abs = 1e-3 ,
1720
+ )
1721
+
1722
+ supported_srs_list = lyr .GetSupportedSRSList ()
1723
+ assert supported_srs_list
1724
+ assert len (supported_srs_list ) == 2
1725
+ assert supported_srs_list [0 ].GetAuthorityCode (None ) == "32631"
1726
+ # Below doesn't work with early PROJ 6 versions
1727
+ # assert supported_srs_list[1].GetAuthorityCode(None) == "CRS84"
1728
+
1729
+ srs = lyr .GetSpatialRef ()
1730
+ assert srs
1731
+ assert srs .GetAuthorityCode (None ) == "32631"
1705
1732
1706
1733
json_info = gdal .VectorInfo (ds , format = "json" , featureCount = False )
1707
1734
assert "supportedSRSList" in json_info ["layers" ][0 ]["geometryFields" ][0 ]
0 commit comments