pyogrio 0.8.0__cp311-cp311-manylinux_2_28_aarch64.whl → 0.10.0__cp311-cp311-manylinux_2_28_aarch64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pyogrio might be problematic. Click here for more details.

Files changed (73) hide show
  1. pyogrio/__init__.py +20 -13
  2. pyogrio/_compat.py +7 -1
  3. pyogrio/_env.py +4 -6
  4. pyogrio/_err.cpython-311-aarch64-linux-gnu.so +0 -0
  5. pyogrio/_geometry.cpython-311-aarch64-linux-gnu.so +0 -0
  6. pyogrio/_io.cpython-311-aarch64-linux-gnu.so +0 -0
  7. pyogrio/_ogr.cpython-311-aarch64-linux-gnu.so +0 -0
  8. pyogrio/_version.py +3 -3
  9. pyogrio/_vsi.cpython-311-aarch64-linux-gnu.so +0 -0
  10. pyogrio/core.py +86 -20
  11. pyogrio/errors.py +9 -16
  12. pyogrio/gdal_data/GDAL-targets-release.cmake +3 -3
  13. pyogrio/gdal_data/GDAL-targets.cmake +1 -1
  14. pyogrio/gdal_data/GDALConfig.cmake +0 -1
  15. pyogrio/gdal_data/GDALConfigVersion.cmake +3 -3
  16. pyogrio/gdal_data/MM_m_idofic.csv +321 -0
  17. pyogrio/gdal_data/gdaltileindex.xsd +269 -0
  18. pyogrio/gdal_data/gdalvrt.xsd +130 -22
  19. pyogrio/gdal_data/ogrinfo_output.schema.json +23 -0
  20. pyogrio/gdal_data/ogrvrt.xsd +3 -0
  21. pyogrio/gdal_data/pci_datum.txt +222 -155
  22. pyogrio/gdal_data/pci_ellips.txt +90 -38
  23. pyogrio/gdal_data/vcpkg.spdx.json +27 -27
  24. pyogrio/gdal_data/vcpkg_abi_info.txt +25 -25
  25. pyogrio/geopandas.py +44 -27
  26. pyogrio/proj_data/proj-config-version.cmake +2 -2
  27. pyogrio/proj_data/proj-targets.cmake +1 -1
  28. pyogrio/proj_data/proj.db +0 -0
  29. pyogrio/proj_data/proj4-targets.cmake +1 -1
  30. pyogrio/proj_data/projjson.schema.json +1 -1
  31. pyogrio/proj_data/vcpkg.spdx.json +21 -21
  32. pyogrio/proj_data/vcpkg_abi_info.txt +13 -13
  33. pyogrio/raw.py +46 -30
  34. pyogrio/tests/conftest.py +206 -12
  35. pyogrio/tests/fixtures/README.md +32 -13
  36. pyogrio/tests/fixtures/curve.gpkg +0 -0
  37. pyogrio/tests/fixtures/{test_multisurface.gpkg → curvepolygon.gpkg} +0 -0
  38. pyogrio/tests/fixtures/line_zm.gpkg +0 -0
  39. pyogrio/tests/fixtures/multisurface.gpkg +0 -0
  40. pyogrio/tests/test_arrow.py +178 -24
  41. pyogrio/tests/test_core.py +162 -72
  42. pyogrio/tests/test_geopandas_io.py +341 -96
  43. pyogrio/tests/test_path.py +30 -17
  44. pyogrio/tests/test_raw_io.py +165 -54
  45. pyogrio/tests/test_util.py +56 -0
  46. pyogrio/util.py +55 -31
  47. {pyogrio-0.8.0.dist-info → pyogrio-0.10.0.dist-info}/LICENSE +1 -1
  48. {pyogrio-0.8.0.dist-info → pyogrio-0.10.0.dist-info}/METADATA +37 -8
  49. {pyogrio-0.8.0.dist-info → pyogrio-0.10.0.dist-info}/RECORD +203 -218
  50. {pyogrio-0.8.0.dist-info → pyogrio-0.10.0.dist-info}/WHEEL +1 -1
  51. pyogrio.libs/{libgdal-b2fb2022.so.34.3.8.5 → libgdal-b0847c7b.so.35.3.9.1} +0 -0
  52. pyogrio/_err.pxd +0 -4
  53. pyogrio/_err.pyx +0 -250
  54. pyogrio/_geometry.pxd +0 -4
  55. pyogrio/_geometry.pyx +0 -129
  56. pyogrio/_io.pxd +0 -0
  57. pyogrio/_io.pyx +0 -2738
  58. pyogrio/_ogr.pxd +0 -441
  59. pyogrio/_ogr.pyx +0 -346
  60. pyogrio/_vsi.pxd +0 -4
  61. pyogrio/_vsi.pyx +0 -140
  62. pyogrio/arrow_bridge.h +0 -115
  63. pyogrio/gdal_data/bag_template.xml +0 -201
  64. pyogrio/gdal_data/gmlasconf.xml +0 -169
  65. pyogrio/gdal_data/gmlasconf.xsd +0 -1066
  66. pyogrio/gdal_data/netcdf_config.xsd +0 -143
  67. pyogrio/gdal_data/template_tiles.mapml +0 -28
  68. pyogrio/tests/fixtures/test_datetime.geojson +0 -7
  69. pyogrio/tests/fixtures/test_datetime_tz.geojson +0 -8
  70. pyogrio/tests/fixtures/test_fgdb.gdb.zip +0 -0
  71. pyogrio/tests/fixtures/test_nested.geojson +0 -18
  72. pyogrio/tests/fixtures/test_ogr_types_list.geojson +0 -12
  73. {pyogrio-0.8.0.dist-info → pyogrio-0.10.0.dist-info}/top_level.txt +0 -0
@@ -1,57 +1,69 @@
1
1
  !
2
- ! By email on December 2nd, 2010:
2
+ ! From https://github.com/OSGeo/gdal/issues/8034, June 30, 2023
3
3
  !
4
- ! I, Louis Burry, on behalf of PCI Geomatics agree to allow the ellips.txt
4
+ ! I, Michael Goldberg, on behalf of PCI Geomatics agree to allow the ellips.txt
5
5
  ! and datum.txt file to be distributed under the GDAL open source license.
6
6
  !
