Skip to content
This repository has been archived by the owner on May 18, 2022. It is now read-only.

Include Canada's NTv2.0 grid shift file #26

Closed
mwtoews opened this issue Sep 16, 2018 · 8 comments
Closed

Include Canada's NTv2.0 grid shift file #26

mwtoews opened this issue Sep 16, 2018 · 8 comments

Comments

@mwtoews
Copy link
Member

mwtoews commented Sep 16, 2018

Initially discussed on http://lists.maptools.org/pipermail/proj/2018-September/008387.html

Canada's NTV2_0.GSB can now be freely downloaded from https://open.canada.ca/data/en/dataset/b3534942-31ea-59cf-bcc3-f8dc4875081a

This file is a binary grid shift file (.gsb format) to transform coordinates between the NAD27 and NAD83 reference systems and vice-versa. It has a higher resolution to ntv1_can.dat, which is included to proj-datumgrid under public domain.

The newer grid shift file is licensed under Canada's Open Government Licence, which is nearly identical to UK's Open Government Licence, which has:

... terms [that] are compatible with the Creative Commons Attribution License 4.0 and the Open Data Commons Attribution License, both of which license copyright and database rights.

It looks fine from my perspective to be included in this package. Does anyone else see differently?

I'd advise keeping the older grid shift file (ntv1_can.dat, 1.06 MB), and adding the 13.8 MB to the north-america directory. Should we rename it from NTV2_0.GSB to (e.g.) ntv2_0.gsb?

@sebastic
Copy link
Collaborator

The terms of the OGL - Canada look compatible with the DFSG & OSD. There is already code under that (and the UKs) license in Debian, so it seems to pass Debian FTP master scrutiny too.

The GSB should indeed be added to the north-america archive due to its size, but renaming it to use a lowercase filename is probably not a good idea. Init and other files are likely to reference the file as distributed, with its uppercase filename.

@mwtoews
Copy link
Member Author

mwtoews commented Sep 16, 2018

@sebastic thanks for reviewing the license compatibility! I'll assemble a PR with the unmodified file name.

@mwtoews
Copy link
Member Author

mwtoews commented Sep 18, 2018

I just noticed that there are several references to ntv2_0.gsb in PROJ:

The nad tests are only run if the lowercase file is present, but not the uppercase name. The references to ntv2_0.gsb were added by Frank on 2003-03-17 (from the ChangeLog). Should we reconsider renaming this grid shift file, so it can be used with older versions of PROJ?

@kbevers
Copy link
Member

kbevers commented Sep 18, 2018

How about adding a few symbolic links with lower/mixed case names?

@mwtoews
Copy link
Member Author

mwtoews commented Sep 24, 2018

The simplest solution that I see is to rename this to a lowercase filename. Here's the rationale:

  • Symbolic links are not supported by all operating systems, and when unzipping two files with upper/lowercase names on Windows 10, only one file is effectively extracted, so it's a bit messy/unclear.
  • Only the lowercase name is used in PROJ since version 4.4.7 released 2003-03-31, over 15 years ago. This lower case name is embedded in the C source, makefiles, and documentation. The documentation also used to indicate that the file be renamed to a lowercase name. By using a lowercase name, no changes would be need to be made to either historic or current versions of PROJ.
  • This file is from 1995 and written for DOS, which only use uppercase file names. However, doing some web searching, I can't find anyone referencing the uppercase name. Only lower or mixed case names are used by other software (a few examples are linked in Add NTV2_0.GSB for Canada #27), and these are predominantly from case-insensitive operating systems, besides a few exceptions (e.g. Safe FME or ArcSDE).

Any objections to moving this file to a lower case filename?

@sebastic
Copy link
Collaborator

If most references to the file use the lowercase instead of uppercase as distributed, no objection from me.

@kbevers
Copy link
Member

kbevers commented Sep 24, 2018

Convincing writeup! No objections from me either.

@mwtoews
Copy link
Member Author

mwtoews commented Sep 24, 2018

All PROJ versions since 4.4.7 use lowercase name.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants