proj: Update to 5.0.0

5.0.0 Release Notes
-------------------

This version of PROJ introduces some significant extensions and
improvements to (primarily) the geodetic functionality of the system.

The main driver for introducing the new features is the emergence of
dynamic reference frames, the increasing use of high accuracy GNSS,
and the related growing demand for accurate coordinate
transformations.  While older versions of PROJ included some geodetic
functionality, the new framework lays the foundation for turning PROJ
into a generic geospatial coordinate transformation engine.

[see upstream NEWS]


 UPDATES
 -------

 o Introduced new API in proj.h.
   - The new API is orthogonal to the existing proj_api.h API and the
     internally used projects.h API.
   - The new API adds the ability to transform spatiotemporal (4D)
     coordinates.
   - Functions in the new API use the "proj_" namespace.
   - Data types in the new API use the "PJ_" namespace, with a few
     historic exceptions such as XY, XYZ, LP and LPZ.

 o Introduced the concept of "transformation pipelines" that makes it
   possible to do complex geodetic transformations of spatiotemporal
   coordinates by daisy chaining simple coordinate operations.

 o Introduced cct, the Coordinate Conversion and Transformation
   application.

 o Introduced gie, the Geospatial Integrity Investigation Environment.
   - Selftest invoked by -C flag in proj has been removed
   - Ported approx. 1300 built-in selftests to gie format
   - Ported approx. 1000 tests from the gigs test framework
   - Added approx. 200 new tests

 o Adopted terminology from the OGC/ISO-19100 geospatial standards
   series. Key definitions are:
   - At the most generic level, a *coordinate operation* is a change
     of coordinates, based on a one-to-one relationship, from one
     coordinate reference system to another.
   - A *transformation* is a coordinate operation in which the two
     coordinate reference systems are based on different datums, e.g.
     a change from a global reference frame to a regional frame.
   - A *conversion* is a coordinate operation in which both
     coordinate reference systems are based on the same datum,
     e.g. change of units of coordinates.
   - A *projection* is a coordinate conversion from an ellipsoidal
     coordinate system to a plane. Although projections are simply
     conversions according to the standard, they are treated as
     separate entities in PROJ as they make up the vast majority
     of operations in the library.

 o New operations:
   - The pipeline operator (pipeline)
   - Transformations:
     + Helmert transform (helmert)
     + Horner real and complex polynomial evaluation (horner)
     + Horizontal gridshift (hgridshift)
     + Vertical gridshift (vgridshift)
     + Molodensky transform (molodensky)
     + Kinematic gridshift with deformation model (deformation)
   - Conversions:
     + Unit conversion (unitconvert)
     + Axis swap (axisswap)
   - Projections:
     + Central Conic projection (ccon)

 o Significant documentation updates, including
   - Overhaul of the structure of the documentation
   - A better introduction to the use of PROJ
   - A complete reference to the new proj.h API
   - a complete rewrite of the section on geodesic calculations
   - Figures for all projections

 o New "free format" option for operation definitions, which
   permits separating tokens by whitespace when specifying key/value-
   pairs, e.g. "proj = merc lat_0 = 45".

 o Added metadata to init-files that can be read with the
   proj_init_info() function in the new proj.h API.

 o Added ITRF2000, ITRF2008 and ITRF2014 init-files with ITRF
   transformation parameters, including plate motion model
   parameters.

 o Added ellipsoid parameters for GSK2011, PZ90 and "danish". The
   latter is similar to the already supported andrae ellipsoid,
   but has a slightly different semimajor axis.

 o Added Copenhagen prime meridian.

 o Updated EPSG database to version 9.2.0.

 o Geodesic library updated to version 1.49.2-c.

 o Support for analytical partial derivatives has been removed.

 o Improved performance in Winkel Tripel and Aitoff.

 o Introduced pj_has_inverse() function to proj_api.h. Checks if an
   operation has an inverse. Use this instead of checking whether
   P->inv exists, since that can no longer be relied on.

 o ABI version number updated to 13:0:0.

 o Removed support for Windows CE.

 o Removed the VB6 COM interface.

 BUG FIXES
 ------------

 [various]

 DEPRECATIONS
 ------------

 [see upstream NEWS]