7
- ! Louis Burry
8
- ! VP Technology & Delivery
7
+ ! Michael Goldberg
8
+ ! Development Manager
9
9
  ! PCI Geomatics
10
10
  !
11
+ ! PCI Ellipsoid Database
12
+ ! ----------------------
13
+ ! This file lists the different reference ellipsoids that may
14
+ ! be used by PCI coordinate systems. Ellipsoid entries in datum.txt
15
+ ! refer to entries in this file.
16
+ !
17
+ ! Each ellipsoid is listed on a single line. The format of each record
18
+ ! is as follows:
19
+ !
20
+ ! Ellipsoid_code, Description_string, Semimajor_axis_m, Semiminor_axis_m [,extra comments]
21
+ !
22
+ ! Ellipsoid_code is the code that uniquely identifies the ellipsoid
23
+ ! within PCI software
24
+ ! Description_string is a short description that helps users to identify
25
+ ! the ellipsoid. It may be listed, for example, in a dropdown list in
26
+ ! a PCI dialog box.
27
+ ! Semimajor_axis_m is the ellipsoid semi-major (equatorial) axis length in metres.
28
+ ! Semiminor_axis_m is the ellipsoid semi-minor (polar) axis length in metres.
29
+ !
30
+ ! Any extra fields may be added after these four elements if desired; they will
31
+ ! not be read by PCI software but may be helpful for the user.
11
32
  !
12
33
  ! NOTE: The range of "E908" to "E998" is set aside for
13
34
  ! the use of local customer development.
14
35
  !
15
- "E009","Airy 1830",6377563.396,6356256.91
16
- "E011","Modified Airy",6377340.189,6356034.448
17
- "E910","ATS77",6378135.0,6356750.304922
18
- "E014","Australian National 1965",6378160.,6356774.719
19
- "E002","Bessel 1841",6377397.155,6356078.96284
20
- "E900","Bessel 1841 (Namibia)",6377483.865,6356165.382966
21
- "E333","Bessel 1841 (Japan By Law)",6377397.155,6356078.963
22
36
  "E000","Clarke 1866",6378206.4,6356583.8
23
37
  "E001","Clarke 1880 (RGS)",6378249.145,6356514.86955
24
- "E202","Clarke 1880 (IGN, France)",6378249.2,6356515.0
38
+ "E002","Bessel 1841",6377397.155,6356078.96284
39
+ "E003","New International 1967",6378157.5,6356772.2
40
+ "E004","International 1924",6378388.,6356911.94613
41
+ "E005","WGS 72",6378135.,6356750.519915
25
42
  "E006","Everest (India 1830)",6377276.3452,6356075.4133
43
+ "E007","WGS 66",6378145.,6356759.769356
44
+ "E008","GRS 1980",6378137.,6356752.31414
45
+ "E009","Airy 1830",6377563.396,6356256.91
26
46
  "E010","Everest (W. Malaysia and Singapore 1948)",6377304.063,6356103.039
27
- "E901","Everest (India 1956)",6377301.243,6356100.228368
28
- "E902","Everest (W. Malaysia 1969)",6377295.664,6356094.667915
29
- "E903","Everest (E. Malaysia and Brunei)",6377298.556,6356097.550301
30
- "E201","Everest (Pakistan)",6377309.613,6356108.570542
31
- "E017","Fischer 1960",6378166.,6356784.283666
47
+ "E011","Modified Airy",6377340.189,6356034.448
48
+ "E012","WGS 84",6378137.,6356752.314245
32
49
  "E013","Modified Fischer 1960",6378155.,6356773.3205
33
- "E018","Fischer 1968",6378150.,6356768.337303
34
- "E008","GRS 1980",6378137.,6356752.31414
35
- "E904","Helmert 1906",6378200.,6356818.169628
36
- "E016","Hough 1960",6378270.,6356794.343479
37
- "E200","Indonesian 1974",6378160.,6356774.504086
38
- "E004","International 1924",6378388.,6356911.94613
39
- "E203","IUGG 67",6378160.,6356774.516090714
50
+ "E014","Australian National 1965",6378160.,6356774.719
40
51
  "E015","Krassovsky 1940",6378245.,6356863.0188
41
- "E700","MODIS (Sphere from WGS84)",6371007.181,6371007.181
42
- "E003","New International 1967",6378157.5,6356772.2
52
+ "E016","Hough 1960",6378270.,6356794.343479
53
+ "E017","Fischer 1960",6378166.,6356784.283666
54
+ "E018","Fischer 1968",6378150.,6356768.337303
43
55
  "E019","Normal Sphere",6370997.,6370997.
44
- "E905","SGS 85",6378136.,6356751.301569
45
- "E907","South American 1969",6378160.,6356774.719
46
- "E906","WGS 60",6378165.,6356783.286959
47
- "E007","WGS 66",6378145.,6356759.769356
48
- "E005","WGS 72",6378135.,6356750.519915
49
- "E012","WGS 84",6378137.,6356752.314245
50
56
  "E020","WGS 84 semimajor axis",6378137.,6378137.
51
- "E600","D-PAF (Orbits)",6378144.0,6356759.0
52
- "E601","Test Data Set 1",6378144.0,6356759.0
53
- "E602","Test Data Set 2",6377397.2,6356079.0
54
- "E204","War Office",6378300.583,6356752.270
57
+ "E021","WGS 84 semiminor axis",6356752.314245,6356752.314245
58
+ "E022","Clarke 1866 Authalic Sphere", 6370997.000000, 6370997.000000
59
+ "E023","GRS 1980 Authalic Sphere", 6371007.000000, 6371007.000000
60
+ "E024","International 1924 Authalic Sphere", 6371228.000000, 6371228.000000
61
+ "E025","GosatCAIL1B+ EarthRadius",6371008.77138,6371008.77138
62
+ "E200","Indonesian 1974",6378160.,6356774.504086
63
+ "E201","Everest (Pakistan)",6377309.613,6356108.570542
64
+ "E202","Clarke 1880 (IGN, France)",6378249.2,6356515.0
65
+ "E203","IUGG 67",6378160.,6356774.516090714
66
+ "E204","War Office",6378300.000,6356751.689189
55
67
  "E205","Clarke 1880 Arc",6378249.145,6356514.966
56
68
  "E206","Bessel Modified",6377492.018,6356173.5087
57
69
  "E207","Clarke 1858",6378293.639,6356617.98149
