GDAL 3.8.5__tar.gz → 3.9.0__tar.gz

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.
Files changed (137) hide show
  1. {GDAL-3.8.5/gdal-utils/GDAL.egg-info → GDAL-3.9.0}/PKG-INFO +61 -16
  2. GDAL-3.8.5/PKG-INFO → GDAL-3.9.0/README.rst +50 -36
  3. {GDAL-3.8.5 → GDAL-3.9.0}/extensions/gdal_array_wrap.cpp +0 -11
  4. {GDAL-3.8.5 → GDAL-3.9.0}/extensions/gdal_wrap.cpp +11116 -7877
  5. {GDAL-3.8.5 → GDAL-3.9.0}/extensions/ogr_wrap.cpp +2786 -1274
  6. {GDAL-3.8.5 → GDAL-3.9.0}/extensions/osr_wrap.cpp +1473 -60
  7. GDAL-3.8.5/README.rst → GDAL-3.9.0/gdal-utils/GDAL.egg-info/PKG-INFO +81 -11
  8. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/GDAL.egg-info/SOURCES.txt +3 -1
  9. GDAL-3.9.0/gdal-utils/GDAL.egg-info/entry_points.txt +19 -0
  10. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/__init__.py +1 -1
  11. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/auxiliary/gdal_argparse.py +6 -0
  12. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/auxiliary/util.py +11 -2
  13. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/gdal2tiles.py +179 -23
  14. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/gdal2xyz.py +1 -1
  15. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/gdal_edit.py +35 -0
  16. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/gdal_fillnodata.py +12 -0
  17. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/gdal_polygonize.py +3 -0
  18. GDAL-3.9.0/gdal-utils/osgeo_utils/samples/gdalbuildvrtofvrt.py +317 -0
  19. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/validate_geoparquet.py +113 -3
  20. {GDAL-3.8.5 → GDAL-3.9.0}/osgeo/gdal.py +3455 -562
  21. {GDAL-3.8.5 → GDAL-3.9.0}/osgeo/ogr.py +1456 -1090
  22. {GDAL-3.8.5 → GDAL-3.9.0}/osgeo/osr.py +1134 -56
  23. GDAL-3.9.0/pyproject.toml +45 -0
  24. {GDAL-3.8.5 → GDAL-3.9.0}/setup.py +71 -9
  25. GDAL-3.8.5/gdal-utils/osgeo_utils/samples/ogr2ogr.py +0 -1920
  26. {GDAL-3.8.5 → GDAL-3.9.0}/extensions/gdalconst_wrap.c +0 -0
  27. {GDAL-3.8.5 → GDAL-3.9.0}/extensions/gnm_wrap.cpp +0 -0
  28. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/GDAL.egg-info/dependency_links.txt +0 -0
  29. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/GDAL.egg-info/not-zip-safe +0 -0
  30. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/GDAL.egg-info/requires.txt +0 -0
  31. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/GDAL.egg-info/top_level.txt +0 -0
  32. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/auxiliary/__init__.py +0 -0
  33. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/auxiliary/array_util.py +0 -0
  34. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/auxiliary/base.py +0 -0
  35. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/auxiliary/batch_creator.py +0 -0
  36. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/auxiliary/color_palette.py +0 -0
  37. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/auxiliary/color_table.py +0 -0
  38. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/auxiliary/extent_util.py +0 -0
  39. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/auxiliary/numpy_util.py +0 -0
  40. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/auxiliary/osr_util.py +0 -0
  41. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/auxiliary/progress.py +0 -0
  42. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/auxiliary/raster_creation.py +0 -0
  43. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/auxiliary/rectangle.py +0 -0
  44. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/gdal_calc.py +0 -0
  45. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/gdal_merge.py +0 -0
  46. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/gdal_pansharpen.py +0 -0
  47. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/gdal_proximity.py +0 -0
  48. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/gdal_retile.py +0 -0
  49. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/gdal_sieve.py +0 -0
  50. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/gdalattachpct.py +0 -0
  51. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/gdalcompare.py +0 -0
  52. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/gdalmove.py +0 -0
  53. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/ogr_layer_algebra.py +0 -0
  54. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/ogrmerge.py +0 -0
  55. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/pct2rgb.py +0 -0
  56. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/rgb2pct.py +0 -0
  57. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/__init__.py +0 -0
  58. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/assemblepoly.py +0 -0
  59. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/build_jp2_from_xml.py +0 -0
  60. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/classify.py +0 -0
  61. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/crs2crs2grid.py +0 -0
  62. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/densify.py +0 -0
  63. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/dump_jp2.py +0 -0
  64. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/epsg_tr.py +0 -0
  65. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/esri2wkt.py +0 -0
  66. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/fft.py +0 -0
  67. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/fix_gpkg.py +0 -0
  68. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gcps2ogr.py +0 -0
  69. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gcps2vec.py +0 -0
  70. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gcps2wld.py +0 -0
  71. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gdal2grd.py +0 -0
  72. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gdal_auth.py +0 -0
  73. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gdal_cp.py +0 -0
  74. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gdal_create_pdf.py +0 -0
  75. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gdal_ls.py +0 -0
  76. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gdal_lut.py +0 -0
  77. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gdal_mkdir.py +0 -0
  78. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gdal_remove_towgs84.py +0 -0
  79. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gdal_rm.py +0 -0
  80. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gdal_rmdir.py +0 -0
  81. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gdal_vrtmerge.py +0 -0
  82. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gdalchksum.py +0 -0
  83. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gdalcopyproj.py +0 -0
  84. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gdalfilter.py +0 -0
  85. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gdalident.py +0 -0
  86. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gdalimport.py +0 -0
  87. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gdalinfo.py +0 -0
  88. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gdallocationinfo.py +0 -0
  89. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/get_soundg.py +0 -0
  90. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/histrep.py +0 -0
  91. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/hsv_merge.py +0 -0
  92. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/jpeg_in_tiff_extract.py +0 -0
  93. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/load2odbc.py +0 -0
  94. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/loslas2ntv2.py +0 -0
  95. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/magphase.py +0 -0
  96. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/make_fuzzer_friendly_archive.py +0 -0
  97. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/mkgraticule.py +0 -0
  98. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/ogr2vrt.py +0 -0
  99. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/ogr_build_junction_table.py +0 -0
  100. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/ogr_dispatch.py +0 -0
  101. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/ogrinfo.py +0 -0
  102. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/ogrupdate.py +0 -0
  103. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/rel.py +0 -0
  104. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/tigerpoly.py +0 -0
  105. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/tile_extent_from_raster.py +0 -0
  106. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/tolatlong.py +0 -0
  107. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/val_repl.py +0 -0
  108. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/validate_cloud_optimized_geotiff.py +0 -0
  109. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/validate_gpkg.py +0 -0
  110. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/validate_jp2.py +0 -0
  111. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/vec_tr.py +0 -0
  112. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/vec_tr_spat.py +0 -0
  113. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/wcs_virtds_params.py +0 -0
  114. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/scripts/gdal2tiles.py +0 -0
  115. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/scripts/gdal2xyz.py +0 -0
  116. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/scripts/gdal_calc.py +0 -0
  117. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/scripts/gdal_edit.py +0 -0
  118. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/scripts/gdal_fillnodata.py +0 -0
  119. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/scripts/gdal_merge.py +0 -0
  120. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/scripts/gdal_pansharpen.py +0 -0
  121. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/scripts/gdal_polygonize.py +0 -0
  122. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/scripts/gdal_proximity.py +0 -0
  123. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/scripts/gdal_retile.py +0 -0
  124. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/scripts/gdal_sieve.py +0 -0
  125. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/scripts/gdalattachpct.py +0 -0
  126. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/scripts/gdalcompare.py +0 -0
  127. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/scripts/gdalmove.py +0 -0
  128. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/scripts/ogr_layer_algebra.py +0 -0
  129. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/scripts/ogrmerge.py +0 -0
  130. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/scripts/pct2rgb.py +0 -0
  131. {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/scripts/rgb2pct.py +0 -0
  132. {GDAL-3.8.5 → GDAL-3.9.0}/osgeo/__init__.py +0 -0
  133. {GDAL-3.8.5 → GDAL-3.9.0}/osgeo/gdal_array.py +0 -0
  134. {GDAL-3.8.5 → GDAL-3.9.0}/osgeo/gdalconst.py +0 -0
  135. {GDAL-3.8.5 → GDAL-3.9.0}/osgeo/gdalnumeric.py +0 -0
  136. {GDAL-3.8.5 → GDAL-3.9.0}/osgeo/gnm.py +0 -0
  137. {GDAL-3.8.5 → GDAL-3.9.0}/setup.cfg +0 -0
@@ -1,13 +1,19 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: GDAL
3
- Version: 3.8.5
3
+ Version: 3.9.0
4
4
  Summary: GDAL: Geospatial Data Abstraction Library
5
5
  Home-page: http://www.gdal.org
6
- Author: Frank Warmerdam
6
+ Author: Frank Warmerdam, Howard Butler, Even Rouault
7
7
  Author-email: warmerdam@pobox.com
8
- Maintainer: Howard Butler
9
- Maintainer-email: hobu.inc@gmail.com
8
+ Maintainer: GDAL contributors
9
+ Maintainer-email: GDAL contributors <gdal-dev@lists.osgeo.org>
10
10
  License: MIT
11
+ Project-URL: Homepage, https://gdal.org
12
+ Project-URL: Documentation, https://gdal.org
13
+ Project-URL: Repository, https://github.com/OSGeo/GDAL.git
14
+ Project-URL: Changelog, https://github.com/OSGeo/gdal/blob/master/NEWS.md
15
+ Project-URL: Issues, https://github.com/OSGeo/gdal/issues
16
+ Keywords: gis,raster,vector
11
17
  Classifier: Development Status :: 5 - Production/Stable
12
18
  Classifier: Intended Audience :: Developers
13
19
  Classifier: Intended Audience :: Science/Research
@@ -18,7 +24,7 @@ Classifier: Programming Language :: C
18
24
  Classifier: Programming Language :: C++
19
25
  Classifier: Topic :: Scientific/Engineering :: GIS
20
26
  Classifier: Topic :: Scientific/Engineering :: Information Analysis
21
- Requires-Python: >=3.6.0
27
+ Requires-Python: >=3.8.0
22
28
  Description-Content-Type: text/x-rst
23
29
  Provides-Extra: numpy
24
30
  Requires-Dist: numpy>1.0.0; extra == "numpy"
@@ -38,7 +44,7 @@ reference documentation, but the https://gdal.org/api/python_bindings.html#tutor
38
44
  Dependencies
39
45
  ------------
40
46
 
41
- * libgdal (3.8.5 or greater) and header files (gdal-devel)
47
+ * libgdal (3.9.0 or greater) and header files (gdal-devel)
42
48
  * numpy (1.0.0 or greater) and header files (numpy-devel) (not explicitly
43
49
  required, but many examples and utilities will not work without it)
44
50
 
@@ -61,29 +67,68 @@ Once you have Anaconda or Miniconda installed, you should be able to install GDA
61
67
 
62
68
  ``conda install -c conda-forge gdal``
63
69
 
64
- Unix
65
- ~~~~
66
-
67
- The GDAL Python bindings requires setuptools.
68
70
 
69
71
  pip
70
72
  ~~~
71
73
 
74
+ Due to the complex nature of GDAL and its components, different bindings may require additional packages and installation steps.
72
75
  GDAL can be installed from the `Python Package Index <https://pypi.org/project/GDAL>`__:
73
76
 
74
77
  ::
75
78
 
76
- pip install GDAL
79
+ pip install gdal
80
+
81
+
82
+ In order to enable numpy-based raster support, libgdal and its development headers must be installed as well as the Python packages numpy, setuptools, and wheel.
83
+ To install the Python dependencies and build numpy-based raster support:
84
+
85
+
86
+ ::
87
+
88
+ pip install numpy>1.0.0 wheel setuptools>=67
89
+ pip install gdal[numpy]=="$(gdal-config --version).*"
90
+
91
+
92
+ Users can verify that numpy-based raster support has been installed with:
93
+
94
+ ::
95
+
96
+ python3 -c 'from osgeo import gdal_array'
77
97
 
78
- It will be necessary to have libgdal and its development headers installed
79
- if pip is expected to do a source build because no wheel is available
80
- for your specified platform and Python version.
81
98
 
82
- To install the version of the Python bindings matching your native GDAL library:
99
+ If this command raises an ImportError, numpy-based raster support has not been properly installed:
83
100
 
84
101
  ::
85
102
 
86
- pip install GDAL=="$(gdal-config --version).*"
103
+ Traceback (most recent call last):
104
+ File "<string>", line 1, in <module>
105
+ File "/usr/local/lib/python3.12/dist-packages/osgeo/gdal_array.py", line 10, in <module>
106
+ from . import _gdal_array
107
+ ImportError: cannot import name '_gdal_array' from 'osgeo' (/usr/local/lib/python3.12/dist-packages/osgeo/__init__.py)
108
+
109
+
110
+ This is most often due to pip reusing a cached GDAL installation.
111
+ Verify that the necessary dependencies have been installed and then run the following to force a clean build:
112
+
113
+ ::
114
+ pip install --no-cache --force-reinstall gdal[numpy]=="$(gdal-config --version).*"
115
+
116
+
117
+ Potential issues with GDAL >= 3.9, Python >= 3.9 and NumPy 2.0
118
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
119
+
120
+ The pyproject.toml file of GDAL 3.9 requires numpy >= 2.0.0rc1 (for Python >= 3.9)
121
+ at build time to be able to build bindings that are compatible of both NumPy 1
122
+ and NumPy 2.
123
+ If for some reason the numpy >= 2.0.0rc1 build dependency can not be installed,
124
+ it is possible to manually install the build requirements, and invoke ``pip install``
125
+ with the ``--no-build-isolation`` flag.
126
+
127
+ ::
128
+
129
+ pip install numpy==<required_version> wheel setuptools>=67
130
+ pip install gdal[numpy]=="$(gdal-config --version).*" --no-build-isolation
131
+
87
132
 
88
133
  Building as part of the GDAL library source tree
89
134
  ------------------------------------------------
@@ -1,28 +1,3 @@
1
- Metadata-Version: 2.1
2
- Name: GDAL
3
- Version: 3.8.5
4
- Summary: GDAL: Geospatial Data Abstraction Library
5
- Home-page: http://www.gdal.org
6
- Author: Frank Warmerdam
7
- Author-email: warmerdam@pobox.com
8
- Maintainer: Howard Butler
9
- Maintainer-email: hobu.inc@gmail.com
10
- License: MIT
11
- Classifier: Development Status :: 5 - Production/Stable
12
- Classifier: Intended Audience :: Developers
13
- Classifier: Intended Audience :: Science/Research
14
- Classifier: License :: OSI Approved :: MIT License
15
- Classifier: Operating System :: OS Independent
16
- Classifier: Programming Language :: Python :: 3
17
- Classifier: Programming Language :: C
18
- Classifier: Programming Language :: C++
19
- Classifier: Topic :: Scientific/Engineering :: GIS
20
- Classifier: Topic :: Scientific/Engineering :: Information Analysis
21
- Requires-Python: >=3.6.0
22
- Description-Content-Type: text/x-rst
23
- Provides-Extra: numpy
24
- Requires-Dist: numpy>1.0.0; extra == "numpy"
25
-
26
1
 
27
2
  GDAL/OGR in Python
28
3
  ==================
@@ -38,7 +13,7 @@ reference documentation, but the https://gdal.org/api/python_bindings.html#tutor
38
13
  Dependencies
39
14
  ------------
40
15
 
41
- * libgdal (3.8.5 or greater) and header files (gdal-devel)
16
+ * libgdal (3.9.0 or greater) and header files (gdal-devel)
42
17
  * numpy (1.0.0 or greater) and header files (numpy-devel) (not explicitly
43
18
  required, but many examples and utilities will not work without it)
44
19
 
@@ -61,29 +36,68 @@ Once you have Anaconda or Miniconda installed, you should be able to install GDA
61
36
 
62
37
  ``conda install -c conda-forge gdal``
63
38
 
64
- Unix
65
- ~~~~
66
-
67
- The GDAL Python bindings requires setuptools.
68
39
 
69
40
  pip
70
41
  ~~~
71
42
 
43
+ Due to the complex nature of GDAL and its components, different bindings may require additional packages and installation steps.
72
44
  GDAL can be installed from the `Python Package Index <https://pypi.org/project/GDAL>`__:
73
45
 
74
46
  ::
75
47
 
76
- pip install GDAL
48
+ pip install gdal
49
+
50
+
51
+ In order to enable numpy-based raster support, libgdal and its development headers must be installed as well as the Python packages numpy, setuptools, and wheel.
52
+ To install the Python dependencies and build numpy-based raster support:
53
+
54
+
55
+ ::
56
+
57
+ pip install numpy>1.0.0 wheel setuptools>=67
58
+ pip install gdal[numpy]=="$(gdal-config --version).*"
59
+
60
+
61
+ Users can verify that numpy-based raster support has been installed with:
62
+
63
+ ::
64
+
65
+ python3 -c 'from osgeo import gdal_array'
66
+
67
+
68
+ If this command raises an ImportError, numpy-based raster support has not been properly installed:
69
+
70
+ ::
71
+
72
+ Traceback (most recent call last):
73
+ File "<string>", line 1, in <module>
74
+ File "/usr/local/lib/python3.12/dist-packages/osgeo/gdal_array.py", line 10, in <module>
75
+ from . import _gdal_array
76
+ ImportError: cannot import name '_gdal_array' from 'osgeo' (/usr/local/lib/python3.12/dist-packages/osgeo/__init__.py)
77
77
 
78
- It will be necessary to have libgdal and its development headers installed
79
- if pip is expected to do a source build because no wheel is available
80
- for your specified platform and Python version.
81
78
 
82
- To install the version of the Python bindings matching your native GDAL library:
79
+ This is most often due to pip reusing a cached GDAL installation.
80
+ Verify that the necessary dependencies have been installed and then run the following to force a clean build:
83
81
 
84
82
  ::
83
+ pip install --no-cache --force-reinstall gdal[numpy]=="$(gdal-config --version).*"
84
+
85
+
86
+ Potential issues with GDAL >= 3.9, Python >= 3.9 and NumPy 2.0
87
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
88
+
89
+ The pyproject.toml file of GDAL 3.9 requires numpy >= 2.0.0rc1 (for Python >= 3.9)
90
+ at build time to be able to build bindings that are compatible of both NumPy 1
91
+ and NumPy 2.
92
+ If for some reason the numpy >= 2.0.0rc1 build dependency can not be installed,
93
+ it is possible to manually install the build requirements, and invoke ``pip install``
94
+ with the ``--no-build-isolation`` flag.
95
+
96
+ ::
97
+
98
+ pip install numpy==<required_version> wheel setuptools>=67
99
+ pip install gdal[numpy]=="$(gdal-config --version).*" --no-build-isolation
85
100
 
86
- pip install GDAL=="$(gdal-config --version).*"
87
101
 
88
102
  Building as part of the GDAL library source tree
89
103
  ------------------------------------------------
@@ -3153,17 +3153,6 @@ namespace swig {
3153
3153
  }
3154
3154
 
3155
3155
 
3156
- // Define this unconditionally of whether DEBUG_BOOL is defined or not,
3157
- // since we do not pass -DDEBUG_BOOL when building the bindings
3158
- #define DO_NOT_USE_DEBUG_BOOL
3159
-
3160
- // So that override is properly defined
3161
- #ifndef GDAL_COMPILATION
3162
- #define GDAL_COMPILATION
3163
- #endif
3164
-
3165
-
3166
-
3167
3156
  #include "gdal.h"
3168
3157
 
3169
3158
  typedef struct