This commit is contained in:
gdt 2018-03-02 00:53:24 +00:00
parent efa51125e0
commit e7ea621004
5 changed files with 29 additions and 58 deletions

View file

@ -1,15 +1,15 @@
# $NetBSD: Makefile,v 1.7 2016/10/27 22:14:19 gdt Exp $
# $NetBSD: Makefile,v 1.8 2018/03/02 00:53:24 gdt Exp $
VERSION_BASE= 4.9.3
VERSION_BASE= 5.0.0
VERSION= ${VERSION_BASE}
WRKSRC= ${WRKDIR}/proj-${VERSION_BASE}
DISTNAME= proj-${VERSION}
CATEGORIES= geography
MASTER_SITES= http://download.osgeo.org/proj/
DISTFILES= ${DISTNAME}${EXTRACT_SUFX} proj-datumgrid-1.5${EXTRACT_SUFX}
MASTER_SITES= https://download.osgeo.org/proj/
DISTFILES= ${DISTNAME}${EXTRACT_SUFX} proj-datumgrid-1.7${EXTRACT_SUFX}
MAINTAINER= gdt@NetBSD.org
HOMEPAGE= http://trac.osgeo.org/proj/
HOMEPAGE= http://proj4.org/
COMMENT= Cartographic projection software
LICENSE= mit
@ -22,12 +22,11 @@ GNU_CONFIGURE= yes
TEST_TARGET= check
# The last file is out of order to avoid reordering the whole list
# from datumgrid-1.4 to datumgrid-1.5
# \todo Ideally, the files would be unpacked directly in nad.
DATUMGRID_FILES= \
FL.lla MD.lla README.NADUS TN.lla WI.lla WO.lla alaska.lla \
conus.lla hawaii.lla ntv1_can.dat null.lla nzgd2kgrid0005.gsb \
prvi.lla stgeorge.lla stlrnc.lla stpaul.lla ntf_r93.gsb
BETA2007.gsb FL MD README.DATUMGRID TN WI WO alaska conus \
egm96_15.gtx hawaii ntf_r93.gsb ntv1_can.dat null \
nzgd2kgrid0005.gsb prvi stgeorge stlrnc stpaul
post-extract:
cd ${WRKDIR} && ${LN} ${DATUMGRID_FILES} ${WRKSRC}/nad

View file

@ -1,6 +1,8 @@
@comment $NetBSD: PLIST,v 1.4 2015/09/13 23:22:23 gdt Exp $
@comment $NetBSD: PLIST,v 1.5 2018/03/02 00:53:24 gdt Exp $
bin/cct
bin/cs2cs
bin/geod
bin/gie
bin/invgeod
bin/invproj
bin/nad2bin
@ -8,25 +10,33 @@ bin/proj
include/geodesic.h
include/org_proj4_PJ.h
include/org_proj4_Projections.h
include/proj.h
include/proj_api.h
include/projects.h
lib/libproj.la
lib/pkgconfig/proj.pc
man/man1/cct.1
man/man1/cs2cs.1
man/man1/geod.1
man/man1/gie.1
man/man1/proj.1
man/man3/geodesic.3
man/man3/pj_init.3
share/proj/BETA2007.gsb
share/proj/CH
share/proj/FL
share/proj/GL27
share/proj/IGNF
share/proj/ITRF2000
share/proj/ITRF2008
share/proj/ITRF2014
share/proj/MD
share/proj/TN
share/proj/WI
share/proj/WO
share/proj/alaska
share/proj/conus
share/proj/egm96_15.gtx
share/proj/epsg
share/proj/esri
share/proj/esri.extra

View file