@@ -61,17 +73,57 @@
61
73
  "E211","Everest Modified",6377304.063,6356103.039
62
74
  "E212","Modified Everest 1969",6377295.664,6356094.668
63
75
  "E213","Everest (1967 Definition)",6377298.556,6356097.550
64
- "E214","Clarke 1880 (Benoit)",6378300.79,6356566.43
76
+ "E214","Clarke 1880 (Benoit)",6378300.789000,6356566.435000
65
77
  "E215","Clarke 1880 (SGA)",6378249.2,6356515.0
66
78
  "E216","Everest (1975 Definition)",6377299.151,6356098.1451
67
79
  "E217","GEM 10C",6378137,6356752.31414
68
80
  "E218","OSU 86F",6378136.2,6356751.516672
69
81
  "E219","OSU 91A",6378136.3,6356751.6163367
70
82
  "E220","Sphere",6371000,6371000
71
- "E221","Struve 1860",6378297,6356655.847
83
+ "E221","Struve 1860",6378298.300000,6356657.142670
72
84
  "E222","Walbeck",6376896,6355834.847
73
85
  "E223","Plessis 1817",6376523,6355862.933
74
86
  "E224","Xian 1980",6378140.0,6356755.288
75
87
  "E225","EMEP Sphere",6370000,6370000
76
88
  "E226","Everest (India and Nepal)",6377301.243,6356100.228368
89
+ "E227","Everest (1830 Definition)", 6377299.365595, 6356098.359005,"EPSG:7042"
90
+ "E228","Danish 1876", 6377019.270000, 6355762.539100
91
+ "E229","Bessel Namibia (GLM)", 6377483.865280, 6356165.383246
92
+ "E230","PZ-90", 6378136.000000, 6356751.361746
93
+ "E231","CGCS2000", 6378137.000000, 6356752.314140
94
+ "E232","IAG 1975", 6378140.000000, 6356755.288158
95
+ "E233","NWL 9D", 6378145.000000, 6356759.769489
96
+ "E234","Hughes 1980", 6378273.000000, 6356889.449000
97
+ "E235","Clarke 1880 (international foot)", 6378306.369600, 6356571.996000
98
+ "E236","Clarke 1866 Michigan", 6378450.047549, 6356826.621488
99
+ "E237","APL 4.5 (1968)", 6378144.000000, 6356757.338698
100
+ "E238","Airy (War Office)", 6377542.178, 6356235.764
101
+ "E239","Clarke 1858 (DIGEST)", 6378235.600, 6356560.140
102
+ "E240","Clarke 1880 (Palestine)", 6378300.782, 6356566.427
103
+ "E241","Clarke 1880 (Syria)", 6378247.842, 6356513.671
104
+ "E242","Clarke 1880 (Fiji)", 6378301.000, 6356566.548
105
+ "E243","Andrae", 6377104.430, 6355847.415
106
+ "E244","Delambre 1810", 6376985.228, 6356323.664
107
+ "E245","Delambre (Carte de France)", 6376985.000, 6356323.436
108
+ "E246","Germaine (Djibouti)", 6378284.000, 6356589.156
109
+ "E247","Hayford 1909", 6378388.000, 6356909.000
110
+ "E248","Krayenhoff 1827", 6376950.400, 6356356.341
111
+ "E249","Plessis Reconstituted", 6376523.994, 6355862.907
112
+ "E250","GRS 1967", 6378160.000, 6356774.516
113
+ "E251","Svanberg", 6376797.000, 6355837.971
114
+ "E252","Walbeck 1819 (Planheft 1942)", 6376895.000, 6355834.000
115
+ "E333","Bessel 1841 (Japan By Law)",6377397.155,6356078.963
116
+ "E600","D-PAF (Orbits)",6378144.0,6356759.0
117
+ "E601","Test Data Set 1",6378144.0,6356759.0
118
+ "E602","Test Data Set 2",6377397.2,6356079.0
119
+ "E700","MODIS (Sphere from WGS84)",6371007.181,6371007.181
77
120
  "E899","GRS 1967 Modified",6378160.,6356774.719195306
121
+ "E900","Bessel 1841 (Namibia)",6377483.865,6356165.382966
122
+ "E901","Everest (India 1956)",6377301.243,6356100.228368
123
+ "E902","Everest (W. Malaysia 1969)",6377295.664,6356094.667915
124
+ "E903","Everest (E. Malaysia and Brunei)",6377298.556,6356097.550301
125
+ "E904","Helmert 1906",6378200.,6356818.169628
126
+ "E905","SGS 85",6378136.,6356751.301569
127
+ "E906","WGS 60",6378165.,6356783.286959
128
+ "E907","South American 1969",6378160.,6356774.719
129
+ "E910","ATS77",6378135.0,6356750.304922
@@ -3,13 +3,13 @@
3
3
  "spdxVersion": "SPDX-2.2",
4
4
  "dataLicense": "CC0-1.0",
5
5
  "SPDXID": "SPDXRef-DOCUMENT",
6
- "documentNamespace": "https://spdx.org/spdxdocs/gdal-arm64-linux-dynamic-release-3.8.5-c10232ad-fed1-42c9-bbd9-20d0a8dfc748",
7
- "name": "gdal:arm64-linux-dynamic-release@3.8.5 58e88ba41cbc169497613684e29b8f1436999df48e1390ff96b0f5feacefd0cd",
6
+ "documentNamespace": "https://spdx.org/spdxdocs/gdal-arm64-linux-dynamic-release-3.9.1-0ff3ca72-e08f-4de5-8de0-199bae98fcea",
7
+ "name": "gdal:arm64-linux-dynamic-release@3.9.1 6f76a18b951c9423ac5345fb239a186015a2db4fddd35b77494e0a3f2d9beae7",
8
8
  "creationInfo": {
9
9
  "creators": [
10
- "Tool: vcpkg-unknownhash"
10
+ "Tool: vcpkg-2999-12-31-unknownhash"
11
11
  ],
12
- "created": "2024-05-04T14:32:24Z"
12
+ "created": "2024-09-27T19:05:29Z"
13
13
  },
