Skip to content

Commit d66e610

Browse files
committed
ogr_mem.py: fix issue with pyarrow 21
1 parent 1ccb175 commit d66e610

File tree

1 file changed

+27
-13
lines changed

1 file changed

+27
-13
lines changed

autotest/ogr/ogr_mem.py

Lines changed: 27 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1334,11 +1334,18 @@ def test_ogr_mem_arrow_stream_pyarrow_geoarrow_no_crs_metadata():
13341334
lyr = ds.CreateLayer("foo")
13351335

13361336
stream = lyr.GetArrowStreamAsPyArrow(["GEOMETRY_METADATA_ENCODING=GEOARROW"])
1337-
assert str(stream.schema) == "struct<OGC_FID: int64 not null, wkb_geometry: binary>"
1338-
md = stream.schema["wkb_geometry"].metadata
1339-
assert b"ARROW:extension:name" in md
1340-
assert md[b"ARROW:extension:name"] == b"geoarrow.wkb"
1341-
assert b"ARROW:extension:metadata" not in md
1337+
if (
1338+
str(stream.schema)
1339+
!= "struct<OGC_FID: int64 not null, wkb_geometry: extension<geoarrow.wkb>>"
1340+
):
1341+
assert (
1342+
str(stream.schema)
1343+
== "struct<OGC_FID: int64 not null, wkb_geometry: binary>"
1344+
)
1345+
md = stream.schema["wkb_geometry"].metadata
1346+
assert b"ARROW:extension:name" in md
1347+
assert md[b"ARROW:extension:name"] == b"geoarrow.wkb"
1348+
assert b"ARROW:extension:metadata" not in md
13421349

13431350

13441351
###############################################################################
@@ -1353,14 +1360,21 @@ def test_ogr_mem_arrow_stream_pyarrow_geoarrow_metadata():
13531360
lyr = ds.CreateLayer("foo", srs=srs)
13541361

13551362
stream = lyr.GetArrowStreamAsPyArrow(["GEOMETRY_METADATA_ENCODING=GEOARROW"])
1356-
assert str(stream.schema) == "struct<OGC_FID: int64 not null, wkb_geometry: binary>"
1357-
md = stream.schema["wkb_geometry"].metadata
1358-
assert b"ARROW:extension:name" in md
1359-
assert md[b"ARROW:extension:name"] == b"geoarrow.wkb"
1360-
assert b"ARROW:extension:metadata" in md
1361-
metadata = json.loads(md[b"ARROW:extension:metadata"])
1362-
assert "crs" in metadata
1363-
assert metadata["crs"]["id"] == {"authority": "EPSG", "code": 32631}
1363+
if (
1364+
str(stream.schema)
1365+
!= "struct<OGC_FID: int64 not null, wkb_geometry: extension<geoarrow.wkb>>"
1366+
):
1367+
assert (
1368+
str(stream.schema)
1369+
== "struct<OGC_FID: int64 not null, wkb_geometry: binary>"
1370+
)
1371+
md = stream.schema["wkb_geometry"].metadata
1372+
assert b"ARROW:extension:name" in md
1373+
assert md[b"ARROW:extension:name"] == b"geoarrow.wkb"
1374+
assert b"ARROW:extension:metadata" in md
1375+
metadata = json.loads(md[b"ARROW:extension:metadata"])
1376+
assert "crs" in metadata
1377+
assert metadata["crs"]["id"] == {"authority": "EPSG", "code": 32631}
13641378

13651379

13661380
###############################################################################

0 commit comments

Comments
 (0)