@ -1,12 +1,10 @@
$NetBSD: distinfo,v 1.7 2017/12/19 01:57:47 wiedi Exp $
$NetBSD: distinfo,v 1.8 2018/03/02 00:53:24 gdt Exp $
SHA1 (proj-4.9.3.tar.gz) = 2f5a1f13d65f9ac35bbad1e3449f32b256967856
RMD160 (proj-4.9.3.tar.gz) = cffdce968c8929fd7f38a65e3d905a62858589a2
SHA512 (proj-4.9.3.tar.gz) = 98e986fc5cb0dd13dc118923df096517ba32e17dd27b725fdbbcd4235b2f25527cf63c68672dc206730bf70924ddfbd2e60d3f4af7182634be79bdf4ca9ee2cb
Size (proj-4.9.3.tar.gz) = 921448 bytes
SHA1 (proj-datumgrid-1.5.tar.gz) = 38385e05f50445fe1b72243e54875360c4426a30
RMD160 (proj-datumgrid-1.5.tar.gz) = 9a75d4c1652c6b1a614ee5e90c77138a2af34025
SHA512 (proj-datumgrid-1.5.tar.gz) = 37f3d50e7efbebc6a0e5f48926f85d4c3e651b2d20de055c96da352c21dbb649e70f7f7a5efd15225a04a610007a925b3785c46730f8b50ff390e181c084b440
Size (proj-datumgrid-1.5.tar.gz) = 2252308 bytes
SHA1 (patch-README) = 05ec5a5aa1b1e3f54dc4b313b308a8124c236172
SHA1 (patch-src_pj__mutex.c) = d2bc1a32579172ece5c2cdc0e9f40121ddeb5044
SHA1 (proj-5.0.0.tar.gz) = a7b31e761629315238bc0d49e661ddd4a9d7aff9
RMD160 (proj-5.0.0.tar.gz) = 6d0f26a8f5a10ecafb28f902f56b81faf55ab568
SHA512 (proj-5.0.0.tar.gz) = dea763e40b5c104241770c15425c83fd4a9f273a14c2e84a6abc06ea0b4526bb92797dc079f1ae2053c3afad0052b6b1efa9cd784523e9051be0b8ab3ef33b24
Size (proj-5.0.0.tar.gz) = 1076823 bytes
SHA1 (proj-datumgrid-1.7.tar.gz) = 77c66dc46602e07d4f11d2573d6cacbc6bb3d04d
RMD160 (proj-datumgrid-1.7.tar.gz) = 03df996f79987970f129b56b7226ca3eac1f9fbb
SHA512 (proj-datumgrid-1.7.tar.gz) = 8a17206527da12982cda2bfc1c9cfacce9ccb7c2f3b394c7c31bfbf3435a0301b896e6c340440e76aa5f409cf19a9ff0ee745cabfaf6fa20fcaa954b62b068f5
Size (proj-datumgrid-1.7.tar.gz) = 6604301 bytes

View file

@ -1,20 +0,0 @@
$NetBSD: patch-README,v 1.2 2015/09/13 23:22:23 gdt Exp $
Sent upstream by email 20120309.
--- README.orig 2015-09-08 15:17:17.000000000 +0000
+++ README
@@ -40,6 +40,13 @@ After executing configure, execute:
The install target will create, if necessary, all required sub-directories.
+To test, execute:
+
+ make check
+
+Note that you must have installed proj-datumgrid-1.5 in nad prior to
+building; the test suite includes grid shift tests.
+
Windows Build
-------------

View file

@ -1,16 +0,0 @@
$NetBSD: patch-src_pj__mutex.c,v 1.1 2017/12/19 01:57:48 wiedi Exp $
fix build on SunOS
upstream commit: https://github.com/OSGeo/proj.4/commit/181cd2f3374f3a030b198dc4d2aace467637b584
--- src/pj_mutex.c.orig 2016-08-29 18:47:58.000000000 +0000
+++ src/pj_mutex.c
@@ -28,7 +28,7 @@
/* projects.h and windows.h conflict - avoid this! */
-#if defined(MUTEX_pthread) && !defined(_XOPEN_SOURCE)
+#if defined(MUTEX_pthread) && !defined(_XOPEN_SOURCE) && !defined(__sun)
/* For pthread_mutexattr_settype */
#define _XOPEN_SOURCE 500
#endif