GDAL 3.11.4__tar.gz → 3.12.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.11.4 → gdal-3.12.0}/PKG-INFO +22 -18
- {gdal-3.11.4 → gdal-3.12.0}/README.rst +21 -17
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/GDAL.egg-info/PKG-INFO +22 -18
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/GDAL.egg-info/SOURCES.txt +1 -21
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/__init__.py +1 -1
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/auxiliary/gdal_argparse.py +0 -4
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/gdal2tiles.py +61 -41
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/gdal_polygonize.py +1 -1
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/gdalcompare.py +2 -2
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/gdalmove.py +1 -1
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/ogrmerge.py +1 -1
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/gdal_remove_towgs84.py +0 -5
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/gdalinfo.py +0 -5
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/ogrinfo.py +0 -5
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/validate_cloud_optimized_geotiff.py +0 -3
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/validate_geoparquet.py +14 -15
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/validate_gpkg.py +1 -1
- {gdal-3.11.4 → gdal-3.12.0}/setup.py +4 -4
- gdal-3.11.4/extensions/gdal_array_wrap.cpp +0 -8724
- gdal-3.11.4/extensions/gdal_wrap.cpp +0 -67382
- gdal-3.11.4/extensions/gdalconst_wrap.c +0 -4052
- gdal-3.11.4/extensions/gnm_wrap.cpp +0 -7293
- gdal-3.11.4/extensions/ogr_wrap.cpp +0 -41876
- gdal-3.11.4/extensions/osr_wrap.cpp +0 -22798
- gdal-3.11.4/gdal-utils/osgeo_utils/samples/gdal2grd.py +0 -151
- gdal-3.11.4/gdal-utils/osgeo_utils/samples/gdal_cp.py +0 -246
- gdal-3.11.4/gdal-utils/osgeo_utils/samples/gdal_ls.py +0 -279
- gdal-3.11.4/gdal-utils/osgeo_utils/samples/gdal_vrtmerge.py +0 -367
- gdal-3.11.4/gdal-utils/osgeo_utils/samples/hsv_merge.py +0 -235
- gdal-3.11.4/osgeo/__init__.py +0 -109
- gdal-3.11.4/osgeo/gdal.py +0 -11047
- gdal-3.11.4/osgeo/gdal_array.py +0 -912
- gdal-3.11.4/osgeo/gdal_fsspec.py +0 -236
- gdal-3.11.4/osgeo/gdalconst.py +0 -324
- gdal-3.11.4/osgeo/gdalnumeric.py +0 -7
- gdal-3.11.4/osgeo/gnm.py +0 -410
- gdal-3.11.4/osgeo/ogr.py +0 -7446
- gdal-3.11.4/osgeo/osr.py +0 -2473
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/GDAL.egg-info/dependency_links.txt +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/GDAL.egg-info/entry_points.txt +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/GDAL.egg-info/not-zip-safe +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/GDAL.egg-info/requires.txt +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/GDAL.egg-info/top_level.txt +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/auxiliary/__init__.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/auxiliary/array_util.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/auxiliary/base.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/auxiliary/batch_creator.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/auxiliary/color_palette.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/auxiliary/color_table.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/auxiliary/extent_util.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/auxiliary/numpy_util.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/auxiliary/osr_util.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/auxiliary/progress.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/auxiliary/raster_creation.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/auxiliary/rectangle.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/auxiliary/util.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/gdal2xyz.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/gdal_calc.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/gdal_edit.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/gdal_fillnodata.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/gdal_merge.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/gdal_pansharpen.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/gdal_proximity.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/gdal_retile.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/gdal_sieve.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/gdalattachpct.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/ogr_layer_algebra.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/pct2rgb.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/rgb2pct.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/__init__.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/assemblepoly.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/build_jp2_from_xml.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/classify.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/crs2crs2grid.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/densify.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/dump_jp2.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/epsg_tr.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/esri2wkt.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/fft.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/fix_gpkg.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/gcps2ogr.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/gcps2vec.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/gcps2wld.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/gdal_auth.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/gdal_create_pdf.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/gdal_lut.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/gdal_minmax_location.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/gdal_mkdir.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/gdal_rm.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/gdal_rmdir.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/gdalbuildvrtofvrt.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/gdalchksum.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/gdalcopyproj.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/gdalfilter.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/gdalident.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/gdalimport.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/gdallocationinfo.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/get_soundg.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/histrep.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/jpeg_in_tiff_extract.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/load2odbc.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/loslas2ntv2.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/magphase.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/make_fuzzer_friendly_archive.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/mkgraticule.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/ogr2vrt.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/ogr_build_junction_table.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/ogr_dispatch.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/ogrupdate.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/rel.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/tigerpoly.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/tile_extent_from_raster.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/tolatlong.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/val_repl.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/validate_jp2.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/vec_tr.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/vec_tr_spat.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/osgeo_utils/samples/wcs_virtds_params.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/scripts/gdal2tiles.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/scripts/gdal2xyz.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/scripts/gdal_calc.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/scripts/gdal_edit.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/scripts/gdal_fillnodata.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/scripts/gdal_merge.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/scripts/gdal_pansharpen.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/scripts/gdal_polygonize.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/scripts/gdal_proximity.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/scripts/gdal_retile.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/scripts/gdal_sieve.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/scripts/gdalattachpct.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/scripts/gdalcompare.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/scripts/gdalmove.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/scripts/ogr_layer_algebra.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/scripts/ogrmerge.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/scripts/pct2rgb.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/gdal-utils/scripts/rgb2pct.py +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/pyproject.toml +0 -0
- {gdal-3.11.4 → gdal-3.12.0}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: GDAL
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.12.0
|
|
4
4
|
Summary: GDAL: Geospatial Data Abstraction Library
|
|
5
5
|
Home-page: http://www.gdal.org
|
|
6
6
|
Author: Frank Warmerdam, Howard Butler, Even Rouault
|
|
@@ -39,8 +39,10 @@ GDAL/OGR in Python
|
|
|
39
39
|
This Python package and extensions are a number of tools for programming and
|
|
40
40
|
manipulating the GDAL_ Geospatial Data Abstraction Library.
|
|
41
41
|
Generally speaking the classes and methods mostly
|
|
42
|
-
match those of the GDAL and OGR C++ classes.
|
|
43
|
-
|
|
42
|
+
match those of the GDAL and OGR C++ classes.
|
|
43
|
+
|
|
44
|
+
A basic starting point is the `Vector API Tutorial <https://gdal.org/tutorials/vector_api_tut.html>`__.
|
|
45
|
+
For full documentation, see the `GDAL Python API <https://gdal.org/api/python/index.html>`__.
|
|
44
46
|
|
|
45
47
|
The GDAL Python package is built using `SWIG <https://www.swig.org>`__.
|
|
46
48
|
The GDAL project maintains these Python bindings for GDAL/OGR within
|
|
@@ -63,7 +65,7 @@ special about gdal.)
|
|
|
63
65
|
|
|
64
66
|
* SWIG (4 or greater).
|
|
65
67
|
|
|
66
|
-
* libgdal (3.
|
|
68
|
+
* libgdal (3.12.0 or greater).
|
|
67
69
|
|
|
68
70
|
* numpy (1.0.0 or greater). This is not force-required by the build,
|
|
69
71
|
but many examples and utilities will not work without it. At least
|
|
@@ -99,8 +101,8 @@ HOWTO-RELEASE for how this is created. Because swig has been run, it
|
|
|
99
101
|
need not be installed.
|
|
100
102
|
|
|
101
103
|
|
|
102
|
-
Installation via
|
|
103
|
-
|
|
104
|
+
Installation via packaging systems
|
|
105
|
+
----------------------------------
|
|
104
106
|
|
|
105
107
|
General
|
|
106
108
|
~~~~~~~
|
|
@@ -178,7 +180,7 @@ Conda
|
|
|
178
180
|
GDAL can be quite complex to build and install, particularly on Windows and MacOS.
|
|
179
181
|
Pre built binaries are provided for the conda system:
|
|
180
182
|
|
|
181
|
-
https://docs.conda.io/
|
|
183
|
+
https://docs.conda.io/
|
|
182
184
|
|
|
183
185
|
By the conda-forge project:
|
|
184
186
|
|
|
@@ -207,7 +209,7 @@ There are five major modules that are included with the GDAL_ Python bindings.::
|
|
|
207
209
|
API
|
|
208
210
|
~~~
|
|
209
211
|
|
|
210
|
-
API documentation is available at https://gdal.org/api/python
|
|
212
|
+
* API documentation is available at https://gdal.org/api/python
|
|
211
213
|
|
|
212
214
|
Numpy
|
|
213
215
|
-----
|
|
@@ -221,33 +223,35 @@ capabilities.
|
|
|
221
223
|
Tutorials
|
|
222
224
|
---------
|
|
223
225
|
|
|
224
|
-
|
|
226
|
+
* `Vector API Tutorial <https://gdal.org/tutorials/vector_api_tut.html>`__
|
|
227
|
+
* `Raster API Tutorial <https://gdal.org/tutorials/raster_api_tut.html>`__
|
|
228
|
+
* `Multidimensional Raster API Tutorial <https://gdal.org/tutorials/multidimensional_api_tut.html>`__
|
|
225
229
|
|
|
226
230
|
Gotchas
|
|
227
231
|
-------
|
|
228
232
|
|
|
229
233
|
Although GDAL's and OGR's Python bindings provide a fairly "Pythonic" wrapper around the underlying C++ code, there are several ways in which the Python bindings differ from typical Python libraries.
|
|
230
234
|
These differences can catch Python programmers by surprise and lead to unexpected results. These differences result from the complexity of developing a large, long-lived library while continuing to maintain
|
|
231
|
-
backward compatibility. They are being addressed over time, but until they are all gone, please review this list of https://gdal.org/api/python_gotchas.html
|
|
235
|
+
backward compatibility. They are being addressed over time, but until they are all gone, please review `this list of gotchas <https://gdal.org/api/python/python_gotchas.html>`__.
|
|
232
236
|
|
|
233
237
|
Examples
|
|
234
238
|
--------
|
|
235
239
|
|
|
236
240
|
* An assortment of other samples are available in the `Python github samples directory <https://github.com/OSGeo/gdal/tree/master/swig/python/gdal-utils/osgeo_utils/samples>`__
|
|
237
|
-
with some description in the https://gdal.org/api/
|
|
241
|
+
with some description in the `Sample scripts <https://gdal.org/api/python/python_samples.html>`__ documentation.
|
|
238
242
|
* Several `GDAL utilities <https://github.com/OSGeo/gdal/tree/master/swig/python/gdal-utils/osgeo_utils/>`__
|
|
239
243
|
are implemented in Python and can be useful examples.
|
|
240
244
|
* The majority of GDAL regression tests are written in Python. They are available at
|
|
241
245
|
`https://github.com/OSGeo/gdal/tree/master/autotest <https://github.com/OSGeo/gdal/tree/master/autotest>`__
|
|
246
|
+
* One example of GDAL/numpy integration is found in the `val_repl.py <https://github.com/OSGeo/gdal/tree/master/swig/python/gdal-utils/osgeo_utils/samples/val_repl.py>`__ script.
|
|
242
247
|
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
.. note::
|
|
246
|
-
**Performance Notes**
|
|
248
|
+
Performance Notes
|
|
249
|
+
-----------------
|
|
247
250
|
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
+
* `ReadAsArray <https://gdal.org/api/python/raster_api.html#osgeo.gdal.Dataset.ReadAsArray>`__
|
|
252
|
+
expects to make an entire copy of a raster band or dataset
|
|
253
|
+
unless the data are explicitly subsetted as part of the function call. For
|
|
254
|
+
large data, this approach is expected to be prohibitively memory intensive.
|
|
251
255
|
|
|
252
256
|
|
|
253
257
|
.. _GDAL: https://gdal.org
|
|
@@ -5,8 +5,10 @@ GDAL/OGR in Python
|
|
|
5
5
|
This Python package and extensions are a number of tools for programming and
|
|
6
6
|
manipulating the GDAL_ Geospatial Data Abstraction Library.
|
|
7
7
|
Generally speaking the classes and methods mostly
|
|
8
|
-
match those of the GDAL and OGR C++ classes.
|
|
9
|
-
|
|
8
|
+
match those of the GDAL and OGR C++ classes.
|
|
9
|
+
|
|
10
|
+
A basic starting point is the `Vector API Tutorial <https://gdal.org/tutorials/vector_api_tut.html>`__.
|
|
11
|
+
For full documentation, see the `GDAL Python API <https://gdal.org/api/python/index.html>`__.
|
|
10
12
|
|
|
11
13
|
The GDAL Python package is built using `SWIG <https://www.swig.org>`__.
|
|
12
14
|
The GDAL project maintains these Python bindings for GDAL/OGR within
|
|
@@ -29,7 +31,7 @@ special about gdal.)
|
|
|
29
31
|
|
|
30
32
|
* SWIG (4 or greater).
|
|
31
33
|
|
|
32
|
-
* libgdal (3.
|
|
34
|
+
* libgdal (3.12.0 or greater).
|
|
33
35
|
|
|
34
36
|
* numpy (1.0.0 or greater). This is not force-required by the build,
|
|
35
37
|
but many examples and utilities will not work without it. At least
|
|
@@ -65,8 +67,8 @@ HOWTO-RELEASE for how this is created. Because swig has been run, it
|
|
|
65
67
|
need not be installed.
|
|
66
68
|
|
|
67
69
|
|
|
68
|
-
Installation via
|
|
69
|
-
|
|
70
|
+
Installation via packaging systems
|
|
71
|
+
----------------------------------
|
|
70
72
|
|
|
71
73
|
General
|
|
72
74
|
~~~~~~~
|
|
@@ -144,7 +146,7 @@ Conda
|
|
|
144
146
|
GDAL can be quite complex to build and install, particularly on Windows and MacOS.
|
|
145
147
|
Pre built binaries are provided for the conda system:
|
|
146
148
|
|
|
147
|
-
https://docs.conda.io/
|
|
149
|
+
https://docs.conda.io/
|
|
148
150
|
|
|
149
151
|
By the conda-forge project:
|
|
150
152
|
|
|
@@ -173,7 +175,7 @@ There are five major modules that are included with the GDAL_ Python bindings.::
|
|
|
173
175
|
API
|
|
174
176
|
~~~
|
|
175
177
|
|
|
176
|
-
API documentation is available at https://gdal.org/api/python
|
|
178
|
+
* API documentation is available at https://gdal.org/api/python
|
|
177
179
|
|
|
178
180
|
Numpy
|
|
179
181
|
-----
|
|
@@ -187,33 +189,35 @@ capabilities.
|
|
|
187
189
|
Tutorials
|
|
188
190
|
---------
|
|
189
191
|
|
|
190
|
-
|
|
192
|
+
* `Vector API Tutorial <https://gdal.org/tutorials/vector_api_tut.html>`__
|
|
193
|
+
* `Raster API Tutorial <https://gdal.org/tutorials/raster_api_tut.html>`__
|
|
194
|
+
* `Multidimensional Raster API Tutorial <https://gdal.org/tutorials/multidimensional_api_tut.html>`__
|
|
191
195
|
|
|
192
196
|
Gotchas
|
|
193
197
|
-------
|
|
194
198
|
|
|
195
199
|
Although GDAL's and OGR's Python bindings provide a fairly "Pythonic" wrapper around the underlying C++ code, there are several ways in which the Python bindings differ from typical Python libraries.
|
|
196
200
|
These differences can catch Python programmers by surprise and lead to unexpected results. These differences result from the complexity of developing a large, long-lived library while continuing to maintain
|
|
197
|
-
backward compatibility. They are being addressed over time, but until they are all gone, please review this list of https://gdal.org/api/python_gotchas.html
|
|
201
|
+
backward compatibility. They are being addressed over time, but until they are all gone, please review `this list of gotchas <https://gdal.org/api/python/python_gotchas.html>`__.
|
|
198
202
|
|
|
199
203
|
Examples
|
|
200
204
|
--------
|
|
201
205
|
|
|
202
206
|
* An assortment of other samples are available in the `Python github samples directory <https://github.com/OSGeo/gdal/tree/master/swig/python/gdal-utils/osgeo_utils/samples>`__
|
|
203
|
-
with some description in the https://gdal.org/api/
|
|
207
|
+
with some description in the `Sample scripts <https://gdal.org/api/python/python_samples.html>`__ documentation.
|
|
204
208
|
* Several `GDAL utilities <https://github.com/OSGeo/gdal/tree/master/swig/python/gdal-utils/osgeo_utils/>`__
|
|
205
209
|
are implemented in Python and can be useful examples.
|
|
206
210
|
* The majority of GDAL regression tests are written in Python. They are available at
|
|
207
211
|
`https://github.com/OSGeo/gdal/tree/master/autotest <https://github.com/OSGeo/gdal/tree/master/autotest>`__
|
|
212
|
+
* One example of GDAL/numpy integration is found in the `val_repl.py <https://github.com/OSGeo/gdal/tree/master/swig/python/gdal-utils/osgeo_utils/samples/val_repl.py>`__ script.
|
|
208
213
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
.. note::
|
|
212
|
-
**Performance Notes**
|
|
214
|
+
Performance Notes
|
|
215
|
+
-----------------
|
|
213
216
|
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
+
* `ReadAsArray <https://gdal.org/api/python/raster_api.html#osgeo.gdal.Dataset.ReadAsArray>`__
|
|
218
|
+
expects to make an entire copy of a raster band or dataset
|
|
219
|
+
unless the data are explicitly subsetted as part of the function call. For
|
|
220
|
+
large data, this approach is expected to be prohibitively memory intensive.
|
|
217
221
|
|
|
218
222
|
|
|
219
223
|
.. _GDAL: https://gdal.org
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: GDAL
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.12.0
|
|
4
4
|
Summary: GDAL: Geospatial Data Abstraction Library
|
|
5
5
|
Home-page: http://www.gdal.org
|
|
6
6
|
Author: Frank Warmerdam, Howard Butler, Even Rouault
|
|
@@ -39,8 +39,10 @@ GDAL/OGR in Python
|
|
|
39
39
|
This Python package and extensions are a number of tools for programming and
|
|
40
40
|
manipulating the GDAL_ Geospatial Data Abstraction Library.
|
|
41
41
|
Generally speaking the classes and methods mostly
|
|
42
|
-
match those of the GDAL and OGR C++ classes.
|
|
43
|
-
|
|
42
|
+
match those of the GDAL and OGR C++ classes.
|
|
43
|
+
|
|
44
|
+
A basic starting point is the `Vector API Tutorial <https://gdal.org/tutorials/vector_api_tut.html>`__.
|
|
45
|
+
For full documentation, see the `GDAL Python API <https://gdal.org/api/python/index.html>`__.
|
|
44
46
|
|
|
45
47
|
The GDAL Python package is built using `SWIG <https://www.swig.org>`__.
|
|
46
48
|
The GDAL project maintains these Python bindings for GDAL/OGR within
|
|
@@ -63,7 +65,7 @@ special about gdal.)
|
|
|
63
65
|
|
|
64
66
|
* SWIG (4 or greater).
|
|
65
67
|
|
|
66
|
-
* libgdal (3.
|
|
68
|
+
* libgdal (3.12.0 or greater).
|
|
67
69
|
|
|
68
70
|
* numpy (1.0.0 or greater). This is not force-required by the build,
|
|
69
71
|
but many examples and utilities will not work without it. At least
|
|
@@ -99,8 +101,8 @@ HOWTO-RELEASE for how this is created. Because swig has been run, it
|
|
|
99
101
|
need not be installed.
|
|
100
102
|
|
|
101
103
|
|
|
102
|
-
Installation via
|
|
103
|
-
|
|
104
|
+
Installation via packaging systems
|
|
105
|
+
----------------------------------
|
|
104
106
|
|
|
105
107
|
General
|
|
106
108
|
~~~~~~~
|
|
@@ -178,7 +180,7 @@ Conda
|
|
|
178
180
|
GDAL can be quite complex to build and install, particularly on Windows and MacOS.
|
|
179
181
|
Pre built binaries are provided for the conda system:
|
|
180
182
|
|
|
181
|
-
https://docs.conda.io/
|
|
183
|
+
https://docs.conda.io/
|
|
182
184
|
|
|
183
185
|
By the conda-forge project:
|
|
184
186
|
|
|
@@ -207,7 +209,7 @@ There are five major modules that are included with the GDAL_ Python bindings.::
|
|
|
207
209
|
API
|
|
208
210
|
~~~
|
|
209
211
|
|
|
210
|
-
API documentation is available at https://gdal.org/api/python
|
|
212
|
+
* API documentation is available at https://gdal.org/api/python
|
|
211
213
|
|
|
212
214
|
Numpy
|
|
213
215
|
-----
|
|
@@ -221,33 +223,35 @@ capabilities.
|
|
|
221
223
|
Tutorials
|
|
222
224
|
---------
|
|
223
225
|
|
|
224
|
-
|
|
226
|
+
* `Vector API Tutorial <https://gdal.org/tutorials/vector_api_tut.html>`__
|
|
227
|
+
* `Raster API Tutorial <https://gdal.org/tutorials/raster_api_tut.html>`__
|
|
228
|
+
* `Multidimensional Raster API Tutorial <https://gdal.org/tutorials/multidimensional_api_tut.html>`__
|
|
225
229
|
|
|
226
230
|
Gotchas
|
|
227
231
|
-------
|
|
228
232
|
|
|
229
233
|
Although GDAL's and OGR's Python bindings provide a fairly "Pythonic" wrapper around the underlying C++ code, there are several ways in which the Python bindings differ from typical Python libraries.
|
|
230
234
|
These differences can catch Python programmers by surprise and lead to unexpected results. These differences result from the complexity of developing a large, long-lived library while continuing to maintain
|
|
231
|
-
backward compatibility. They are being addressed over time, but until they are all gone, please review this list of https://gdal.org/api/python_gotchas.html
|
|
235
|
+
backward compatibility. They are being addressed over time, but until they are all gone, please review `this list of gotchas <https://gdal.org/api/python/python_gotchas.html>`__.
|
|
232
236
|
|
|
233
237
|
Examples
|
|
234
238
|
--------
|
|
235
239
|
|
|
236
240
|
* An assortment of other samples are available in the `Python github samples directory <https://github.com/OSGeo/gdal/tree/master/swig/python/gdal-utils/osgeo_utils/samples>`__
|
|
237
|
-
with some description in the https://gdal.org/api/
|
|
241
|
+
with some description in the `Sample scripts <https://gdal.org/api/python/python_samples.html>`__ documentation.
|
|
238
242
|
* Several `GDAL utilities <https://github.com/OSGeo/gdal/tree/master/swig/python/gdal-utils/osgeo_utils/>`__
|
|
239
243
|
are implemented in Python and can be useful examples.
|
|
240
244
|
* The majority of GDAL regression tests are written in Python. They are available at
|
|
241
245
|
`https://github.com/OSGeo/gdal/tree/master/autotest <https://github.com/OSGeo/gdal/tree/master/autotest>`__
|
|
246
|
+
* One example of GDAL/numpy integration is found in the `val_repl.py <https://github.com/OSGeo/gdal/tree/master/swig/python/gdal-utils/osgeo_utils/samples/val_repl.py>`__ script.
|
|
242
247
|
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
.. note::
|
|
246
|
-
**Performance Notes**
|
|
248
|
+
Performance Notes
|
|
249
|
+
-----------------
|
|
247
250
|
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
+
* `ReadAsArray <https://gdal.org/api/python/raster_api.html#osgeo.gdal.Dataset.ReadAsArray>`__
|
|
252
|
+
expects to make an entire copy of a raster band or dataset
|
|
253
|
+
unless the data are explicitly subsetted as part of the function call. For
|
|
254
|
+
large data, this approach is expected to be prohibitively memory intensive.
|
|
251
255
|
|
|
252
256
|
|
|
253
257
|
.. _GDAL: https://gdal.org
|
|
@@ -1,12 +1,6 @@
|
|
|
1
1
|
README.rst
|
|
2
2
|
pyproject.toml
|
|
3
3
|
setup.py
|
|
4
|
-
extensions/gdal_array_wrap.cpp
|
|
5
|
-
extensions/gdal_wrap.cpp
|
|
6
|
-
extensions/gdalconst_wrap.c
|
|
7
|
-
extensions/gnm_wrap.cpp
|
|
8
|
-
extensions/ogr_wrap.cpp
|
|
9
|
-
extensions/osr_wrap.cpp
|
|
10
4
|
gdal-utils/GDAL.egg-info/PKG-INFO
|
|
11
5
|
gdal-utils/GDAL.egg-info/SOURCES.txt
|
|
12
6
|
gdal-utils/GDAL.egg-info/dependency_links.txt
|
|
@@ -61,18 +55,14 @@ gdal-utils/osgeo_utils/samples/fix_gpkg.py
|
|
|
61
55
|
gdal-utils/osgeo_utils/samples/gcps2ogr.py
|
|
62
56
|
gdal-utils/osgeo_utils/samples/gcps2vec.py
|
|
63
57
|
gdal-utils/osgeo_utils/samples/gcps2wld.py
|
|
64
|
-
gdal-utils/osgeo_utils/samples/gdal2grd.py
|
|
65
58
|
gdal-utils/osgeo_utils/samples/gdal_auth.py
|
|
66
|
-
gdal-utils/osgeo_utils/samples/gdal_cp.py
|
|
67
59
|
gdal-utils/osgeo_utils/samples/gdal_create_pdf.py
|
|
68
|
-
gdal-utils/osgeo_utils/samples/gdal_ls.py
|
|
69
60
|
gdal-utils/osgeo_utils/samples/gdal_lut.py
|
|
70
61
|
gdal-utils/osgeo_utils/samples/gdal_minmax_location.py
|
|
71
62
|
gdal-utils/osgeo_utils/samples/gdal_mkdir.py
|
|
72
63
|
gdal-utils/osgeo_utils/samples/gdal_remove_towgs84.py
|
|
73
64
|
gdal-utils/osgeo_utils/samples/gdal_rm.py
|
|
74
65
|
gdal-utils/osgeo_utils/samples/gdal_rmdir.py
|
|
75
|
-
gdal-utils/osgeo_utils/samples/gdal_vrtmerge.py
|
|
76
66
|
gdal-utils/osgeo_utils/samples/gdalbuildvrtofvrt.py
|
|
77
67
|
gdal-utils/osgeo_utils/samples/gdalchksum.py
|
|
78
68
|
gdal-utils/osgeo_utils/samples/gdalcopyproj.py
|
|
@@ -83,7 +73,6 @@ gdal-utils/osgeo_utils/samples/gdalinfo.py
|
|
|
83
73
|
gdal-utils/osgeo_utils/samples/gdallocationinfo.py
|
|
84
74
|
gdal-utils/osgeo_utils/samples/get_soundg.py
|
|
85
75
|
gdal-utils/osgeo_utils/samples/histrep.py
|
|
86
|
-
gdal-utils/osgeo_utils/samples/hsv_merge.py
|
|
87
76
|
gdal-utils/osgeo_utils/samples/jpeg_in_tiff_extract.py
|
|
88
77
|
gdal-utils/osgeo_utils/samples/load2odbc.py
|
|
89
78
|
gdal-utils/osgeo_utils/samples/loslas2ntv2.py
|
|
@@ -124,13 +113,4 @@ gdal-utils/scripts/gdalmove.py
|
|
|
124
113
|
gdal-utils/scripts/ogr_layer_algebra.py
|
|
125
114
|
gdal-utils/scripts/ogrmerge.py
|
|
126
115
|
gdal-utils/scripts/pct2rgb.py
|
|
127
|
-
gdal-utils/scripts/rgb2pct.py
|
|
128
|
-
osgeo/__init__.py
|
|
129
|
-
osgeo/gdal.py
|
|
130
|
-
osgeo/gdal_array.py
|
|
131
|
-
osgeo/gdal_fsspec.py
|
|
132
|
-
osgeo/gdalconst.py
|
|
133
|
-
osgeo/gdalnumeric.py
|
|
134
|
-
osgeo/gnm.py
|
|
135
|
-
osgeo/ogr.py
|
|
136
|
-
osgeo/osr.py
|
|
116
|
+
gdal-utils/scripts/rgb2pct.py
|
|
@@ -83,10 +83,6 @@ class GDALArgumentParser(argparse.ArgumentParser):
|
|
|
83
83
|
help="Gives a brief usage message for the generic GDAL OGR command line options and exit",
|
|
84
84
|
)
|
|
85
85
|
|
|
86
|
-
if sys.version_info < (3, 8):
|
|
87
|
-
# extend was introduced to the stdlib in Python 3.8
|
|
88
|
-
self.register("action", "extend", ExtendAction)
|
|
89
|
-
|
|
90
86
|
self.custom_format_arg = False
|
|
91
87
|
|
|
92
88
|
def add_argument(self, *args, **kwargs):
|