版本之间的已知差异¶
偶尔,新版本的PROJ会改变现有的行为。在本节中,我们将跟踪与以前行为不同的项目的有意更改。大多数情况下,这将是由一个错误修复引起的。不幸的是,有些bug已经存在太久了,它们的错误行为依赖于使用PROJ的软件。
这里不跟踪由新错误引起的行为变化,因为它们应该在以后版本的PROJ中修复。
版本4.6.0¶
默认的数据应用程序行为随4.6.0版本而更改。如果源坐标系和目标坐标系都有有效的基准偏移信息,PROJ现在只应用基准偏移。
proj4.6.0发行说明
专业:返工
pj_transform()
避免在没有可用的基准信息时,将椭球到椭球的变换应用为基准偏移。
版本5.0.0¶
使用自定义中央子午线时的经度环绕¶
默认情况下,PROJ将输出经度包装在-180到180的范围内。在项目5之前,当自定义中央子午线设置为 +lon_0
. 这导致产生的东距上的标志发生变化,如下所示:
$ proj +proj=merc +lon_0=110
-70 0
-20037508.34 0.00
290 0
20037508.34 0.00
从PROJ 5开始,相同的输入现在产生相同的坐标,如下面使用PROJ 5的示例所示:
$ proj +proj=merc +lon_0=110
-70 0
-20037508.34 0.00
290 0
-20037508.34 0.00
变更的依据是 \(\lambda=290^{{\circ}}\) 圆的完全旋转是否大于 \(\lambda=-70^{{\circ}}\) 因此,应该为两个返回相同的输出。
添加 +over
投影定义的标志提供了旧的行为。
版本6.0.0¶
删除 proj_def.dat
¶
在项目6之前, proj_def.dat
用于提供常规和按投影的参数,当 +no_defs
未指定。它现在已经被移除了。如果在项目字符串中未提供椭球体或基准规范,则默认椭球体为GRS80(在以前的项目版本中为WGS84)。
改变到 deformation¶
相反的操作顺序¶
在的初始版本中 deformation 操作时间间隔 \(t_{{obs}}\) 和 \(t_c\) 由表达式确定
在版本6.0.0中,为了与 Helmert operation ,将时间差确定为
实际上,这意味着操作的方向已经反转,因此项目5中的正向操作现在是反向操作,反之亦然。
为项目5编写的管道可以通过添加 +inv
推进涉及变形操作的步骤。同样地 +inv
应从反向步骤中删除,以与项目6兼容。
远离的 +t_obs
参数¶
这个 +t_obs
由于参数在输入坐标中有效地重写了观测时间,因此用户感到困惑。为了更清楚地说明操作在做什么,现在要求用户直接指定希望应用给定变形的时间跨度。参数 +dt
已为此目的添加。新参数与 +t_epoch
. +dt
在需要变形一定时间时使用,并且 +t_epoch
当需要从特定历元到观测时间的变形时,使用(与输入坐标的观测时间一起使用)。
版本6.3.0¶
projinfo项目¶
在Proj 6.3.0之前,WKT1:GDAL隐式调用 --boundcrs-to-wgs84
,以添加一个 TOWGS84[]
节点,在某些情况下。情况已经不再是这样了。
版本7.0.0¶
PROJ¶
远离的 -ld
选项,因为它促进了不推荐使用的参数,如 +towgs
和 +datum
.
CS2CS¶
远离的 -ld
选项,因为它促进了不推荐使用的参数,如 +towgs
和 +datum
.
采用UTF-8¶
所有路径、通过函数调用传递给PROJ的文件名、PROJ字符串或环境变量的值都应该用UTF-8编码。