From db31b6dfa9c8fe37d5706d95ce81012b8db3c3b9 Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Wed, 22 Jan 2020 18:31:26 +0100 Subject: Merge RFC4 (#1865) This commit is the result of the squashing of rfc4_dev branch in a single commit. It implements mostly RFC 4 related work. * Grid handling: - remove obsolete and presumably unfinished implementation of grid catalog functionality - all grid functionality is in grids.cpp/.hpp - vertical and horizontal grid shift: rework to no longer load whole grid into memory - remove hgrids and vgrids member from PJ structure, and store them in hgridshift/vgridshift/deformation structures - build systems: add optional libtiff dependency. Must be explicitly disabled if not desired - add support for horizontal and vertical grids in GeoTIFF, if libtiff is available - add GenericShiftGridSet and GenericShiftGrid classes, relying on TIFF grids, that can be used for generic purpose grid-based adjustment - add a +proj=xyzgridshift method to perform geocentric translation by grid. Used for French NTF to RGF93 transformation using gr3df97a.tif grid - deformation: add support for +grids= for GeoTIFF grids - horizontal grid shift: fix failures on points slightly outside a subgrid (fixes #209) * File management: - add a filemanager.cpp/.hpp to deal with file related work - test for legacy proj_api.h fileapi - proj.h: add proj_context_set_fileapi() and proj_context_set_sqlite3_vfs_name() (fixes #866) - add capability to read resource files from the user writable directory * Network access: - build systems: add optional curl dependency - add a curl-based default implementation for network related functionality - proj.h: add C API to control network functionality, and optionaly provide network callbacks - add data/proj.ini with default settings - add a SQLite3 local cache of downloaded chunks - add proj_is_download_needed() and proj_download_file() * Use Win32 Unicode APIs and expect all strings to be UTF-8 (fixes #1765) For backward compatibility, if PROJ_LIB content is found to be not UTF-8 or pointing to a non existing directory, then an attempt at interpretating it in the ANSI page encoding is done. proj_context_set_search_paths() now assumes strings to be in UTF-8, and functions returning paths will also return values in UTF-8. --- data/tests/egm96_15_uncompressed_truncated.tif | Bin 0 -> 956 bytes data/tests/nkgrf03vel_realigned_extract.tif | Bin 0 -> 1795 bytes data/tests/nkgrf03vel_realigned_xy_extract.ct2 | Bin 0 -> 360 bytes data/tests/nkgrf03vel_realigned_z_extract.gtx | Bin 0 -> 140 bytes data/tests/subset_of_gr3df97a.tif | Bin 0 -> 3215 bytes data/tests/test_hgrid.tif | Bin 0 -> 506 bytes data/tests/test_hgrid_degree.tif | Bin 0 -> 680 bytes data/tests/test_hgrid_extra_ifd_with_other_info.tif | Bin 0 -> 1708 bytes data/tests/test_hgrid_lon_shift_first.tif | Bin 0 -> 764 bytes data/tests/test_hgrid_positive_west.tif | Bin 0 -> 764 bytes data/tests/test_hgrid_radian.tif | Bin 0 -> 680 bytes data/tests/test_hgrid_separate.tif | Bin 0 -> 514 bytes data/tests/test_hgrid_strip.tif | Bin 0 -> 514 bytes data/tests/test_hgrid_tiled.tif | Bin 0 -> 4920 bytes data/tests/test_hgrid_tiled_separate.tif | Bin 0 -> 2256 bytes data/tests/test_hgrid_with_overview.tif | Bin 0 -> 864 bytes data/tests/test_hgrid_with_subgrid.tif | Bin 0 -> 6943 bytes data/tests/test_hgrid_with_subgrid_no_grid_name.tif | Bin 0 -> 6943 bytes ...est_hgrid_with_two_level_of_subgrids_no_grid_name.tif | Bin 0 -> 3504 bytes data/tests/test_vgrid_bigendian.tif | Bin 0 -> 430 bytes data/tests/test_vgrid_bigendian_bigtiff.tif | Bin 0 -> 568 bytes data/tests/test_vgrid_bigtiff.tif | Bin 0 -> 568 bytes data/tests/test_vgrid_bottomup_with_matrix.tif | Bin 0 -> 474 bytes data/tests/test_vgrid_bottomup_with_scale.tif | Bin 0 -> 430 bytes data/tests/test_vgrid_deflate.tif | Bin 0 -> 430 bytes data/tests/test_vgrid_deflate_floatingpointpredictor.tif | Bin 0 -> 422 bytes data/tests/test_vgrid_float64.tif | Bin 0 -> 494 bytes data/tests/test_vgrid_in_second_channel.tif | Bin 0 -> 632 bytes data/tests/test_vgrid_int16.tif | Bin 0 -> 398 bytes data/tests/test_vgrid_int32.tif | Bin 0 -> 430 bytes data/tests/test_vgrid_invalid_channel_type.tif | Bin 0 -> 560 bytes data/tests/test_vgrid_nodata.tif | Bin 0 -> 464 bytes data/tests/test_vgrid_pixelisarea.tif | Bin 0 -> 430 bytes data/tests/test_vgrid_pixelispoint.tif | Bin 0 -> 430 bytes data/tests/test_vgrid_single_strip_truncated.tif | Bin 0 -> 550 bytes data/tests/test_vgrid_uint16.tif | Bin 0 -> 398 bytes data/tests/test_vgrid_uint16_with_scale_offset.tif | Bin 0 -> 556 bytes data/tests/test_vgrid_uint32.tif | Bin 0 -> 430 bytes data/tests/test_vgrid_unsupported_byte.tif | Bin 0 -> 382 bytes data/tests/test_vgrid_with_overview.tif | Bin 0 -> 707 bytes data/tests/test_vgrid_with_subgrid.tif | Bin 0 -> 756 bytes 41 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 data/tests/egm96_15_uncompressed_truncated.tif create mode 100644 data/tests/nkgrf03vel_realigned_extract.tif create mode 100644 data/tests/nkgrf03vel_realigned_xy_extract.ct2 create mode 100644 data/tests/nkgrf03vel_realigned_z_extract.gtx create mode 100644 data/tests/subset_of_gr3df97a.tif create mode 100644 data/tests/test_hgrid.tif create mode 100644 data/tests/test_hgrid_degree.tif create mode 100644 data/tests/test_hgrid_extra_ifd_with_other_info.tif create mode 100644 data/tests/test_hgrid_lon_shift_first.tif create mode 100644 data/tests/test_hgrid_positive_west.tif create mode 100644 data/tests/test_hgrid_radian.tif create mode 100644 data/tests/test_hgrid_separate.tif create mode 100644 data/tests/test_hgrid_strip.tif create mode 100644 data/tests/test_hgrid_tiled.tif create mode 100644 data/tests/test_hgrid_tiled_separate.tif create mode 100644 data/tests/test_hgrid_with_overview.tif create mode 100644 data/tests/test_hgrid_with_subgrid.tif create mode 100644 data/tests/test_hgrid_with_subgrid_no_grid_name.tif create mode 100644 data/tests/test_hgrid_with_two_level_of_subgrids_no_grid_name.tif create mode 100644 data/tests/test_vgrid_bigendian.tif create mode 100644 data/tests/test_vgrid_bigendian_bigtiff.tif create mode 100644 data/tests/test_vgrid_bigtiff.tif create mode 100644 data/tests/test_vgrid_bottomup_with_matrix.tif create mode 100644 data/tests/test_vgrid_bottomup_with_scale.tif create mode 100644 data/tests/test_vgrid_deflate.tif create mode 100644 data/tests/test_vgrid_deflate_floatingpointpredictor.tif create mode 100644 data/tests/test_vgrid_float64.tif create mode 100644 data/tests/test_vgrid_in_second_channel.tif create mode 100644 data/tests/test_vgrid_int16.tif create mode 100644 data/tests/test_vgrid_int32.tif create mode 100644 data/tests/test_vgrid_invalid_channel_type.tif create mode 100644 data/tests/test_vgrid_nodata.tif create mode 100644 data/tests/test_vgrid_pixelisarea.tif create mode 100644 data/tests/test_vgrid_pixelispoint.tif create mode 100644 data/tests/test_vgrid_single_strip_truncated.tif create mode 100644 data/tests/test_vgrid_uint16.tif create mode 100644 data/tests/test_vgrid_uint16_with_scale_offset.tif create mode 100644 data/tests/test_vgrid_uint32.tif create mode 100644 data/tests/test_vgrid_unsupported_byte.tif create mode 100644 data/tests/test_vgrid_with_overview.tif create mode 100644 data/tests/test_vgrid_with_subgrid.tif (limited to 'data/tests') diff --git a/data/tests/egm96_15_uncompressed_truncated.tif b/data/tests/egm96_15_uncompressed_truncated.tif new file mode 100644 index 00000000..bd34a7e2 Binary files /dev/null and b/data/tests/egm96_15_uncompressed_truncated.tif differ diff --git a/data/tests/nkgrf03vel_realigned_extract.tif b/data/tests/nkgrf03vel_realigned_extract.tif new file mode 100644 index 00000000..6db8eae4 Binary files /dev/null and b/data/tests/nkgrf03vel_realigned_extract.tif differ diff --git a/data/tests/nkgrf03vel_realigned_xy_extract.ct2 b/data/tests/nkgrf03vel_realigned_xy_extract.ct2 new file mode 100644 index 00000000..89232b9f Binary files /dev/null and b/data/tests/nkgrf03vel_realigned_xy_extract.ct2 differ diff --git a/data/tests/nkgrf03vel_realigned_z_extract.gtx b/data/tests/nkgrf03vel_realigned_z_extract.gtx new file mode 100644 index 00000000..5ea8aac7 Binary files /dev/null and b/data/tests/nkgrf03vel_realigned_z_extract.gtx differ diff --git a/data/tests/subset_of_gr3df97a.tif b/data/tests/subset_of_gr3df97a.tif new file mode 100644 index 00000000..a98783f3 Binary files /dev/null and b/data/tests/subset_of_gr3df97a.tif differ diff --git a/data/tests/test_hgrid.tif b/data/tests/test_hgrid.tif new file mode 100644 index 00000000..94718c21 Binary files /dev/null and b/data/tests/test_hgrid.tif differ diff --git a/data/tests/test_hgrid_degree.tif b/data/tests/test_hgrid_degree.tif new file mode 100644 index 00000000..d06782ec Binary files /dev/null and b/data/tests/test_hgrid_degree.tif differ diff --git a/data/tests/test_hgrid_extra_ifd_with_other_info.tif b/data/tests/test_hgrid_extra_ifd_with_other_info.tif new file mode 100644 index 00000000..b7e67af7 Binary files /dev/null and b/data/tests/test_hgrid_extra_ifd_with_other_info.tif differ diff --git a/data/tests/test_hgrid_lon_shift_first.tif b/data/tests/test_hgrid_lon_shift_first.tif new file mode 100644 index 00000000..395f0743 Binary files /dev/null and b/data/tests/test_hgrid_lon_shift_first.tif differ diff --git a/data/tests/test_hgrid_positive_west.tif b/data/tests/test_hgrid_positive_west.tif new file mode 100644 index 00000000..4ebc17cc Binary files /dev/null and b/data/tests/test_hgrid_positive_west.tif differ diff --git a/data/tests/test_hgrid_radian.tif b/data/tests/test_hgrid_radian.tif new file mode 100644 index 00000000..30219ccd Binary files /dev/null and b/data/tests/test_hgrid_radian.tif differ diff --git a/data/tests/test_hgrid_separate.tif b/data/tests/test_hgrid_separate.tif new file mode 100644 index 00000000..ef2ca575 Binary files /dev/null and b/data/tests/test_hgrid_separate.tif differ diff --git a/data/tests/test_hgrid_strip.tif b/data/tests/test_hgrid_strip.tif new file mode 100644 index 00000000..e38fc609 Binary files /dev/null and b/data/tests/test_hgrid_strip.tif differ diff --git a/data/tests/test_hgrid_tiled.tif b/data/tests/test_hgrid_tiled.tif new file mode 100644 index 00000000..b0d5dd8b Binary files /dev/null and b/data/tests/test_hgrid_tiled.tif differ diff --git a/data/tests/test_hgrid_tiled_separate.tif b/data/tests/test_hgrid_tiled_separate.tif new file mode 100644 index 00000000..d7e0934f Binary files /dev/null and b/data/tests/test_hgrid_tiled_separate.tif differ diff --git a/data/tests/test_hgrid_with_overview.tif b/data/tests/test_hgrid_with_overview.tif new file mode 100644 index 00000000..d7453b49 Binary files /dev/null and b/data/tests/test_hgrid_with_overview.tif differ diff --git a/data/tests/test_hgrid_with_subgrid.tif b/data/tests/test_hgrid_with_subgrid.tif new file mode 100644 index 00000000..46a8f2f4 Binary files /dev/null and b/data/tests/test_hgrid_with_subgrid.tif differ diff --git a/data/tests/test_hgrid_with_subgrid_no_grid_name.tif b/data/tests/test_hgrid_with_subgrid_no_grid_name.tif new file mode 100644 index 00000000..974699b5 Binary files /dev/null and b/data/tests/test_hgrid_with_subgrid_no_grid_name.tif differ diff --git a/data/tests/test_hgrid_with_two_level_of_subgrids_no_grid_name.tif b/data/tests/test_hgrid_with_two_level_of_subgrids_no_grid_name.tif new file mode 100644 index 00000000..2abb3226 Binary files /dev/null and b/data/tests/test_hgrid_with_two_level_of_subgrids_no_grid_name.tif differ diff --git a/data/tests/test_vgrid_bigendian.tif b/data/tests/test_vgrid_bigendian.tif new file mode 100644 index 00000000..5cf4a039 Binary files /dev/null and b/data/tests/test_vgrid_bigendian.tif differ diff --git a/data/tests/test_vgrid_bigendian_bigtiff.tif b/data/tests/test_vgrid_bigendian_bigtiff.tif new file mode 100644 index 00000000..a586b85f Binary files /dev/null and b/data/tests/test_vgrid_bigendian_bigtiff.tif differ diff --git a/data/tests/test_vgrid_bigtiff.tif b/data/tests/test_vgrid_bigtiff.tif new file mode 100644 index 00000000..2a01893a Binary files /dev/null and b/data/tests/test_vgrid_bigtiff.tif differ diff --git a/data/tests/test_vgrid_bottomup_with_matrix.tif b/data/tests/test_vgrid_bottomup_with_matrix.tif new file mode 100644 index 00000000..90f637dc Binary files /dev/null and b/data/tests/test_vgrid_bottomup_with_matrix.tif differ diff --git a/data/tests/test_vgrid_bottomup_with_scale.tif b/data/tests/test_vgrid_bottomup_with_scale.tif new file mode 100644 index 00000000..636b7dc7 Binary files /dev/null and b/data/tests/test_vgrid_bottomup_with_scale.tif differ diff --git a/data/tests/test_vgrid_deflate.tif b/data/tests/test_vgrid_deflate.tif new file mode 100644 index 00000000..ee3b5f0a Binary files /dev/null and b/data/tests/test_vgrid_deflate.tif differ diff --git a/data/tests/test_vgrid_deflate_floatingpointpredictor.tif b/data/tests/test_vgrid_deflate_floatingpointpredictor.tif new file mode 100644 index 00000000..5fd7b9fa Binary files /dev/null and b/data/tests/test_vgrid_deflate_floatingpointpredictor.tif differ diff --git a/data/tests/test_vgrid_float64.tif b/data/tests/test_vgrid_float64.tif new file mode 100644 index 00000000..16b3e790 Binary files /dev/null and b/data/tests/test_vgrid_float64.tif differ diff --git a/data/tests/test_vgrid_in_second_channel.tif b/data/tests/test_vgrid_in_second_channel.tif new file mode 100644 index 00000000..d377f8b7 Binary files /dev/null and b/data/tests/test_vgrid_in_second_channel.tif differ diff --git a/data/tests/test_vgrid_int16.tif b/data/tests/test_vgrid_int16.tif new file mode 100644 index 00000000..1c69b5d6 Binary files /dev/null and b/data/tests/test_vgrid_int16.tif differ diff --git a/data/tests/test_vgrid_int32.tif b/data/tests/test_vgrid_int32.tif new file mode 100644 index 00000000..1b6dfd7b Binary files /dev/null and b/data/tests/test_vgrid_int32.tif differ diff --git a/data/tests/test_vgrid_invalid_channel_type.tif b/data/tests/test_vgrid_invalid_channel_type.tif new file mode 100644 index 00000000..ec9e641f Binary files /dev/null and b/data/tests/test_vgrid_invalid_channel_type.tif differ diff --git a/data/tests/test_vgrid_nodata.tif b/data/tests/test_vgrid_nodata.tif new file mode 100644 index 00000000..65ec5343 Binary files /dev/null and b/data/tests/test_vgrid_nodata.tif differ diff --git a/data/tests/test_vgrid_pixelisarea.tif b/data/tests/test_vgrid_pixelisarea.tif new file mode 100644 index 00000000..a5409f66 Binary files /dev/null and b/data/tests/test_vgrid_pixelisarea.tif differ diff --git a/data/tests/test_vgrid_pixelispoint.tif b/data/tests/test_vgrid_pixelispoint.tif new file mode 100644 index 00000000..cfeb598f Binary files /dev/null and b/data/tests/test_vgrid_pixelispoint.tif differ diff --git a/data/tests/test_vgrid_single_strip_truncated.tif b/data/tests/test_vgrid_single_strip_truncated.tif new file mode 100644 index 00000000..9a0030f6 Binary files /dev/null and b/data/tests/test_vgrid_single_strip_truncated.tif differ diff --git a/data/tests/test_vgrid_uint16.tif b/data/tests/test_vgrid_uint16.tif new file mode 100644 index 00000000..a03d9a73 Binary files /dev/null and b/data/tests/test_vgrid_uint16.tif differ diff --git a/data/tests/test_vgrid_uint16_with_scale_offset.tif b/data/tests/test_vgrid_uint16_with_scale_offset.tif new file mode 100644 index 00000000..b08fa4a3 Binary files /dev/null and b/data/tests/test_vgrid_uint16_with_scale_offset.tif differ diff --git a/data/tests/test_vgrid_uint32.tif b/data/tests/test_vgrid_uint32.tif new file mode 100644 index 00000000..cae7e9e7 Binary files /dev/null and b/data/tests/test_vgrid_uint32.tif differ diff --git a/data/tests/test_vgrid_unsupported_byte.tif b/data/tests/test_vgrid_unsupported_byte.tif new file mode 100644 index 00000000..ccf03fc8 Binary files /dev/null and b/data/tests/test_vgrid_unsupported_byte.tif differ diff --git a/data/tests/test_vgrid_with_overview.tif b/data/tests/test_vgrid_with_overview.tif new file mode 100644 index 00000000..aa15aa1d Binary files /dev/null and b/data/tests/test_vgrid_with_overview.tif differ diff --git a/data/tests/test_vgrid_with_subgrid.tif b/data/tests/test_vgrid_with_subgrid.tif new file mode 100644 index 00000000..5c7584c4 Binary files /dev/null and b/data/tests/test_vgrid_with_subgrid.tif differ -- cgit v1.2.3