From 2a6b8389556a0b10cbeea1b68537babeebd50bbb Mon Sep 17 00:00:00 2001 From: Daniel Baston Date: Thu, 28 Nov 2024 20:27:00 -0500 Subject: [PATCH] Doc: Add summary of user survey --- .../survey_2024/documentation_needs.svg | 78 +++++++++ .../survey_2024/easy_to_install_gdal.svg | 60 +++++++ .../survey_2024/easy_to_install_gdal_os.svg | 153 ++++++++++++++++++ .../community/survey_2024/gdal_challenge.svg | 85 ++++++++++ .../survey_2024/gdal_easier_to_use.svg | 86 ++++++++++ .../survey_2024/gdal_help_source.svg | 90 +++++++++++ .../survey_2024/local_or_cloud_read.svg | 77 +++++++++ .../survey_2024/local_or_cloud_write.svg | 81 ++++++++++ .../maintenance_program_activities.svg | 77 +++++++++ .../maintenance_program_areas_of_focus.svg | 94 +++++++++++ .../survey_2024/operating_system.svg | 69 ++++++++ .../survey_2024/raster_data_formats.svg | 82 ++++++++++ .../survey_2024/vector_data_formats.svg | 89 ++++++++++ .../community/survey_2024/way_gdal_used.svg | 96 +++++++++++ .../survey_2024/where_gdal_obtained_linux.svg | 87 ++++++++++ .../survey_2024/where_gdal_obtained_osx.svg | 70 ++++++++ .../where_gdal_obtained_windows.svg | 99 ++++++++++++ .../survey_2024/years_experience.svg | 62 +++++++ doc/source/community/index.rst | 11 ++ doc/source/community/user_survey_2024.rst | 146 +++++++++++++++++ 20 files changed, 1692 insertions(+) create mode 100644 doc/images/community/survey_2024/documentation_needs.svg create mode 100644 doc/images/community/survey_2024/easy_to_install_gdal.svg create mode 100644 doc/images/community/survey_2024/easy_to_install_gdal_os.svg create mode 100644 doc/images/community/survey_2024/gdal_challenge.svg create mode 100644 doc/images/community/survey_2024/gdal_easier_to_use.svg create mode 100644 doc/images/community/survey_2024/gdal_help_source.svg create mode 100644 doc/images/community/survey_2024/local_or_cloud_read.svg create mode 100644 doc/images/community/survey_2024/local_or_cloud_write.svg create mode 100644 doc/images/community/survey_2024/maintenance_program_activities.svg create mode 100644 doc/images/community/survey_2024/maintenance_program_areas_of_focus.svg create mode 100644 doc/images/community/survey_2024/operating_system.svg create mode 100644 doc/images/community/survey_2024/raster_data_formats.svg create mode 100644 doc/images/community/survey_2024/vector_data_formats.svg create mode 100644 doc/images/community/survey_2024/way_gdal_used.svg create mode 100644 doc/images/community/survey_2024/where_gdal_obtained_linux.svg create mode 100644 doc/images/community/survey_2024/where_gdal_obtained_osx.svg create mode 100644 doc/images/community/survey_2024/where_gdal_obtained_windows.svg create mode 100644 doc/images/community/survey_2024/years_experience.svg create mode 100644 doc/source/community/user_survey_2024.rst diff --git a/doc/images/community/survey_2024/documentation_needs.svg b/doc/images/community/survey_2024/documentation_needs.svg new file mode 100644 index 000000000000..cb05350fb5d0 --- /dev/null +++ b/doc/images/community/survey_2024/documentation_needs.svg @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Installation +Python +Other +Format options +Data format peculiarities +Developer API usage +Workflows +Examples + + + + + + + + + + + +0 +100 +200 +Number of respondents +Topic +Where does GDAL need more documentation? + + diff --git a/doc/images/community/survey_2024/easy_to_install_gdal.svg b/doc/images/community/survey_2024/easy_to_install_gdal.svg new file mode 100644 index 000000000000..4d5294ea339a --- /dev/null +++ b/doc/images/community/survey_2024/easy_to_install_gdal.svg @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0 +100 +200 +300 + + + + + + + +Yes +No +Yes, but not with the options I need +It is easy to install GDAL +Respondents + + diff --git a/doc/images/community/survey_2024/easy_to_install_gdal_os.svg b/doc/images/community/survey_2024/easy_to_install_gdal_os.svg new file mode 100644 index 000000000000..979de09057f9 --- /dev/null +++ b/doc/images/community/survey_2024/easy_to_install_gdal_os.svg @@ -0,0 +1,153 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Linux + + + + + + + + + + +OSX + + + + + + + + + + +Windows + + + + + +No +Yes +Yes, but not with +the options I need + + + +No +Yes +Yes, but not with +the options I need + + + +No +Yes +Yes, but not with +the options I need +0 +50 +100 +150 + + + + +Operating System +Respondents +Is it easy to install GDAL? + + diff --git a/doc/images/community/survey_2024/gdal_challenge.svg b/doc/images/community/survey_2024/gdal_challenge.svg new file mode 100644 index 000000000000..8a1b0989fe7b --- /dev/null +++ b/doc/images/community/survey_2024/gdal_challenge.svg @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Finding examples +Understanding features +Installation +Constructing workflows +Other +Coordinate systems +Formats + + + + + + + + + + + + + +0 +25 +50 +75 +100 +125 +Number of respondents +Topic +My most difficult GDAL usage challenge is... + + diff --git a/doc/images/community/survey_2024/gdal_easier_to_use.svg b/doc/images/community/survey_2024/gdal_easier_to_use.svg new file mode 100644 index 000000000000..0a1d84f57e84 --- /dev/null +++ b/doc/images/community/survey_2024/gdal_easier_to_use.svg @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +cli +doc +examples +gui +install +mac +options +python +tutorial +windows + + + + + + + + + + + + + +0 +10 +20 +Percent of responses +Keyword +What could make GDAL easier to use? + + diff --git a/doc/images/community/survey_2024/gdal_help_source.svg b/doc/images/community/survey_2024/gdal_help_source.svg new file mode 100644 index 000000000000..16226095cf49 --- /dev/null +++ b/doc/images/community/survey_2024/gdal_help_source.svg @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +gdal.org +Search engine +StackOverflow +Chatbot +GitHub +Source code +Mailing list +GDAL/OGR Cookbook +Python/R package docstrings +Frank +Telegram group + + + + + + + + + + + + + + +0 +100 +200 +Number of Respondents +Source +The first place I look for GDAL help is... + + diff --git a/doc/images/community/survey_2024/local_or_cloud_read.svg b/doc/images/community/survey_2024/local_or_cloud_read.svg new file mode 100644 index 000000000000..8f193bdb3276 --- /dev/null +++ b/doc/images/community/survey_2024/local_or_cloud_read.svg @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Local file systems +Cloud (s3, gcs, az) +Network file systems +Memory +HPC (Lustre, HDFS, IPFS, etc) +Other + + + + + + + + + + + +0 +100 +200 +300 +400 +Number of Respondents +Source +I read most data with GDAL from... + + diff --git a/doc/images/community/survey_2024/local_or_cloud_write.svg b/doc/images/community/survey_2024/local_or_cloud_write.svg new file mode 100644 index 000000000000..cb90b03702a2 --- /dev/null +++ b/doc/images/community/survey_2024/local_or_cloud_write.svg @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Local file systems +Network file systems +Cloud (s3, gcs, az) +Memory +Database +HPC (Lustre, HDFS, IPFS, etc) +Other + + + + + + + + + + + + +0 +100 +200 +300 +400 +Number of Respondents +Location +I write most data with GDAL to... + + diff --git a/doc/images/community/survey_2024/maintenance_program_activities.svg b/doc/images/community/survey_2024/maintenance_program_activities.svg new file mode 100644 index 000000000000..3f9578e8dbd6 --- /dev/null +++ b/doc/images/community/survey_2024/maintenance_program_activities.svg @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +VSI enhancements +Python bindings improvements +Documentation improvements +Dependency enhancements +(PROJ, GEOS, libgeotiff, libtiff) +Build system refactor +(CMake, plugin loading, etc. + + + + + + + + + + +0 +10 +20 +30 +40 +Percent of responses +Activity +Which maintenance program-funded activity +improved your usability of GDAL? + + diff --git a/doc/images/community/survey_2024/maintenance_program_areas_of_focus.svg b/doc/images/community/survey_2024/maintenance_program_areas_of_focus.svg new file mode 100644 index 000000000000..18f9a45d8654 --- /dev/null +++ b/doc/images/community/survey_2024/maintenance_program_areas_of_focus.svg @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Performance +Format compatibility +Integration with other software +Command line +Command line compatibility +VSI features +Backward compatibility +More formats +Static builds +Compiler compatibility +Deprecation of unused drivers + + + + + + + + + + + + + + + +0 +1 +2 +3 +Average priority +Area of focus +Maintenance program priority rankings + + diff --git a/doc/images/community/survey_2024/operating_system.svg b/doc/images/community/survey_2024/operating_system.svg new file mode 100644 index 000000000000..b5398e97b7e6 --- /dev/null +++ b/doc/images/community/survey_2024/operating_system.svg @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Linux +Windows +OSX +Other +FreeBSD + + + + + + + + + +0 +100 +200 +300 +Number of Respondents +Operating System +The operating system I execute GDAL on most is... + + diff --git a/doc/images/community/survey_2024/raster_data_formats.svg b/doc/images/community/survey_2024/raster_data_formats.svg new file mode 100644 index 000000000000..a7f2c1a031a2 --- /dev/null +++ b/doc/images/community/survey_2024/raster_data_formats.svg @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +GeoTIFF / COG +HDF/NetCDF +Other +GeoPackage +Rendered tilesets +JPEG/JPEG2000 +ECW +ENVI +KEA + + + + + + + + + + + + +0 +200 +400 +Number of Respondents +Format +Most common raster format usage + + diff --git a/doc/images/community/survey_2024/vector_data_formats.svg b/doc/images/community/survey_2024/vector_data_formats.svg new file mode 100644 index 000000000000..1cc610d52b58 --- /dev/null +++ b/doc/images/community/survey_2024/vector_data_formats.svg @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +GeoPackage +Shapefile +GeoJSON +PostGIS +(Geo)Parquet +Other +Esri FileGeodatabase +FlatGeobuf +GML + + + + + + + + + + + + + + +0 +50 +100 +150 +200 +Number of Respondents +Format +Most common vector format usage + + diff --git a/doc/images/community/survey_2024/way_gdal_used.svg b/doc/images/community/survey_2024/way_gdal_used.svg new file mode 100644 index 000000000000..926928f77f18 --- /dev/null +++ b/doc/images/community/survey_2024/way_gdal_used.svg @@ -0,0 +1,96 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Command line +GDAL Python bindings + (from osgeo import gdal) +Python packages + (rasterio, fiona, geopandas, rioxarray, etc.) +R packages + (terra, gdalraster, stars, etc.) +Other +PostGIS +C/C++ +QGIS +Java bindings +C# bindings + + + + + + + + + + + + + + + +0 +50 +100 +150 +200 +Number of Respondents +Method +I use GDAL most often via... + + diff --git a/doc/images/community/survey_2024/where_gdal_obtained_linux.svg b/doc/images/community/survey_2024/where_gdal_obtained_linux.svg new file mode 100644 index 000000000000..2c97599f8ec3 --- /dev/null +++ b/doc/images/community/survey_2024/where_gdal_obtained_linux.svg @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Standard unix distribution +Built from source +Homebrew +Docker images +OSGeo4W +QGIS +UbuntuGIS +Other +conda-forge / Anaconda +NuGet + + + + + + + + + + + + + +0 +50 +100 +Number of Respondents +Source +Primary operating system: Linux +I obtain GDAL from... + + diff --git a/doc/images/community/survey_2024/where_gdal_obtained_osx.svg b/doc/images/community/survey_2024/where_gdal_obtained_osx.svg new file mode 100644 index 000000000000..dc4940ebe5da --- /dev/null +++ b/doc/images/community/survey_2024/where_gdal_obtained_osx.svg @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Homebrew +Standard unix distribution +Built from source +QGIS +Other + + + + + + + + + +0 +20 +40 +60 +Number of Respondents +Source +Primary operating system: OSX +I obtain GDAL from... + + diff --git a/doc/images/community/survey_2024/where_gdal_obtained_windows.svg b/doc/images/community/survey_2024/where_gdal_obtained_windows.svg new file mode 100644 index 000000000000..6410ae7be247 --- /dev/null +++ b/doc/images/community/survey_2024/where_gdal_obtained_windows.svg @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +OSGeo4W +Homebrew +QGIS +GISInternals +Built from source +Other +conda-forge / Anaconda +Christoph Gohlke +Commercial software +CRAN +NuGet +Standard unix distribution + + + + + + + + + + + + + + + + +0 +25 +50 +75 +Number of Respondents +Source +Primary operating system: Windows +I obtain GDAL from... + + diff --git a/doc/images/community/survey_2024/years_experience.svg b/doc/images/community/survey_2024/years_experience.svg new file mode 100644 index 000000000000..814071492293 --- /dev/null +++ b/doc/images/community/survey_2024/years_experience.svg @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +0 +100 +200 + + + + + + + +1 - 4 years +5 - 9 years +10 - 20+ years +I'm Frank Warmerdam +Level of experience +Number of respondents +Survey Respondents - Level of Experience + + diff --git a/doc/source/community/index.rst b/doc/source/community/index.rst index 2ebfa71939c3..bf72f2b13fe7 100644 --- a/doc/source/community/index.rst +++ b/doc/source/community/index.rst @@ -131,6 +131,17 @@ Past members: Note that discussion of proposals to the PSC take place on gdal-dev, and input from all subscribers is welcome. A :ref:`list of past RFC ` is available for review. +User survey ++++++++++++ + +Results of the :ref:`survey_2024` are available for review. + + +.. toctree:: + :hidden: + + user_survey_2024 + GDAL Service Providers ---------------------- diff --git a/doc/source/community/user_survey_2024.rst b/doc/source/community/user_survey_2024.rst new file mode 100644 index 000000000000..61e4adc6479b --- /dev/null +++ b/doc/source/community/user_survey_2024.rst @@ -0,0 +1,146 @@ +.. _survey_2024: + +2024 GDAL user survey +===================== + +In October 2024, The GDAL maintenance program created an open survey to collect +feedback on user's experience with GDAL and the direction of the maintenance +program. The survey was publicized on gdal.org, the gdal-dev mailing list, the +project GitHub page, and social media. From October 28 to November 21, the +survey received 602 responses. + +Who responded to the survey? +---------------------------- + +Survey respondents were generally very experienced users, with 79% of users +having spent 5 or more years working with GDAL. Surprisingly, two respondents +claimed to be Frank Warmerdam, who originated the project in 1998. More than +half (52%) have built GDAL from source, 29% subscribe to the gdal-dev mailing +list, and 29% have contributed to the project by submitting bug reports or pull +requests. The high experience level of respondents reflects the challenge of +reaching users who may use GDAL less often, through other software, or are not +connected to the project community via mailing lists or social media. + +.. image:: ../../images/community/survey_2024/years_experience.svg + +Operating system +^^^^^^^^^^^^^^^^ + +Most survey respondents use GDAL on Linux, followed by Windows and OS X. +Responses to "Other" included WSL2 and iOS. + +.. image:: ../../images/community/survey_2024/operating_system.svg + +Local or cloud? +^^^^^^^^^^^^^^^ + +Most survey respondents use GDAL primarily with local file systems. + +.. image:: ../../images/community/survey_2024/local_or_cloud_read.svg + +.. image:: ../../images/community/survey_2024/local_or_cloud_write.svg + +Data formats +^^^^^^^^^^^^ + +Among raster data formats, GeoTIFF commands an overwhelming majority of GDAL +usage: + +.. image:: ../../images/community/survey_2024/raster_data_formats.svg + +The most popular vector format was GeoPackage, followed by classics such as +Shapefile, GeoJSON, and PostGIS. GeoParquet, Esri FileGeodatabase, FlatGeobuf, +and GML each earned enough votes to remain out of the "Other" category. + +.. image:: ../../images/community/survey_2024/vector_data_formats.svg + +Installing GDAL +--------------- + +Survey respondents obtain GDAL from a variety of channels, depending on the +platform. On Linux, standard system packages are the most popular solution. +OSX users rely primarily on Homebrew; most Windows users user OSGeo4W. The +popularity of Homebrew among Windows users may indicate that GDAL is being used +through the Windows Subsystem for Linux (WSL). The reported usage of OSGeo4W by +Linux users is more difficult to explain. + +.. image:: ../../images/community/survey_2024/where_gdal_obtained_linux.svg + +.. image:: ../../images/community/survey_2024/where_gdal_obtained_osx.svg + +.. image:: ../../images/community/survey_2024/where_gdal_obtained_windows.svg + +As may be expected for a group of experienced users, most respondents reported +that GDAL is easy to install with the options they need. Still, installation +remains a difficulty for many users. + +.. image:: ../../images/community/survey_2024/easy_to_install_gdal.svg + +Installation difficulties were not associated with a particular operating +system. + +.. image:: ../../images/community/survey_2024/easy_to_install_gdal_os.svg + +How is GDAL used? +----------------- + +The greatest number of respondents reported using GDAL from Python, with a +roughly 50/50 split between the GDAL Python bindings and higher-level packages +such as shapely, rasterio, and geopandas. After Python, the greatest number of +respondents reported using the command line interface, followed by smaller +number of users working in R, PostGIS, and QGIS. + +.. image:: ../../images/community/survey_2024/way_gdal_used.svg + +Getting help with GDAL +---------------------- + +Most users use gdal.org (directly or via a search engine) as their starting +point when trying to get help with GDAL. + +.. image:: ../../images/community/survey_2024/gdal_help_source.svg + +Difficulties using GDAL +----------------------- + +Users did not identify a single area as a source of their challenges with GDAL. +However, the top responses of "finding examples" and "understanding features" +point to a shortage of documentation. + +.. image:: ../../images/community/survey_2024/gdal_challenge.svg + +Consistent with the above, respondents reported "examples", "workflows", and +"API usage" as high priorities for documentation efforts. + +.. image:: ../../images/community/survey_2024/documentation_needs.svg + +And "examples" and "doc" rank highly among open-ended responses to +"what could make GDAL easier to use?" + +.. image:: ../../images/community/survey_2024/gdal_easier_to_use.svg + +Maintenance program activities +------------------------------ + +Among activities undertaken by the maintenance program so far, respondents found +the most value in enhancements to GDAL's dependencies (such as PROJ, GEOS, and +libtiff), its Python bindings, and documentation. + +.. image:: ../../images/community/survey_2024/maintenance_program_activities.svg + +Asked about a variety of tasks the maintenance program could take on beyond +those listed above, respondents showed some enthusiasm for almost everything! +Still, high priorities were given to performance, improving format +capabilities, and improving the command line interface while preserving +backward compatibility. + +.. image:: ../../images/community/survey_2024/maintenance_program_areas_of_focus.svg + +Next steps +---------- + +The maintenance program will use these results to inform work over the coming +year. Some work has already been performed to `develop an improved +command-line interface `__ and `add a +mechanism for usage examples to be cross-referenced in the +documentation `__.