Skip to content

Commit

Permalink
Update with OSGeo/gdal commit 6899da0a7d93235982e8edf1bcd32a422d055ff2
Browse files Browse the repository at this point in the history
  • Loading branch information
GDAL Bot committed Jun 25, 2024
0 parents commit 71d7633
Show file tree
Hide file tree
Showing 2,544 changed files with 1,063,792 additions and 0 deletions.
4 changes: 4 additions & 0 deletions .buildinfo
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 2da7d9b8451efa137d179582f5e7e3eb
tags: 645f666f9bcd5a90fca523b33c5a78b7
Empty file added .nojekyll
Empty file.
1 change: 1 addition & 0 deletions CNAME
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
gdal.org
25 changes: 25 additions & 0 deletions _downloads/0056e2c062ae841249224ed996032d6c/example.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
Driver: GTiff/GeoTIFF
Size is 512, 512
Coordinate System is:
PROJCS["NAD27 / UTM zone 11N",
GEOGCS["NAD27",
DATUM["North_American_Datum_1927",
SPHEROID["Clarke 1866",6378206.4,294.978698213901]],
PRIMEM["Greenwich",0],
UNIT["degree",0.0174532925199433]],
PROJECTION["Transverse_Mercator"],
PARAMETER["latitude_of_origin",0],
PARAMETER["central_meridian",-117],
PARAMETER["scale_factor",0.9996],
PARAMETER["false_easting",500000],
PARAMETER["false_northing",0],
UNIT["metre",1]]
Origin = (440720.000000,3751320.000000)
Pixel Size = (60.000000,-60.000000)
Corner Coordinates:
Upper Left ( 440720.000, 3751320.000) (117d38'28.21"W, 33d54'8.47"N)
Lower Left ( 440720.000, 3720600.000) (117d38'20.79"W, 33d37'31.04"N)
Upper Right ( 471440.000, 3751320.000) (117d18'32.07"W, 33d54'13.08"N)
Lower Right ( 471440.000, 3720600.000) (117d18'28.50"W, 33d37'35.61"N)
Center ( 456080.000, 3735960.000) (117d28'27.39"W, 33d45'52.46"N)
Band 1 Block=512x16 Type=Byte, ColorInterp=Gray
Binary file added _images/OSGeo_project.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/classOGRGeometry.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/classOGRGeometry_RFC64.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/components.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/ellipse.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/foss4g2023.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/gdal_viewshed.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/gdalsequence.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/gridding.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/jpipsequence.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/logo-esri.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/logo-faunalia.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/logo-geoczech.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/logo-google.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/logo-hobu.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/logo-kartoza.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/logo-koordinates.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/logo-mapgears.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/logo-maxar.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/logo-microsoft.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/logo-mundialis.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/logo-nasa.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/logo-numfocus.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/logo-osgeo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/logo-planet.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/logo-safe.png
Binary file added _images/logo-sparkgeo.png
Binary file added _images/logo-spatialys.png
Binary file added _images/rfc_2d_array.png
Binary file added _images/rfc_BIT.png
Binary file added _images/rfc_BSQ.png
Binary file added _images/rfc_TIP.png
Binary file added _images/rfc_tiled.png
Binary file added _images/style_ogr_brush.png
Binary file added _images/style_ogr_sym.png
Binary file added _images/style_pen1.png
Binary file added _images/style_pen2.png
Binary file added _images/style_pen3.png
Binary file added _images/style_textanchor.png
Binary file added _images/zenodo.5884351.png
7 changes: 7 additions & 0 deletions _sources/about.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
.. _about:

================================================================================
What is GDAL?
================================================================================

.. include:: ./about_no_title.rst
16 changes: 16 additions & 0 deletions _sources/about_no_title.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
GDAL is a translator library for raster and vector geospatial data formats that is released under an MIT style Open Source :ref:`license` by the `Open Source Geospatial Foundation`_. As a library, it presents a single raster abstract data model and single vector abstract data model to the calling application for all supported formats. It also comes with a variety of useful command line utilities for data translation and processing. The `NEWS`_ page describes the May 2024 GDAL/OGR 3.9.0 release.

.. image:: ../images/OSGeo_project.png
:alt: OSGeo project
:target: `Open Source Geospatial Foundation`_

.. _`Open Source Geospatial Foundation`: http://www.osgeo.org/
.. _`NEWS`: https://github.com/OSGeo/gdal/blob/v3.9.0/NEWS.md

See :ref:`software_using_gdal`

.. |DOI| image:: ../images/zenodo.5884351.png
:alt: DOI 10.5281/zenodo.5884351
:target: https://doi.org/10.5281/zenodo.5884351

You may quote GDAL in publications by using the following Digital Object Identifier: |DOI|
98 changes: 98 additions & 0 deletions _sources/api/cpl.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
..
The documentation displayed on this page is automatically generated from
Doxygen comments using the Breathe extension. Edits to the documentation
can be made by making changes in the appropriate .cpp files.
.. _cpl_api:

================================================================================
Common Portability Library C API
================================================================================

cpl_conv.h
----------

.. doxygenfile:: cpl_conv.h
:project: api

cpl_csv.h
---------

.. doxygenfile:: cpl_csv.h
:project: api

cpl_compressor.h
----------------

.. doxygenfile:: cpl_compressor.h
:project: api

cpl_error.h
-----------

.. doxygenfile:: cpl_error.h
:project: api

cpl_http.h
----------

.. doxygenfile:: cpl_http.h
:project: api

cpl_minixml.h
-------------

.. doxygenfile:: cpl_minixml.h
:project: api

cpl_multiproc.h
---------------

.. doxygenfile:: cpl_multiproc.h
:project: api

cpl_port.h
----------

.. doxygenfile:: cpl_port.h
:project: api

cpl_progress.h
--------------

.. doxygenfile:: cpl_progress.h
:project: api

cpl_string.h
------------

.. doxygenfile:: cpl_string.h
:project: api

cpl_time.h
----------

.. doxygenfile:: cpl_time.h
:project: api

cpl_virtualmem.h
----------------

.. doxygenfile:: cpl_virtualmem.h
:project: api

cpl_vsi_error.h
---------------

.. doxygenfile:: cpl_vsi_error.h
:project: api

cpl_vsi.h
---------

.. doxygenfile:: cpl_vsi.h
:project: api

.. seealso::

:ref:`cpl_cpp_api`.
26 changes: 26 additions & 0 deletions _sources/api/cpl_cpp.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
..
The documentation displayed on this page is automatically generated from
Doxygen comments using the Breathe extension. Edits to the documentation
can be made by making changes in the appropriate .cpp files.
.. _cpl_cpp_api:

================================================================================
Common Portability Library C++ API
================================================================================

cpl_odbc.h
----------

.. doxygenfile:: cpl_odbc.h
:project: api

cpl_vsi_virtual.h
-----------------

.. doxygenfile:: cpl_vsi_virtual.h
:project: api

.. seealso::

:ref:`cpl_api`.
177 changes: 177 additions & 0 deletions _sources/api/csharp/csharp_compile_cmake.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,177 @@
.. _csharp_compile_cmake:

================================================================================
Compiling the C# bindings - CMake Scripts
================================================================================

This page describes the primary steps when creating the GDAL/OGR C# binaries from the source using the new CMake scripts.

In most cases this is not necessary and it is better to use one of the pre-compiled sources, such as `GisInternals <https://gisinternals.com/>`__ or Conda.

You can either build the bindings as part of a full GDAL build - or standalone on top of an existing installation.

Requirements
++++++++++++

The build environment has the following dependencies:

* CMake 3.10 or later
* the appropriate C++ build environment (i.e. gcc or Visual Studio etc).
* SWIG 4
* .NET 5.0 or Mono

.NET Build Toolchain
++++++++++++++++++++

The build scripts can use either .NET 5.0 and :file:`dotnet.exe` or Mono and :file:`msc.exe` to compile the bindings.

.NET is used for preference if it found on all platforms but the use of Mono can be forced using a command line variable.

Building as part of a GDAL Build
++++++++++++++++++++++++++++++++

The build environment uses the following variables:

+---------------------------+------------+-----------------------------------------------+
| CSHARP_MONO | Boolean | Forces the use of Mono |
+---------------------------+------------+-----------------------------------------------+
| CSHARP_LIBRARY_VERSION | String | Set the .NET version for the shared libraries |
+---------------------------+------------+-----------------------------------------------+
| CSHARP_APPLICATION_VERSION| String | Set the .NET version for the sample apps |
+---------------------------+------------+-----------------------------------------------+
| GDAL_CSHARP_ONLY | Boolean | Build standalone on GDAL binaries |
+---------------------------+------------+-----------------------------------------------+
| BUILD_CSHARP_BINDINGS | Boolean | Build the C# bindings DEFAULT ON |
+---------------------------+------------+-----------------------------------------------+

Building with .NET
------------------

If the build environment has .NET 5.0 installed and GDAL is built, then the c# bindings will be built using .NET by default.

The details of building GDAL are documented elsewhere, but there are likely to be variants of the following commands run from the root directory of the gdal repository:

.. code-block::
cmake -DCMAKE_INSTALL_PREFIX ../install -B ../build -S .
cmake --build ../build --config Release
cmake --build ../build --config Release --target install
The C# bindings and sample apps are installed in the install directory (in the above case that would be `../install`, in the `share/csharp` sub folder. There would be the following files:

* :file:`gdal_csharp.dll`
* :file:`ogr_csharp.dll`
* :file:`osr_csharp.dll`
* :file:`gdalconst_csharp.dll`
* :file:`gdal_wrap.dll` or :file:`libgdal_wrap.so` or :file:`libgdal_wrap.dylib`
* :file:`ogr_wrap.dll` or :file:`libogr_wrap.so` or :file:`libogr_wrap.dylib`
* :file:`osr_wrap.dll` or :file:`libosr_wrap.so` or :file:`libosr_wrap.dylib`
* :file:`osr_wrap.dll` or :file:`libosr_wrap.so` or :file:`libosr_wrap.dylib`
* :file:`gdalconst_wrap.dll` or :file:`libgdalconst_wrap.so` or :file:`libgdalconst_wrap.dylib`
* various sample applications - as \*.exe on Windows, or just as \* on Unix, along with \*.dll for each app and the runtime config files.

There are also subdirectories for each of the sample apps, holding the config files.

There are also the following NuGET packages:

* :file:`OSGeo.GDAL`
* :file:`OSGeo.OGR`
* :file:`OSgeo.OSR`
* :file:`OSGeo.GDAL.CONST`
* various sample application

Using the .NET Bindings
-----------------------

The easiest way to use the bindings in development would be use the NuGET packages created.

To do this you need to add a local repistory pointing to the GDAL install directory. `This is explained here <https://docs.microsoft.com/en-us/nuget/hosting-packages/local-feeds>`__ .

Once this is done, you add the GDAL packages into your project as normal.

.. note:: These packages only install the bindings and do not install core GDAL. It is for you as the developer to make sure that the GDAL binaries are available in the search path.


.. note:: The NuGET packages are created with the same version number as the version of GDAL in the build system.
If you are building in a GIT repository, then the build system automatically makes the version with a x.y.z-dev pre-release tag.
This means that to load the package into Visual Studio (for instance), you have to tick the pre-release box.
This is all intentional and not a bug.


Building on Mono
----------------

If the build environment does not have .NET 5.0 or msbuild installed and GDAL is built, then the c# bindings will be built using Mono by default. Mono building can also be forced
by setting CSHARP_MONO.

The details of building GDAL are documented elsewhere, but the there are likely to be variants of the following commands run from the root directory of the gdal repository:

.. code-block::
cmake -DCMAKE_INSTALL_PREFIX ../install -DCSHARP_MONO=ON -B ../build -S .
cmake --build ../build --config Release
cmake --build ../build --config Release --target install
The C# bindings and sample apps are installed in the install directory (in the above case that would be `../install`, in the `share/csharp` sub folder. There would be the following files:

* :file:`gdal_csharp.dll`
* :file:`ogr_csharp.dll`
* :file:`osr_csharp.dll`
* :file:`gdalconst_csharp.dll`
* :file:`gdal_wrap.dll` or :file:`libgdal_wrap.so` or :file:`libgdal_wrap.dylib`
* :file:`ogr_wrap.dll` or :file:`libogr_wrap.so` or :file:`libogr_wrap.dylib`
* :file:`osr_wrap.dll` or :file:`libosr_wrap.so` or :file:`libosr_wrap.dylib`
* :file:`osr_wrap.dll` or :file:`libosr_wrap.so` or :file:`libosr_wrap.dylib`
* :file:`gdalconst_wrap.dll` or :file:`libgdalconst_wrap.so` or :file:`libgdalconst_wrap.dylib`
* various sample applications as \*.exe on all platforms.

Using the Mono Bindings
-----------------------

Note that the bindings created by this process will only work with Mono.

To run one of the prebuilt executables - you can run them with Mono as follows :

:program:`mono GDALInfo.exe`

Both the managed libraries (i.e. the DLLs) and the unmanaged libraries must be available to Mono.
This is in more detail in `the Mono documentation <https://www.mono-project.com/docs/advanced/pinvoke/>`__

Building Standalone
+++++++++++++++++++

The Bindings using both the .NET or Mono toolchains can be build on top of an existing implementation of GDAL
that includes the include files and libs - for instance the Conda distribution.

To do this, Cmake must be run with the GDAL_CSHARP_ONLY flag set and only one of the following targets should be built:


+--------------------------------+---------------------------------+
| csharp_binding | Just the bindings |
+--------------------------------+---------------------------------+
| csharp_samples | The bindings and the sample apps|
+--------------------------------+---------------------------------+

.. note:: Do not build the install target when running standalone, it will fail!

.. note:: Do not run a bare ctest command on this build, it will likely fail! Use something like `ctest -R "^csharp.*"` instead.

As an example:

.. code-block::
cmake -DGDAL_CSHARP_ONLY=ON -B ../build -S .
cmake --build ../build --config Release --target csharp_samples
The output from this build is axactly the same as documented as above, except that the outputs will be in `../build/swig/csharp` and some of the sub folders.

Signing of build artifacts
++++++++++++++++++++++++++

The CSharp assemblies are strong name signed by default with the provided key file in :source_file:`swig/csharp/gdal.snk`.
If authenticode signing of the assemblies is wished, it should be done in a post-build
manual step, for example with:

.. code-block::
signtool sign /f "path\to\your\certificate.pfx" /p "password" /tr http://timestamp.digicert.com /td sha256 "path\to\your\gdal_csharp.dll"
Loading

0 comments on commit 71d7633

Please sign in to comment.