found 7zip in C:\Program Files\7-Zip\7z.exe set PATH=E:\buildsystem\release-1916-x64\bin;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCPackages;C:\Program Files (x86)\Microsoft SDKs\TypeScript\3.1;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\TestWindow;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\bin\Roslyn;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Team Tools\Performance Tools\x64;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Team Tools\Performance Tools;C:\Program Files (x86)\Microsoft Visual Studio\Shared\Common\VSPerfCollectionTools\\x64;C:\Program Files (x86)\Microsoft Visual Studio\Shared\Common\VSPerfCollectionTools\;C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\x64\;C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64;C:\Program Files (x86)\Windows Kits\10\bin\x64;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\\MSBuild\15.0\bin;C:\Windows\Microsoft.NET\Framework64\v4.0.30319;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\ActiveTcl\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\Git\cmd;C:\Program Files\dotnet\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\;C:\Program Files\Microsoft SQL Server\150\Tools\Binn\;C:\Program Files\7-Zip;C:\php;C:\Strawberry\c\bin;C:\Strawberry\perl\site\bin;C:\Strawberry\perl\bin;C:\Users\szekeres\AppData\Local\Microsoft\WindowsApps;C:\Users\szekeres\.dotnet\tools;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja git config --global core.autocrlf false if not exist src\mapserver-vc15x64 git clone -b main https://github.com/mapserver/mapserver.git src\mapserver-vc15x64 cd src\mapserver-vc15x64 git reset --hard HEAD HEAD is now at 5a943d5a0 Merge pull request #7057 from rouault/remove_exec_program git fetch git checkout main Your branch is up to date with 'origin/main'. git pull origin main Already up to date. git reset --hard HEAD HEAD is now at 5a943d5a0 Merge pull request #7057 from rouault/remove_exec_program git log --pretty=format:%H -n 1 > E:\buildsystem\release-1916-x64\doc\ms_revision.txt type E:\buildsystem\release-1916-x64\doc\ms_revision.txt 5a943d5a00c815d562210337297df9138ffc03dc cd E:\buildsystem git config --global core.autocrlf false if not exist src\gdal-vc15x64 git clone -b master https://github.com/OSGeo/gdal.git src\gdal-vc15x64 cd src\gdal-vc15x64 git reset --hard HEAD HEAD is now at a077baabf9 Merge pull request #9575 from dbaston/python-doc-reorg-2 git fetch git checkout master Your branch is behind 'origin/master' by 69 commits, and can be fast-forwarded. (use "git pull" to update your local branch) git pull origin master Updating a077baabf9..6c24532714 Fast-forward .github/workflows/codeql.yml | 79 +- apps/test_ogrsf.cpp | 16 + autotest/gcore/tiff_write.py | 151 ++- autotest/gdrivers/netcdf.py | 2 + autotest/ogr/ogr_arrow.py | 2 + autotest/ogr/ogr_cad.py | 1 + autotest/ogr/ogr_carto.py | 1 + autotest/ogr/ogr_dgn.py | 2 + autotest/ogr/ogr_dgnv8.py | 1 + autotest/ogr/ogr_dwg.py | 2 + autotest/ogr/ogr_dxf.py | 2 + autotest/ogr/ogr_elasticsearch.py | 2 + autotest/ogr/ogr_fgdb.py | 8 +- autotest/ogr/ogr_geojson.py | 4 + autotest/ogr/ogr_geojsonseq.py | 2 + autotest/ogr/ogr_geom.py | 184 ++++ autotest/ogr/ogr_georss.py | 1 + autotest/ogr/ogr_gml.py | 3 + autotest/ogr/ogr_gmt.py | 1 + autotest/ogr/ogr_gpkg.py | 48 + autotest/ogr/ogr_gpx.py | 1 + autotest/ogr/ogr_ili.py | 2 + autotest/ogr/ogr_jml.py | 2 + autotest/ogr/ogr_jsonfg.py | 3 + autotest/ogr/ogr_kml.py | 1 + autotest/ogr/ogr_libkml.py | 9 + autotest/ogr/ogr_mapml.py | 2 + autotest/ogr/ogr_mem.py | 11 + autotest/ogr/ogr_mitab.py | 1 + autotest/ogr/ogr_mongodbv3.py | 1 + autotest/ogr/ogr_mssqlspatial.py | 1 + autotest/ogr/ogr_mvt.py | 3 + autotest/ogr/ogr_mysql.py | 1 + autotest/ogr/ogr_ods.py | 2 + autotest/ogr/ogr_openfilegdb.py | 1 + autotest/ogr/ogr_parquet.py | 2 + autotest/ogr/ogr_pcidsk.py | 1 + autotest/ogr/ogr_pdf.py | 2 + autotest/ogr/ogr_pds4.py | 1 + autotest/ogr/ogr_pg.py | 1 + autotest/ogr/ogr_pgdump.py | 1 + autotest/ogr/ogr_selafin.py | 1 + autotest/ogr/ogr_sqlite.py | 46 + autotest/ogr/ogr_tiledb.py | 2 + autotest/ogr/ogr_vdv.py | 2 + autotest/ogr/ogr_wasp.py | 1 + autotest/ogr/ogr_xls.py | 1 + autotest/ogr/ogr_xlsx.py | 2 + autotest/pyscripts/test_gdalbuildvrtofvrt.py | 42 +- doc/source/api/python/osgeo.ogr.rst | 2 +- doc/source/api/python/vector_api.rst | 4 + doc/source/drivers/vector/gpkg.rst | 6 + doc/source/substitutions.rst | 3 +- doc/source/user/configoptions.rst | 5 +- doc/source/user/vector_data_model.rst | 121 ++- frmts/gtiff/CMakeLists.txt | 11 + frmts/gtiff/geotiff.cpp | 13 + frmts/gtiff/gtiffdataset.h | 4 + frmts/gtiff/gtiffdataset_write.cpp | 160 +++- frmts/gtiff/libtiff/tif_lerc.c | 507 ++++++++-- frmts/netcdf/netcdfdataset.h | 2 + frmts/netcdf/netcdflayer.cpp | 9 + frmts/pcidsk/ogrpcidsklayer.cpp | 4 +- frmts/pcidsk/pcidskdataset2.cpp | 4 +- frmts/pcidsk/pcidskdataset2.h | 10 +- frmts/pdf/gdal_pdf.h | 4 + frmts/pdf/ogrpdflayer.cpp | 18 + frmts/pds/pds4dataset.h | 2 + frmts/pds/pds4vector.cpp | 9 + frmts/tiledb/tiledbheaders.h | 10 +- frmts/tiledb/tiledbsparse.cpp | 10 +- gcore/gdal.h | 4 + ogr/ogr_api.cpp | 83 +- ogr/ogr_api.h | 4 + ogr/ogr_geometry.h | 16 + ogr/ogrcircularstring.cpp | 26 + ogr/ogrcompoundcurve.cpp | 26 + ogr/ogrcurve.cpp | 30 +- ogr/ogrcurvepolygon.cpp | 27 + ogr/ogrfielddefn.cpp | 10 +- ogr/ogrgeometrycollection.cpp | 72 ++ ogr/ogrlinestring.cpp | 89 ++ ogr/ogrpolyhedralsurface.cpp | 14 + ogr/ogrsf_frmts/amigocloud/ogr_amigocloud.h | 2 + ogr/ogrsf_frmts/amigocloud/ogramigocloudlayer.cpp | 9 + ogr/ogrsf_frmts/arrow/ogr_feather.h | 8 +- ogr/ogrsf_frmts/arrow/ogrfeatherwriterdataset.cpp | 2 +- ogr/ogrsf_frmts/arrow/ogrfeatherwriterlayer.cpp | 5 +- ogr/ogrsf_frmts/cad/gdalcaddataset.cpp | 2 +- ogr/ogrsf_frmts/cad/ogr_cad.h | 9 +- ogr/ogrsf_frmts/cad/ogrcadlayer.cpp | 7 +- ogr/ogrsf_frmts/carto/ogr_carto.h | 2 + ogr/ogrsf_frmts/carto/ogrcartolayer.cpp | 9 + ogr/ogrsf_frmts/csv/ogr_csv.h | 12 +- ogr/ogrsf_frmts/csv/ogrcsvdatasource.cpp | 11 +- ogr/ogrsf_frmts/csv/ogrcsvlayer.cpp | 32 +- ogr/ogrsf_frmts/dgn/ogr_dgn.h | 9 +- ogr/ogrsf_frmts/dgn/ogrdgndatasource.cpp | 4 +- ogr/ogrsf_frmts/dgn/ogrdgnlayer.cpp | 7 +- ogr/ogrsf_frmts/dwg/ogr_dgnv8.h | 2 + ogr/ogrsf_frmts/dwg/ogr_dwg.h | 4 + ogr/ogrsf_frmts/dwg/ogrdgnv8layer.cpp | 9 + ogr/ogrsf_frmts/dwg/ogrdwgblockslayer.cpp | 9 + ogr/ogrsf_frmts/dwg/ogrdwglayer.cpp | 9 + ogr/ogrsf_frmts/dxf/ogr_dxf.h | 4 + ogr/ogrsf_frmts/dxf/ogrdxflayer.cpp | 9 + ogr/ogrsf_frmts/dxf/ogrdxfwriterlayer.cpp | 9 + ogr/ogrsf_frmts/elastic/ogr_elastic.h | 4 + .../elastic/ogrelasticaggregationlayer.cpp | 9 + ogr/ogrsf_frmts/elastic/ogrelasticlayer.cpp | 9 + ogr/ogrsf_frmts/filegdb/FGdbDatasource.cpp | 2 + ogr/ogrsf_frmts/filegdb/FGdbLayer.cpp | 9 + ogr/ogrsf_frmts/filegdb/ogr_fgdb.h | 2 + ogr/ogrsf_frmts/generic/ogrlayer.cpp | 55 ++ ogr/ogrsf_frmts/generic/ogrlayerarrow.cpp | 19 - ogr/ogrsf_frmts/generic/ogrmutexeddatasource.cpp | 2 + ogr/ogrsf_frmts/geojson/ogr_geojson.h | 4 + ogr/ogrsf_frmts/geojson/ogrgeojsonlayer.cpp | 9 + ogr/ogrsf_frmts/geojson/ogrgeojsonseqdriver.cpp | 5 + ogr/ogrsf_frmts/geojson/ogrgeojsonwritelayer.cpp | 9 + ogr/ogrsf_frmts/georss/ogr_georss.h | 2 + ogr/ogrsf_frmts/georss/ogrgeorsslayer.cpp | 9 + ogr/ogrsf_frmts/gml/ogr_gml.h | 2 + ogr/ogrsf_frmts/gml/ogrgmllayer.cpp | 9 + ogr/ogrsf_frmts/gmt/ogr_gmt.h | 8 +- ogr/ogrsf_frmts/gmt/ogrgmtdatasource.cpp | 3 +- ogr/ogrsf_frmts/gmt/ogrgmtlayer.cpp | 8 +- ogr/ogrsf_frmts/gpkg/ogrgeopackagedatasource.cpp | 65 ++ ogr/ogrsf_frmts/gpx/ogr_gpx.h | 2 + ogr/ogrsf_frmts/gpx/ogrgpxlayer.cpp | 9 + ogr/ogrsf_frmts/ili/ili2reader.cpp | 7 +- ogr/ogrsf_frmts/ili/ili2reader.h | 4 +- ogr/ogrsf_frmts/ili/ili2readerp.h | 3 +- ogr/ogrsf_frmts/ili/ogr_ili1.h | 2 + ogr/ogrsf_frmts/ili/ogr_ili2.h | 2 + ogr/ogrsf_frmts/ili/ogrili1layer.cpp | 9 + ogr/ogrsf_frmts/ili/ogrili2datasource.cpp | 2 +- ogr/ogrsf_frmts/ili/ogrili2layer.cpp | 9 + ogr/ogrsf_frmts/jml/ogr_jml.h | 8 + ogr/ogrsf_frmts/jml/ogrjmllayer.cpp | 10 +- ogr/ogrsf_frmts/jml/ogrjmlwriterlayer.cpp | 9 + ogr/ogrsf_frmts/jsonfg/ogr_jsonfg.h | 21 +- ogr/ogrsf_frmts/jsonfg/ogrjsonfgmemlayer.cpp | 4 +- ogr/ogrsf_frmts/jsonfg/ogrjsonfgreader.cpp | 4 +- ogr/ogrsf_frmts/jsonfg/ogrjsonfgstreamedlayer.cpp | 5 +- ogr/ogrsf_frmts/jsonfg/ogrjsonfgwritelayer.cpp | 9 + ogr/ogrsf_frmts/kml/ogr_kml.h | 2 + ogr/ogrsf_frmts/kml/ogrkmllayer.cpp | 9 + ogr/ogrsf_frmts/libkml/ogr_libkml.h | 2 + ogr/ogrsf_frmts/libkml/ogrlibkmlfield.cpp | 15 +- ogr/ogrsf_frmts/libkml/ogrlibkmlfield.h | 3 +- ogr/ogrsf_frmts/libkml/ogrlibkmllayer.cpp | 16 +- ogr/ogrsf_frmts/mapml/ogrmapmldataset.cpp | 10 + ogr/ogrsf_frmts/mitab/mitab.h | 19 +- ogr/ogrsf_frmts/mitab/mitab_imapinfofile.cpp | 17 +- ogr/ogrsf_frmts/mitab/mitab_miffile.cpp | 5 +- ogr/ogrsf_frmts/mitab/mitab_ogr_datasource.cpp | 14 +- ogr/ogrsf_frmts/mitab/mitab_tabfile.cpp | 16 +- ogr/ogrsf_frmts/mitab/mitab_tabseamless.cpp | 14 +- ogr/ogrsf_frmts/mitab/mitab_tabview.cpp | 16 +- ogr/ogrsf_frmts/mongodbv3/ogrmongodbv3driver.cpp | 5 + ogr/ogrsf_frmts/mssqlspatial/ogr_mssqlspatial.h | 4 +- .../mssqlspatial/ogrmssqlspatiallayer.cpp | 12 +- .../mssqlspatial/ogrmssqlspatialselectlayer.cpp | 3 +- .../mssqlspatial/ogrmssqlspatialtablelayer.cpp | 2 +- ogr/ogrsf_frmts/mvt/ogrmvtdataset.cpp | 27 + ogr/ogrsf_frmts/mysql/ogr_mysql.h | 30 +- ogr/ogrsf_frmts/mysql/ogrmysqllayer.cpp | 16 +- ogr/ogrsf_frmts/mysql/ogrmysqlresultlayer.cpp | 3 +- ogr/ogrsf_frmts/mysql/ogrmysqltablelayer.cpp | 7 +- ogr/ogrsf_frmts/oci/ogr_oci.h | 10 +- ogr/ogrsf_frmts/oci/ogrocilayer.cpp | 12 +- ogr/ogrsf_frmts/oci/ogrociloaderlayer.cpp | 3 +- ogr/ogrsf_frmts/oci/ogrociselectlayer.cpp | 3 +- ogr/ogrsf_frmts/oci/ogrocitablelayer.cpp | 2 +- ogr/ogrsf_frmts/oci/ogrociwritablelayer.cpp | 3 +- ogr/ogrsf_frmts/ods/ogr_ods.h | 2 + ogr/ogrsf_frmts/ods/ogrodsdatasource.cpp | 9 + ogr/ogrsf_frmts/openfilegdb/ogr_openfilegdb.h | 2 + .../openfilegdb/ogropenfilegdblayer.cpp | 9 + ogr/ogrsf_frmts/parquet/ogr_parquet.h | 2 + ogr/ogrsf_frmts/parquet/ogrparquetwriterlayer.cpp | 9 + ogr/ogrsf_frmts/pg/ogr_pg.h | 2 + ogr/ogrsf_frmts/pg/ogrpglayer.cpp | 9 + ogr/ogrsf_frmts/pgdump/ogr_pgdump.h | 2 + ogr/ogrsf_frmts/pgdump/ogrpgdumplayer.cpp | 9 + ogr/ogrsf_frmts/selafin/ogr_selafin.h | 8 +- ogr/ogrsf_frmts/selafin/ogrselafindatasource.cpp | 13 +- ogr/ogrsf_frmts/selafin/ogrselafinlayer.cpp | 7 +- ogr/ogrsf_frmts/sqlite/ogr_sqlite.h | 2 + ogr/ogrsf_frmts/sqlite/ogrsqlitedatasource.cpp | 4 + ogr/ogrsf_frmts/sqlite/ogrsqlitelayer.cpp | 9 + ogr/ogrsf_frmts/sqlite/ogrsqlitesqlfunctions.cpp | 183 ++-- ogr/ogrsf_frmts/vdv/ogr_vdv.h | 12 +- ogr/ogrsf_frmts/vdv/ogrvdvdatasource.cpp | 26 +- ogr/ogrsf_frmts/wasp/ogrwasp.h | 10 +- ogr/ogrsf_frmts/wasp/ogrwaspdatasource.cpp | 8 +- ogr/ogrsf_frmts/wasp/ogrwasplayer.cpp | 30 +- ogr/ogrsf_frmts/xls/ogr_xls.h | 2 + ogr/ogrsf_frmts/xls/ogrxlslayer.cpp | 9 + ogr/ogrsf_frmts/xlsx/ogr_xlsx.h | 2 + ogr/ogrsf_frmts/xlsx/ogrxlsxdatasource.cpp | 9 + ogr/ogrsurface.cpp | 39 +- port/cpl_http.cpp | 3 +- swig/include/Dataset_import.i | 9 + swig/include/java/gdal_java.i | 13 + swig/include/java/ogr_java.i | 1 + swig/include/ogr.i | 13 + swig/include/python/docs/ogr_docs.i | 134 +++ swig/include/python/docs/ogr_fielddef_docs.i | 1000 ++++---------------- swig/include/python/docs/ogr_fielddomain_docs.i | 236 +++++ swig/include/python/docs/ogr_geometry_docs.i | 31 + swig/include/python/docs/ogr_layer_docs.i | 11 + swig/include/python/ogr_python.i | 2 + swig/python/CMakeLists.txt | 2 + .../osgeo_utils/auxiliary/gdal_argparse.py | 3 + .../gdal-utils/osgeo_utils/auxiliary/util.py | 13 +- .../osgeo_utils/samples/gdalbuildvrtofvrt.py | 83 +- 218 files changed, 3411 insertions(+), 1396 deletions(-) create mode 100644 swig/include/Dataset_import.i create mode 100644 swig/include/python/docs/ogr_docs.i create mode 100644 swig/include/python/docs/ogr_fielddomain_docs.i git reset --hard HEAD HEAD is now at 6c24532714 Merge pull request #9581 from dbaston/doc-data-model git log --pretty=format:%H -n 1 > E:\buildsystem\release-1916-x64\doc\gdal_revision.txt type E:\buildsystem\release-1916-x64\doc\gdal_revision.txt 6c245327142566c8064373d35a0c835f05573863 cd E:\buildsystem set PATH=E:\buildsystem\release-1916-x64\bin;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCPackages;C:\Program Files (x86)\Microsoft SDKs\TypeScript\3.1;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\TestWindow;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\bin\Roslyn;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Team Tools\Performance Tools\x64;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Team Tools\Performance Tools;C:\Program Files (x86)\Microsoft Visual Studio\Shared\Common\VSPerfCollectionTools\\x64;C:\Program Files (x86)\Microsoft Visual Studio\Shared\Common\VSPerfCollectionTools\;C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\x64\;C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64;C:\Program Files (x86)\Windows Kits\10\bin\x64;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\\MSBuild\15.0\bin;C:\Windows\Microsoft.NET\Framework64\v4.0.30319;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\ActiveTcl\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\Git\cmd;C:\Program Files\dotnet\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\;C:\Program Files\Microsoft SQL Server\150\Tools\Binn\;C:\Program Files\7-Zip;C:\php;C:\Strawberry\c\bin;C:\Strawberry\perl\site\bin;C:\Strawberry\perl\bin;C:\Users\szekeres\AppData\Local\Microsoft\WindowsApps;C:\Users\szekeres\.dotnet\tools;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja git config --global core.autocrlf false if not exist src\mapcache-vc15x64 git clone -b main https://github.com/MapServer/mapcache.git src\mapcache-vc15x64 cd src\mapcache-vc15x64 git reset --hard HEAD HEAD is now at 7104eca Update cache_disk.c (#330) git fetch git checkout main Your branch is up to date with 'origin/main'. git pull origin main Already up to date. git log --pretty=format:%H -n 1 > E:\buildsystem\release-1916-x64\doc\mapcache_revision.txt type E:\buildsystem\release-1916-x64\doc\mapcache_revision.txt 7104eca2140bb4657d3e9dcadd5ba14d46a5a371 cd E:\buildsystem