Opened 5 years ago

Last modified 8 months ago

#198 new task

upgrade to PROJ 6.x series (now PROJ 9)

Reported by: Jeff McKenna Owned by: Jeff McKenna
Priority: blocker Milestone: 5.0.0 release
Component: MS4W - Base Version: 4.0.0
Keywords: Cc: TC Haddad
Blocked By: Blocking: #211, #212, #255, #278

Description (last modified by Jeff McKenna)

  • this will be a long-term goal, as PROJ 6 requires substantial changes for software projects that will use it
    • MapServer will likely wait until MapServer 8.0 to implement
    • GDAL 3.0 requires PROJ 6
    • GeoTIFF has released 1.5.0 that requires PROJ 6
    • other projects that will need to update their source first: SPATIALITE, SPATIALITE-TOOLS, MAPCACHE, OSM2PGSQL

Change History (25)

comment:1 by Jeff McKenna, 5 years ago

Description: modified (diff)

comment:2 by Jeff McKenna, 5 years ago

Description: modified (diff)

comment:3 by Jeff McKenna, 5 years ago

Here is a pretty thorough tracking of all PROJ-dependent libraries & their PROJ 6 status: https://github.com/OSGeo/proj.4/wiki/proj.h-adoption-status

comment:4 by Jeff McKenna, 5 years ago

Blocking: 211 added

comment:5 by Jeff McKenna, 5 years ago

Blocking: 212 added

comment:6 by Jeff McKenna, 4 years ago

Summary: upgrade to PROJ 6 releaseupgrade to PROJ 6.x series

comment:7 by Jeff McKenna, 4 years ago

Description: modified (diff)

comment:8 by Jeff McKenna, 4 years ago

Description: modified (diff)

comment:9 by Jeff McKenna, 4 years ago

Blocking: 255 added

comment:10 by Jeff McKenna, 4 years ago

