OSGeo / grass

GRASS GIS - free and open-source geospatial processing engine
https://grass.osgeo.org
Other
843 stars 308 forks source link

[Feat] PROJ 7.0.0 released - check for adaption in (win)GRASS #395

Open hellik opened 4 years ago

hellik commented 4 years ago

Is your feature request related to a problem? Please describe.

PROJ 7.0.0 has been released these days (announcement)

It is my pleasure to announce new releases of PROJ and related packages.

The major feature in PROJ 7 is significantly improved handling of gridded
models. This was implemented in RFC4 [0]. The main features of the RFC4
work is that PROJ now implements a new grid format, Geodetic TIFF grids,
for exchaning gridded transformation models. In addition to the new grid format,
PROJ can now also access grids online using a data store in the cloud.

The grids that was previously available via the proj-datumgrid packages are now
available in two places:

  1. The new PROJ-data package
  2. From the cloud via https://cdn.proj.org

The PROJ-data package includes all grids and other resources previously tracked
by the proj-datumgrid series of packages as well as some new grids. All grids in the
PROJ-data package have been converted to the new Geodetic Tiff Grid (GTG)
format introduced in PROJ with RFC4. The advantages of the GTG format are 

* Grids can contain more metadata than previous formats used by PROJ
* Grids are compressed, taking up significantly less space
* Cloud optimized, for easy on-the-fly access to grids online via https://cdn.proj.org/
* Advanced gridded models previously consisting of several files can now be
  contained in one file

The data in the PROJ-data package is mirrored on https://cdn.proj.org/. A
network-enabled PROJ build can leverage the CDN and retrieve (parts of) grids as
specific transformations need them on the fly.

PROJ-data can only be used with PROJ 7.0.0 and newer.

Provided with PROJ is a utility called projsync that can be used download grids
from the data store in the cloud.

The use of the new grid format and the data from the cloud requires that
PROJ is build against libtiff and libcurl. Both are optional dependencies
to PROJ but it is highly encouraged that the software is build against both.

PROJ 7.0.0 and the accompanying PROJ-data package can be download here:

http://download.osgeo.org/proj/proj-7.0.0.tar.gz
http://download.osgeo.org/proj/proj-7.0.0.zip

http://download.osgeo.org/proj/proj-data-1.0.tar.gz
http://download.osgeo.org/proj/proj-data-1.0.zip

In addition the PROJ-data package the old proj-datumgrid series of packages
has also been updated, to extend the life-time of the PROJ 6.x branch a bit
longer. These will be the last updates to the proj-datumgrid packages. The
Updated packages can be downloaded here:

http://download.osgeo.org/proj/proj-datumgrid-europe-1.6.tar.gz
http://download.osgeo.org/proj/proj-datumgrid-europe-1.6.zip

http://download.osgeo.org/proj/proj-datumgrid-north-america-1.4.tar.gz
http://download.osgeo.org/proj/proj-datumgrid-north-america-1.4.zip

http://download.osgeo.org/proj/proj-datumgrid-oceania-1.2.tar.gz
http://download.osgeo.org/proj/proj-datumgrid-oceania-1.2.zip

ATTENTION: PROJ 7 will be last major release version that includes the proj_api.h
header. The functionality in proj_api.h is deprecated and only supported in
maintenance mode. It is inferior to the functionality provided by functions
in the proj.h header and all projects still relying on proj_api.h are encouraged
to migrate to the new API in proj.h. See https://proj.org/development/migration.html
for more info on how to migrate from the old to the new API.

[0] https://proj.org/community/rfc/rfc-4.html

Describe the solution you'd like

check for needed adaptions in (win)GRASS; e.g. which PROJ-data package should be included in standalone installers, etc.

metzm commented 4 years ago

Regarding GRASS packaging, the most important new features in PROJ 7 are

The new PROJ-data package is with 484M quite heavy, substantially increasing the size of the standalone installer. OTOH, not including the new PROJ-data package requires internet connection to fetch needed (parts of) grids for coordinate operations, which is inconvenient in countries with generally poor internet connection (e.g. Germany). Therefore I opt to include the new PROJ-data package in the GRASS standalone installer.

rs-aesi commented 4 years ago

If the main concern is the size of pre-built Windows packages how about adjusting GRASS to use proj-7.x so that those of us running linux (perhaps macos, too) can build from source repo pulls? That makes it available for those of us who build from source while the package inclusion issue is decided.

neteler commented 4 years ago

@metzm just to be sure: are further changes needed in GRASS GIS to support PROJ 7.x or is that already supported?