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.
- {GDAL-3.8.5/gdal-utils/GDAL.egg-info → GDAL-3.9.0}/PKG-INFO +61 -16
- GDAL-3.8.5/PKG-INFO → GDAL-3.9.0/README.rst +50 -36
- {GDAL-3.8.5 → GDAL-3.9.0}/extensions/gdal_array_wrap.cpp +0 -11
- {GDAL-3.8.5 → GDAL-3.9.0}/extensions/gdal_wrap.cpp +11116 -7877
- {GDAL-3.8.5 → GDAL-3.9.0}/extensions/ogr_wrap.cpp +2786 -1274
- {GDAL-3.8.5 → GDAL-3.9.0}/extensions/osr_wrap.cpp +1473 -60
- GDAL-3.8.5/README.rst → GDAL-3.9.0/gdal-utils/GDAL.egg-info/PKG-INFO +81 -11
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/GDAL.egg-info/SOURCES.txt +3 -1
- GDAL-3.9.0/gdal-utils/GDAL.egg-info/entry_points.txt +19 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/__init__.py +1 -1
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/auxiliary/gdal_argparse.py +6 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/auxiliary/util.py +11 -2
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/gdal2tiles.py +179 -23
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/gdal2xyz.py +1 -1
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/gdal_edit.py +35 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/gdal_fillnodata.py +12 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/gdal_polygonize.py +3 -0
- GDAL-3.9.0/gdal-utils/osgeo_utils/samples/gdalbuildvrtofvrt.py +317 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/validate_geoparquet.py +113 -3
- {GDAL-3.8.5 → GDAL-3.9.0}/osgeo/gdal.py +3455 -562
- {GDAL-3.8.5 → GDAL-3.9.0}/osgeo/ogr.py +1456 -1090
- {GDAL-3.8.5 → GDAL-3.9.0}/osgeo/osr.py +1134 -56
- GDAL-3.9.0/pyproject.toml +45 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/setup.py +71 -9
- GDAL-3.8.5/gdal-utils/osgeo_utils/samples/ogr2ogr.py +0 -1920
- {GDAL-3.8.5 → GDAL-3.9.0}/extensions/gdalconst_wrap.c +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/extensions/gnm_wrap.cpp +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/GDAL.egg-info/dependency_links.txt +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/GDAL.egg-info/not-zip-safe +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/GDAL.egg-info/requires.txt +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/GDAL.egg-info/top_level.txt +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/auxiliary/__init__.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/auxiliary/array_util.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/auxiliary/base.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/auxiliary/batch_creator.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/auxiliary/color_palette.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/auxiliary/color_table.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/auxiliary/extent_util.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/auxiliary/numpy_util.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/auxiliary/osr_util.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/auxiliary/progress.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/auxiliary/raster_creation.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/auxiliary/rectangle.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/gdal_calc.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/gdal_merge.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/gdal_pansharpen.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/gdal_proximity.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/gdal_retile.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/gdal_sieve.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/gdalattachpct.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/gdalcompare.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/gdalmove.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/ogr_layer_algebra.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/ogrmerge.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/pct2rgb.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/rgb2pct.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/__init__.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/assemblepoly.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/build_jp2_from_xml.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/classify.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/crs2crs2grid.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/densify.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/dump_jp2.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/epsg_tr.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/esri2wkt.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/fft.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/fix_gpkg.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gcps2ogr.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gcps2vec.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gcps2wld.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gdal2grd.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gdal_auth.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gdal_cp.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gdal_create_pdf.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gdal_ls.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gdal_lut.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gdal_mkdir.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gdal_remove_towgs84.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gdal_rm.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gdal_rmdir.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gdal_vrtmerge.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gdalchksum.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gdalcopyproj.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gdalfilter.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gdalident.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gdalimport.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gdalinfo.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/gdallocationinfo.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/get_soundg.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/histrep.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/hsv_merge.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/jpeg_in_tiff_extract.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/load2odbc.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/loslas2ntv2.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/magphase.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/make_fuzzer_friendly_archive.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/mkgraticule.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/ogr2vrt.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/ogr_build_junction_table.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/ogr_dispatch.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/ogrinfo.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/ogrupdate.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/rel.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/tigerpoly.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/tile_extent_from_raster.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/tolatlong.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/val_repl.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/validate_cloud_optimized_geotiff.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/validate_gpkg.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/validate_jp2.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/vec_tr.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/vec_tr_spat.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/osgeo_utils/samples/wcs_virtds_params.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/scripts/gdal2tiles.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/scripts/gdal2xyz.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/scripts/gdal_calc.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/scripts/gdal_edit.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/scripts/gdal_fillnodata.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/scripts/gdal_merge.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/scripts/gdal_pansharpen.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/scripts/gdal_polygonize.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/scripts/gdal_proximity.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/scripts/gdal_retile.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/scripts/gdal_sieve.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/scripts/gdalattachpct.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/scripts/gdalcompare.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/scripts/gdalmove.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/scripts/ogr_layer_algebra.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/scripts/ogrmerge.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/scripts/pct2rgb.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/gdal-utils/scripts/rgb2pct.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/osgeo/__init__.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/osgeo/gdal_array.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/osgeo/gdalconst.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/osgeo/gdalnumeric.py +0 -0
- {GDAL-3.8.5 → GDAL-3.9.0}/osgeo/gnm.py +0 -0
- {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.
|
|
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:
|
|
9
|
-
Maintainer-email:
|
|
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.
|
|
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.
|
|
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
|
|
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
|
-
|
|
99
|
+
If this command raises an ImportError, numpy-based raster support has not been properly installed:
|
|
83
100
|
|
|
84
101
|
::
|
|
85
102
|
|
|
86
|
-
|
|
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.
|
|
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
|
|
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
|
-
|
|
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
|