I've been building proj-master in the MS4W environment recently, and including that in GDAL builds locally. With GDAL's upcoming 3.1.0 release, and PROJ set to release 7.0.1 on May 1st (https://github.com/OSGeo/PROJ/milestones?direction=asc&sort=due_date&state=open), it is a good time to add both into MS4W (most of the issues with PROJ >=6 have hopefully been filtered out).

My gut feeling is to:

  • create an MS4W 4.1.0-alpha build and distribute to the user list and ask for testing
  • include GDAL 3.1.0 and PROJ 7.0.1
  • as PROJ 7 adds network capability to the geotiff grids (https://proj.org/usage/network.html), and since MS4W >=4 has been already including all necessary grid files for MS4W users (as most don't realize that these grids are required for accuracy), my gut says to:
    • include all geotiff grid files inside MS4W (there must but a command/script to download all at once)
    • also set PROJ_NETWORK=ON in setenv.bat and Apache's httpd.conf to hopefully enable automatic downloading of updated/missing grids on-the-fly
      • this needs testing, especially as I wonder what tmp path PROJ uses/requires on Windows
    • test with MapServer, as the many rumors of the poor impact on performance for MapServer CGI (is this true: unknown at the moment)

comment:11 by Jeff McKenna, 4 years ago

Milestone: 4.1 release4.2 release

Milestone renamed

comment:12 by Jeff McKenna, 4 years ago

Summary: upgrade to PROJ 6.x seriesupgrade to PROJ 6.x series (now PROJ 7)

comment:13 by Jeff McKenna, 4 years ago

Milestone: 4.2 release4.1 release

Milestone renamed

comment:14 by Jeff McKenna, 4 years ago

Here is a list of the PROJ-data grid sizes, totaling over 500MB. The MS4W installer could allow the user to select which grids to install, and then rely on PROJ_NETWORK=ON to pull in other grids as needed:

100.00%  523111200  ( 523.11 MB)  .
 15.41%   80585622  (  80.59 MB)  ./us_nga_egm08_25.tif
 13.96%   73022201  (  73.02 MB)  ./de_lgl_bw_BWTA2017.tif
  5.21%   27272664  (  27.27 MB)
./au_icsm_GDA94_GDA2020_conformal_and_distortion.tif
  3.26%   17033175  (  17.03 MB)  ./us_noaa_g2012bu0.tif
  3.21%   16767965  (  16.77 MB)  ./us_noaa_geoid09_conus.tif
  3.20%   16742155  (  16.74 MB)  ./us_noaa_g2018u0.tif
  3.14%   16451024  (  16.45 MB)  ./us_noaa_geoid03_conus.tif
  2.44%   12781759  (  12.78 MB)  ./au_ga_AUSGeoid09_V1.01.tif
  2.19%   11478497  (  11.48 MB)  ./us_noaa_geoid06_ak.tif
  2.17%   11342483  (  11.34 MB)  ./us_noaa_g2012ba0.tif
  2.16%   11279068  (  11.28 MB)  ./us_noaa_geoid09_ak.tif
  2.11%   11031336  (  11.03 MB)  ./ca_nrc_CGG2013an83.tif
  2.11%   11030895  (  11.03 MB)  ./ca_nrc_CGG2013n83.tif
  2.08%   10906276  (  10.91 MB)  ./ca_nrc_CGG2013ai08.tif
  2.08%   10906091  (  10.91 MB)  ./ca_nrc_CGG2013i08.tif
  1.53%    8002286  (   8.00 MB)  ./ca_nrc_ON27CSv1.tif
  1.49%    7784410  (   7.78 MB)  ./ca_nrc_ntv2_0.tif
  1.40%    7300425  (   7.30 MB)  ./ca_nrc_ON76CSv1.tif
  1.36%    7114024  (   7.11 MB)  ./dk_sdfe_gvr2016.tif
  1.18%    6180460  (   6.18 MB)  ./ca_nrc_MAY76V20.tif
  1.13%    5934098  (   5.93 MB)  ./au_icsm_National_84_02_07_01.tif
  1.12%    5839686  (   5.84 MB)  ./au_ga_AUSGeoid2020_20180201.tif
  1.00%    5232082  (   5.23 MB)  ./nz_linz_nzgeoid2016.tif
Version 0, edited 4 years ago by Jeff McKenna (next)

comment:15 by Jeff McKenna, 4 years ago

Blocking: 278 added

comment:16 by Jeff McKenna, 4 years ago

  • also must configure proj.ini in /ms4w/proj/nad/

comment:17 by Jeff McKenna, 4 years ago

Milestone: 4.1 release4.1.0 release

Milestone renamed

comment:18 by Jeff McKenna, 4 years ago

Blocking: 292 added

comment:19 by Jeff McKenna, 4 years ago

Blocking: 292 removed

comment:20 by Jeff McKenna, 3 years ago

Summary: upgrade to PROJ 6.x series (now PROJ 7)upgrade to PROJ 6.x series (now PROJ 8)

comment:21 by Jeff McKenna, 3 years ago

update:

  • there is now a PROJ_USER_WRITABLE_DIRECTORY environment variable as part of PROJ 8.1.0 that we can use
    • must set that to "/ms4w/proj/grids"
    • set that in setenv.bat & httpd.conf
    • all grids and cache.db (chunks of grids) will be stored there

comment:22 by Jeff McKenna, 3 years ago

Milestone: 4.1.0 release5.0.0 release

Milestone renamed

comment:23 by Jeff McKenna, 3 years ago

PROJ 8.2.0 is about to be released, must include in MS4W 5.0

comment:24 by Jeff McKenna, 17 months ago

Summary: upgrade to PROJ 6.x series (now PROJ 8)upgrade to PROJ 6.x series (now PROJ 9)

comment:25 by Jeff McKenna, 8 months ago

PROJ 9.3.0 was released today and will be included in MS4W 5.0-final

Note: See TracTickets for help on using tickets.