14
14
  "relationships": [
15
15
  {
@@ -117,8 +117,8 @@
117
117
  {
118
118
  "name": "gdal",
119
119
  "SPDXID": "SPDXRef-port",
120
- "versionInfo": "3.8.5",
121
- "downloadLocation": "git+https://github.com/Microsoft/vcpkg@ea4d3f8cb9ab32d885ac60b974421a604fdbcc87",
120
+ "versionInfo": "3.9.1",
121
+ "downloadLocation": "git+https://github.com/Microsoft/vcpkg@65b271a32a93a9dfa4dfd3905fcd0b5388926f81",
122
122
  "homepage": "https://gdal.org",
123
123
  "licenseConcluded": "NOASSERTION",
124
124
  "licenseDeclared": "NOASSERTION",
@@ -129,7 +129,7 @@
129
129
  {
130
130
  "name": "gdal:arm64-linux-dynamic-release",
131
131
  "SPDXID": "SPDXRef-binary",
132
- "versionInfo": "58e88ba41cbc169497613684e29b8f1436999df48e1390ff96b0f5feacefd0cd",
132
+ "versionInfo": "6f76a18b951c9423ac5345fb239a186015a2db4fddd35b77494e0a3f2d9beae7",
133
133
  "downloadLocation": "NONE",
134
134
  "licenseConcluded": "NOASSERTION",
135
135
  "licenseDeclared": "NOASSERTION",
@@ -139,122 +139,122 @@
139
139
  {
140
140
  "SPDXID": "SPDXRef-resource-1",
141
141
  "name": "OSGeo/gdal",
142
- "downloadLocation": "git+https://github.com/OSGeo/gdal@v3.8.5",
142
+ "downloadLocation": "git+https://github.com/OSGeo/gdal@v3.9.1",
143
143
  "licenseConcluded": "NOASSERTION",
144
144
  "licenseDeclared": "NOASSERTION",
145
145
  "copyrightText": "NOASSERTION",
146
146
  "checksums": [
147
147
  {
148
148
  "algorithm": "SHA512",
149
- "checksumValue": "5b155229225e904b3619628ec27efdd273d9f083c1ee4f6d94041897d5bc9c3133590b70885ad61fc8864da2f334a75cf32bafe7f776c40bbbc3673fe842c986"
149
+ "checksumValue": "d9ab5d94dc870df17b010166d3ebbe897a1f673ba05bf31cd4bed437b6db303dd9e373ba5099d3a191ff3e48c995556fb5bcc77d03d975614df4aa20a2c2b085"
150
150
  }
151
151
  ]
152
152
  }
153
153
  ],
154
154
  "files": [
155
155
  {
156
- "fileName": ".//opt/vcpkg/buildtrees/versioning_/versions/gdal/ea4d3f8cb9ab32d885ac60b974421a604fdbcc87/vcpkg-cmake-wrapper.cmake",
156
+ "fileName": ".//opt/vcpkg/buildtrees/versioning_/versions/gdal/65b271a32a93a9dfa4dfd3905fcd0b5388926f81/usage",
157
157
  "SPDXID": "SPDXRef-file-0",
158
158
  "checksums": [
159
159
  {
160
160
  "algorithm": "SHA256",
161
- "checksumValue": "c507eaa077072e9877607fd5f70381eebf19900661e2e1fd099d84c4df1b8c24"
161
+ "checksumValue": "c85584261e2011a94b86f04c3a28dd2e165c9e6b47677a9bee26a3d387bc05f2"
162
162
  }
163
163
  ],
164
164
  "licenseConcluded": "NOASSERTION",
165
165
  "copyrightText": "NOASSERTION"
166
166
  },
167
167
  {
168
- "fileName": ".//opt/vcpkg/buildtrees/versioning_/versions/gdal/ea4d3f8cb9ab32d885ac60b974421a604fdbcc87/vcpkg.json",
168
+ "fileName": ".//opt/vcpkg/buildtrees/versioning_/versions/gdal/65b271a32a93a9dfa4dfd3905fcd0b5388926f81/find-link-libraries.patch",
169
169
  "SPDXID": "SPDXRef-file-1",
170
170
  "checksums": [
171
171
  {
172
172
  "algorithm": "SHA256",
173
- "checksumValue": "15039815ee85e9996bda2f7cb66eb87de8b544bcafba85f2518ba1b3f28c9fd5"
173
+ "checksumValue": "043cbdd6298fce33c29d128241470b71990dc13eb63bfa44b3d82b17f5384468"
174
174
  }
175
175
  ],
176
176
  "licenseConcluded": "NOASSERTION",
177
177
  "copyrightText": "NOASSERTION"
178
178
  },
179
179
  {
180
- "fileName": ".//opt/vcpkg/buildtrees/versioning_/versions/gdal/ea4d3f8cb9ab32d885ac60b974421a604fdbcc87/cmake-project-include.cmake",
180
+ "fileName": ".//opt/vcpkg/buildtrees/versioning_/versions/gdal/65b271a32a93a9dfa4dfd3905fcd0b5388926f81/fix-gdal-target-interfaces.patch",
181
181
  "SPDXID": "SPDXRef-file-2",
182
182
  "checksums": [
183
183
  {
184
184
  "algorithm": "SHA256",
185
- "checksumValue": "60c0f79155c78ec0ec4ccdc77e00f4613ae4630c6697f51f884bf8f979a48593"
185
+ "checksumValue": "9dbe9d5e0dbc3a21370bb3560aa32811d10cc0b19e4b6833cd7258699d206215"
186
186
  }
187
187
  ],
188
188
  "licenseConcluded": "NOASSERTION",
189
189
  "copyrightText": "NOASSERTION"
190
190
  },
191
191
  {
192
- "fileName": ".//opt/vcpkg/buildtrees/versioning_/versions/gdal/ea4d3f8cb9ab32d885ac60b974421a604fdbcc87/usage",
192
+ "fileName": ".//opt/vcpkg/buildtrees/versioning_/versions/gdal/65b271a32a93a9dfa4dfd3905fcd0b5388926f81/target-is-valid.patch",
193
193
  "SPDXID": "SPDXRef-file-3",
194
194
  "checksums": [
195
195
  {
196
196
  "algorithm": "SHA256",
197
- "checksumValue": "c85584261e2011a94b86f04c3a28dd2e165c9e6b47677a9bee26a3d387bc05f2"
197
+ "checksumValue": "6a369356c57860f97bd756d3604e7219774e2bfe5c74e5e0178496fad253900f"
198
198
  }
199
199
  ],
200
200
  "licenseConcluded": "NOASSERTION",
201
201
  "copyrightText": "NOASSERTION"
202
202
  },
203
203
  {
204
- "fileName": ".//opt/vcpkg/buildtrees/versioning_/versions/gdal/ea4d3f8cb9ab32d885ac60b974421a604fdbcc87/fix-gdal-target-interfaces.patch",
204
+ "fileName": ".//opt/vcpkg/buildtrees/versioning_/versions/gdal/65b271a32a93a9dfa4dfd3905fcd0b5388926f81/libkml.patch",
205
205
  "SPDXID": "SPDXRef-file-4",
206
206
  "checksums": [
207
207
  {
208
208
  "algorithm": "SHA256",
209
- "checksumValue": "9dbe9d5e0dbc3a21370bb3560aa32811d10cc0b19e4b6833cd7258699d206215"
209
+ "checksumValue": "fe888df8a7c9e468cdd87640c025f48f165d5264af1fa20604bd60859e6f000f"
210
210
  }
211
211
  ],
212
212
  "licenseConcluded": "NOASSERTION",
213
213
  "copyrightText": "NOASSERTION"
214
214
  },
215
215
  {
216
- "fileName": ".//opt/vcpkg/buildtrees/versioning_/versions/gdal/ea4d3f8cb9ab32d885ac60b974421a604fdbcc87/target-is-valid.patch",
216
+ "fileName": ".//opt/vcpkg/buildtrees/versioning_/versions/gdal/65b271a32a93a9dfa4dfd3905fcd0b5388926f81/vcpkg.json",
217
217
  "SPDXID": "SPDXRef-file-5",
218
218
  "checksums": [
219
219
  {
220
220
  "algorithm": "SHA256",
221
- "checksumValue": "6a369356c57860f97bd756d3604e7219774e2bfe5c74e5e0178496fad253900f"
221
+ "checksumValue": "71bb644d1501bdc16fbe5e88a45a27c478bee667cbace588c569de28778c89ff"
222
222
  }
223
223
  ],
224
224
  "licenseConcluded": "NOASSERTION",
225
225
  "copyrightText": "NOASSERTION"
226
226
  },
227
227
  {
228
- "fileName": ".//opt/vcpkg/buildtrees/versioning_/versions/gdal/ea4d3f8cb9ab32d885ac60b974421a604fdbcc87/find-link-libraries.patch",
228
+ "fileName": ".//opt/vcpkg/buildtrees/versioning_/versions/gdal/65b271a32a93a9dfa4dfd3905fcd0b5388926f81/vcpkg-cmake-wrapper.cmake",
229
229
  "SPDXID": "SPDXRef-file-6",
230
230
  "checksums": [
231
231
  {
232
232
  "algorithm": "SHA256",
233
- "checksumValue": "9e390300ab79cf6fef1bb009416346a1f98d4946cb14c71ee4ea46217e3cb9d2"
233
+ "checksumValue": "c507eaa077072e9877607fd5f70381eebf19900661e2e1fd099d84c4df1b8c24"
234
234
  }
235
235
  ],
236
236
  "licenseConcluded": "NOASSERTION",
237
237
  "copyrightText": "NOASSERTION"
238
238
  },
239
239
  {
240
- "fileName": ".//opt/vcpkg/buildtrees/versioning_/versions/gdal/ea4d3f8cb9ab32d885ac60b974421a604fdbcc87/portfile.cmake",
240
+ "fileName": ".//opt/vcpkg/buildtrees/versioning_/versions/gdal/65b271a32a93a9dfa4dfd3905fcd0b5388926f81/cmake-project-include.cmake",
241
241
  "SPDXID": "SPDXRef-file-7",
242
242
  "checksums": [
243
243
  {
244
244
  "algorithm": "SHA256",
245
- "checksumValue": "7e5f1f6c6f1f420b994e149d8a31e1e31e23492a881ce29b3c30307ab28f2f92"
245
+ "checksumValue": "60c0f79155c78ec0ec4ccdc77e00f4613ae4630c6697f51f884bf8f979a48593"
246
246
  }
247
247
  ],
248
248
  "licenseConcluded": "NOASSERTION",
249
249
  "copyrightText": "NOASSERTION"
250
250
  },
251
251
  {
252
- "fileName": ".//opt/vcpkg/buildtrees/versioning_/versions/gdal/ea4d3f8cb9ab32d885ac60b974421a604fdbcc87/libkml.patch",
252
+ "fileName": ".//opt/vcpkg/buildtrees/versioning_/versions/gdal/65b271a32a93a9dfa4dfd3905fcd0b5388926f81/portfile.cmake",
253
253
  "SPDXID": "SPDXRef-file-8",
254
254
  "checksums": [
255
255
  {
256
256
  "algorithm": "SHA256",
257
- "checksumValue": "fe888df8a7c9e468cdd87640c025f48f165d5264af1fa20604bd60859e6f000f"
257
+ "checksumValue": "92a0c437215b5fed404a2deb00ade3a8cfb4da00c518af38525a3194a7d89c1a"
258
258
  }
259
259
  ],
260
260
  "licenseConcluded": "NOASSERTION",
@@ -1,41 +1,41 @@
1
1
  cmake 0
2
2
  cmake-project-include.cmake 60c0f79155c78ec0ec4ccdc77e00f4613ae4630c6697f51f884bf8f979a48593
3
- curl a4bb1e391f21be499648a3a0a32ee4f36324626dbf020b1dab1415568e114f9c
4
- expat 43db435f0d4b57035659d279c4efab6723ba181e4b3e889c02ae475f2c152664
3
+ curl cb695a5d1939ee33bf9626ce32269b0bd325a12e65a585a8e8f220190aa403f1
4
+ expat 4c78265f4298c31ff2a55a28b1b5f7e3c761d5627453985a0c93fcc7f84c4054
5
5
  features core;curl;expat;geos;iconv;jpeg;lerc;png;qhull;recommended-features;sqlite3
6
- find-link-libraries.patch 9e390300ab79cf6fef1bb009416346a1f98d4946cb14c71ee4ea46217e3cb9d2
6
+ find-link-libraries.patch 043cbdd6298fce33c29d128241470b71990dc13eb63bfa44b3d82b17f5384468
7
7
  fix-gdal-target-interfaces.patch 9dbe9d5e0dbc3a21370bb3560aa32811d10cc0b19e4b6833cd7258699d206215
8
- geos fae5cee6c5728a9153bd4061827b94f15e17d8de0715a5807744de5243dcf52a
9
- json-c 37bd2eeb3a2a452c55ea356f9e7ca19735135aac3d58ad682a38430f8d15790a
10
- lerc f5be7e25c05235bbd0b77a337bbb37c155ffce559848daa40950703cd4329e74
11
- libgeotiff 75a6c040a0f84b8b359901206464a1e4a6ca1368737ff9d8a9ce01f161d171b5
12
- libiconv d34e5e762076c71d2b23a34cc749c93abc5b35bb3f5e48a633834a4e4864f917
13
- libjpeg-turbo 6ae890811d555122ecae32e9711e24e856c8293a53e7705d1d7f6d00300dc7ac
8
+ geos 90ecd11dfa9791ad093b88e37ef231aee69a63e7a2a760309f5df17bbf0d77aa
9
+ json-c 36baf58ad1286798dc933edfec5be4cc41f22ccf5890626f2e126b7a5edf8c45
10
+ lerc 3ff9859b889e95ec9d951fb80eaab21191ddf0bd31269f6d97638588c8ce4f5a
11
+ libgeotiff f3d4bdd7e469b9ba05921b70f7c7cc3e822bcf49899b9a1aa54c01e8120796f3
12
+ libiconv e0a5bfe244746c5c5a5398c811bbc2abb5be129b3d2982317c122379da47c460
13
+ libjpeg-turbo 01fbcfceb2bbec6dfa5cd5b0f8cb57c06ebc9445a30a1ce81b2fbe16ac485fce
14
14
  libkml.patch fe888df8a7c9e468cdd87640c025f48f165d5264af1fa20604bd60859e6f000f
15
- libpng d464ff2a02f4c256b2ee13af3bed74d970a9c98dcd81811c56b209d0e6a4f3de
16
- pkgconf d46a4eaebac09411a258682bd5a8f4d82a093ec5f7141af0e74965ff10fdd4db
17
- portfile.cmake 7e5f1f6c6f1f420b994e149d8a31e1e31e23492a881ce29b3c30307ab28f2f92
18
- ports.cmake 0500e9e2422fe0084c99bdd0c9de4c7069b76da14c8b58228a7e95ebac43058a
15
+ libpng c9a7ce050166374c28a45265eaa750b45c22a3a060818f74bddf8abf2144503d
16
+ pkgconf e0388b14372bfa67732dcf8d1f16ed18431cc59afb4ccd84dd36b8db5a997a54
17
+ portfile.cmake 92a0c437215b5fed404a2deb00ade3a8cfb4da00c518af38525a3194a7d89c1a
18
+ ports.cmake 3581688c16865b2026d28240d7c6257b848475ffc9fe81b3f3d304973253cf5e
19
19
  post_build_checks 2
20
- proj 2390d4ac09577aae072602ffa5778fb45348916244670786c8fb79324999d80b
21
- qhull 72af989950f0e4c141cc32f2a2e0a48bc5677b009eb59f434758c269991a47a1
22
- sqlite3 666d04f1a5112d84de49a03ad7dcaf3ab9f8e63999848b489b78c68e5e9203c6
20
+ proj b410f095d31bb162f9fa8ddd0c046646e92c848ed8fb3f7d76b01e1e8bfec8bc
21
+ qhull 8a0f552aa4a0daee5bfb027d80a1ec42f693c8ff59900e2bb043e9fb2415dbfb
22
+ sqlite3 38ed2e302afc947869e2e6a9feadf92f4118676f6e9ff3b6813376d69ea02696
23
23
  target-is-valid.patch 6a369356c57860f97bd756d3604e7219774e2bfe5c74e5e0178496fad253900f
24
- tiff 8b3b88e683e77b633f425d6bb45e77476c87b3408b705d50af225b521d37d0bd
24
+ tiff 1e5bca825c278accb4a2ec67a556f29e9e54e51ee0eca8f6cb9fa90c59841a99
25
25
  triplet arm64-linux-dynamic-release
26
- triplet_abi a2978ef94e01dd995e28fd3fc9d73a99d96cda95c172e0f1d199230f0e1bcdce-73c4f253fe835be7b4f68430dabc1102ae8e82e9ab34e9b6dbec047dc9b6447d-2ad07b68ec1acd5ddac23c4df04ffe712cc82a8d
26
+ triplet_abi a2978ef94e01dd995e28fd3fc9d73a99d96cda95c172e0f1d199230f0e1bcdce-8f20f723a25e9787363b95fcfd14b63d82b71ac3e295a73c97d09e681decb90c-beb576496a66e76502336c0e436ebdaabe8d0f8f
27
27
  usage c85584261e2011a94b86f04c3a28dd2e165c9e6b47677a9bee26a3d387bc05f2
28
- vcpkg-cmake 61a6b5861674f41494b4ebae1f315674d62a4f6f2002093c13c2750ef3b2221e
29
- vcpkg-cmake-config 67c57a7501cf304cee2b318a14b5763968eb7ae54bc621edbe4ea197119243b6
28
+ vcpkg-cmake 7cb9711415b0a62be2f6297fb548a28d18a5fe039a9101d49c2b6a6283540d2a
29
+ vcpkg-cmake-config 0df4e1080d226918b032f77e7ee0fa68f7b71a3584576e68015d5289b3e229d0
30
30
  vcpkg-cmake-wrapper.cmake c507eaa077072e9877607fd5f70381eebf19900661e2e1fd099d84c4df1b8c24
31
- vcpkg-pkgconfig-get-modules b35d518e713498c908c8577625e66d171ac4d58a2de609c6236b4b1f33a5afa9
32
- vcpkg.json 15039815ee85e9996bda2f7cb66eb87de8b544bcafba85f2518ba1b3f28c9fd5
31
+ vcpkg-pkgconfig-get-modules 048f2b1d59c716a9b954301f82708b72c0bd9e065e3e86da5576118465625676
32
+ vcpkg.json 71bb644d1501bdc16fbe5e88a45a27c478bee667cbace588c569de28778c89ff
33
33
  vcpkg_check_features 943b217e0968d64cf2cb9c272608e6a0b497377e792034f819809a79e1502c2b
34
34
  vcpkg_copy_pdbs d57e4f196c82dc562a9968c6155073094513c31e2de475694143d3aa47954b1c
35
35
  vcpkg_copy_tools 3d45ff761bddbabe8923b52330168dc3abd295fa469d3f2e47cb14dce85332d5
36
- vcpkg_fixup_pkgconfig 904e67c46ecbb67379911bc1d7222855c0cbfcf1129bf47783858bcf0cc44970
36
+ vcpkg_fixup_pkgconfig 1a15f6c6d8e2b244d83a7514a0412d339127d2217d1df60ad1388b546c85f777
37
37
  vcpkg_from_git 96ed81968f76354c00096dd8cd4e63c6a235fa969334a11ab18d11c0c512ff58
38
38
  vcpkg_from_github b743742296a114ea1b18ae99672e02f142c4eb2bef7f57d36c038bedbfb0502f
39
39
  vcpkg_install_copyright ba6c169ab4e59fa05682e530cdeb883767de22c8391f023d4e6844a7ec5dd3d2
40
- vcpkg_replace_string d43c8699ce27e25d47367c970d1c546f6bc36b6df8fb0be0c3986eb5830bd4f1
41
- zlib c95d470839a220869e15bb5c2cb5a139414ef7128ce042fb80c3a18fcfc6fd5f
40
+ vcpkg_replace_string b450deb79207478b37119743e00808ebc42de0628e7b98c14ab24728bd5c78b8
41
+ zlib d87f94c9f5a7cb9f00ad27aa903b58980ea3923eb648965bace39447be7e0f7e
pyogrio/geopandas.py CHANGED
@@ -1,24 +1,24 @@
1
+ """Functions for reading and writing GeoPandas dataframes."""
2
+
1
3
  import os
4
+ import warnings
2
5
 
3
6
  import numpy as np
4
7
 
5
8
  from pyogrio._compat import HAS_GEOPANDAS, PANDAS_GE_15, PANDAS_GE_20, PANDAS_GE_22
9
+ from pyogrio.errors import DataSourceError
6
10
  from pyogrio.raw import (
7
- DRIVERS_NO_MIXED_SINGLE_MULTI,
8
11
  DRIVERS_NO_MIXED_DIMENSIONS,
12
+ DRIVERS_NO_MIXED_SINGLE_MULTI,
13
+ _get_write_path_driver,
9
14
  read,
10
15
  read_arrow,
11
16
  write,
12
- _get_write_path_driver,
13
17
  )
14
- from pyogrio.errors import DataSourceError
15
- import warnings
16
18
 
17
19
 
18
20
  def _stringify_path(path):
19
- """
20
- Convert path-like to a string if possible, pass-through other objects
21
- """
21
+ """Convert path-like to a string if possible, pass-through other objects."""
22
22
  if isinstance(path, str):
23
23
  return path
24
24
 
@@ -34,11 +34,11 @@ def _try_parse_datetime(ser):
34
34
  import pandas as pd # only called when pandas is known to be installed
35
35
 
36
36
  if PANDAS_GE_22:
37
- datetime_kwargs = dict(format="ISO8601")
37
+ datetime_kwargs = {"format": "ISO8601"}
38
38
  elif PANDAS_GE_20:
39
- datetime_kwargs = dict(format="ISO8601", errors="ignore")
39
+ datetime_kwargs = {"format": "ISO8601", "errors": "ignore"}
40
40
  else:
41
- datetime_kwargs = dict(yearfirst=True)
41
+ datetime_kwargs = {"yearfirst": True}
42
42
  with warnings.catch_warnings():
43
43
  warnings.filterwarnings(
44
44
  "ignore",
@@ -87,10 +87,12 @@ def read_dataframe(
87
87
  sql_dialect=None,
88
88
  fid_as_index=False,
89
89
  use_arrow=None,
90
+ on_invalid="raise",
90
91
  arrow_to_pandas_kwargs=None,
91
92
  **kwargs,
92
93
  ):
93
94
  """Read from an OGR data source to a GeoPandas GeoDataFrame or Pandas DataFrame.
95
+
94
96
  If the data source does not have a geometry column or ``read_geometry`` is False,
95
97
  a DataFrame will be returned.
96
98
 
@@ -99,7 +101,7 @@ def read_dataframe(
99
101
  Parameters
100
102
  ----------
101
103
  path_or_buffer : pathlib.Path or str, or bytes buffer
102
- A dataset path or URI, or raw buffer.
104
+ A dataset path or URI, raw buffer, or file-like object with a read method.
103
105
  layer : int or str, optional (default: first layer)
104
106
  If an integer is provided, it corresponds to the index of the layer
105
107
  with the data source. If a string is provided, it must match the name
@@ -197,6 +199,17 @@ def read_dataframe(
197
199
  installed). When enabled, this provides a further speed-up.
198
200
  Defaults to False, but this default can also be globally overridden
199
201
  by setting the ``PYOGRIO_USE_ARROW=1`` environment variable.
202
+ on_invalid : str, optional (default: "raise")
203
+ The action to take when an invalid geometry is encountered. Possible
204
+ values:
205
+
206
+ - **raise**: an exception will be raised if a WKB input geometry is
207
+ invalid.
208
+ - **warn**: invalid WKB geometries will be returned as ``None`` and a
209
+ warning will be raised.
210
+ - **ignore**: invalid WKB geometries will be returned as ``None``
211
+ without a warning.
212
+
200
213
  arrow_to_pandas_kwargs : dict, optional (default: None)
201
214
  When `use_arrow` is True, these kwargs will be passed to the `to_pandas`_
202
215
  call for the arrow to pandas conversion.
@@ -228,13 +241,13 @@ def read_dataframe(
228
241
 
229
242
  https://arrow.apache.org/docs/python/generated/pyarrow.Table.html#pyarrow.Table.to_pandas
230
243
 
231
- """ # noqa: E501
244
+ """
232
245
  if not HAS_GEOPANDAS:
233
246
  raise ImportError("geopandas is required to use pyogrio.read_dataframe()")
234
247
 
235
- import pandas as pd
236
248
  import geopandas as gp
237
- from geopandas.array import from_wkb
249
+ import pandas as pd
250
+
238
251
  import shapely # if geopandas is present, shapely is expected to be present
239
252
 
240
253
  path_or_buffer = _stringify_path(path_or_buffer)
@@ -292,10 +305,10 @@ def read_dataframe(
292
305
  if PANDAS_GE_15 and wkb_values.dtype != object:
293
306
  # for example ArrowDtype will otherwise create numpy array with pd.NA
294
307
  wkb_values = wkb_values.to_numpy(na_value=None)
295
- df["geometry"] = from_wkb(wkb_values, crs=meta["crs"])
308
+ df["geometry"] = shapely.from_wkb(wkb_values, on_invalid=on_invalid)
296
309
  if force_2d:
297
310
  df["geometry"] = shapely.force_2d(df["geometry"])
298
- return gp.GeoDataFrame(df, geometry="geometry")
311
+ return gp.GeoDataFrame(df, geometry="geometry", crs=meta["crs"])
299
312
  else:
300
313
  return df
301
314
 
@@ -315,9 +328,9 @@ def read_dataframe(
315
328
  if geometry is None or not read_geometry:
316
329
  return df
317
330
 
318
- geometry = from_wkb(geometry, crs=meta["crs"])
331
+ geometry = shapely.from_wkb(geometry, on_invalid=on_invalid)
319
332
 
320
- return gp.GeoDataFrame(df, geometry=geometry)
333
+ return gp.GeoDataFrame(df, geometry=geometry, crs=meta["crs"])
321
334
 
322
335
 
323
336
  # TODO: handle index properly
@@ -339,8 +352,7 @@ def write_dataframe(
339
352
  layer_options=None,
340
353
  **kwargs,
341
354
  ):
342
- """
343
- Write GeoPandas GeoDataFrame to an OGR file format.
355
+ """Write GeoPandas GeoDataFrame to an OGR file format.
344
356
 
345
357
  Parameters
346
358
  ----------
@@ -351,7 +363,8 @@ def write_dataframe(
351
363
  in the output file.
352
364
  path : str or io.BytesIO
353
365
  path to output file on writeable file system or an io.BytesIO object to
354
- allow writing to memory
366
+ allow writing to memory. Will raise NotImplementedError if an open file
367
+ handle is passed; use BytesIO instead.
355
368
  NOTE: support for writing to memory is limited to specific drivers.
356
369
  layer : str, optional (default: None)
357
370
  layer name to create. If writing to memory and layer name is not
@@ -429,15 +442,15 @@ def write_dataframe(
429
442
  explicit `dataset_options` or `layer_options` keywords to manually
430
443
  do this (for example if an option exists as both dataset and layer
431
444
  option).
445
+
432
446
  """
433
447
  # TODO: add examples to the docstring (e.g. OGR kwargs)
434
448
 
435
449
  if not HAS_GEOPANDAS:
436
450
  raise ImportError("geopandas is required to use pyogrio.write_dataframe()")
437
451
 
438
- from geopandas.array import to_wkb
439
452
  import pandas as pd
440
- from pyproj.enums import WktVersion # if geopandas is available so is pyproj
453
+ from geopandas.array import to_wkb
441
454
 
442
455
  if not isinstance(df, pd.DataFrame):
443
456
  raise ValueError("'df' must be a DataFrame or GeoDataFrame")
@@ -486,7 +499,7 @@ def write_dataframe(
486
499
  else:
487
500
  values = col.values
488
501
  if isinstance(values, pd.api.extensions.ExtensionArray):
489
- from pandas.arrays import IntegerArray, FloatingArray, BooleanArray
502
+ from pandas.arrays import BooleanArray, FloatingArray, IntegerArray
490
503
 
491
504
  if isinstance(values, (IntegerArray, FloatingArray, BooleanArray)):
492
505
  field_data.append(values._data)
@@ -511,7 +524,10 @@ def write_dataframe(
511
524
  # If there is data, infer layer geometry type + promote_to_multi
512
525
  if not df.empty:
513
526
  # None/Empty geometries sometimes report as Z incorrectly, so ignore them
514
- has_z_arr = geometry[geometry.notna() & (~geometry.is_empty)].has_z
527
+ with warnings.catch_warnings():
528
+ warnings.filterwarnings("ignore", r"GeoSeries\.notna", UserWarning)
529
+ geometry_notna = geometry.notna()
530
+ has_z_arr = geometry[geometry_notna & (~geometry.is_empty)].has_z
515
531
  has_z = has_z_arr.any()
516
532
  all_z = has_z_arr.all()
517
533
 
@@ -564,12 +580,13 @@ def write_dataframe(
564
580
  # if possible use EPSG codes instead
565
581
  epsg = geometry.crs.to_epsg()
566
582
  if epsg:
567
- crs = f"EPSG:{epsg}" # noqa: E231
583
+ crs = f"EPSG:{epsg}"
568
584
  else:
569
- crs = geometry.crs.to_wkt(WktVersion.WKT1_GDAL)
585
+ crs = geometry.crs.to_wkt("WKT1_GDAL")
570
586
 
571
587
  if use_arrow:
572
588
  import pyarrow as pa
589
+
573
590
  from pyogrio.raw import write_arrow
574
591
 
575
592
  if geometry_column is not None:
@@ -1,9 +1,9 @@
1
1
  # Version checking for PROJ
2
2
 
3
- set (PACKAGE_VERSION "9.4.0")
3
+ set (PACKAGE_VERSION "9.4.1")
4
4
  set (PACKAGE_VERSION_MAJOR "9")
5
5
  set (PACKAGE_VERSION_MINOR "4")
6
- set (PACKAGE_VERSION_PATCH "0")
6
+ set (PACKAGE_VERSION_PATCH "1")
7
7
 
8
8
  # These variable definitions parallel those in PROJ's
9
9
  # cmake/CMakeLists.txt.
@@ -7,7 +7,7 @@ if(CMAKE_VERSION VERSION_LESS "2.8.12")
7
7
  message(FATAL_ERROR "CMake >= 2.8.12 required")
8
8
  endif()
9
9
  cmake_policy(PUSH)
10
- cmake_policy(VERSION 2.8.12...3.27)
10
+ cmake_policy(VERSION 2.8.12...3.28)
11
11
  #----------------------------------------------------------------
12
12
  # Generated CMake target import file.
13
13
  #----------------------------------------------------------------
pyogrio/proj_data/proj.db CHANGED
Binary file