Error number: 3738; Symbol: ER_SRS_INVALID_INVERSE_FLATTENING; SQLSTATE: SR002
Message: The inverse flattening must be larger than 1.0, or 0.0 if the ellipsoid is a sphere.
错误说明:
MySQL错误号3738,符号:ER_SRS_INVALID_INVERSE_FLATTENING,SQLSTATE:SR002,是当为给定的投影指定的反转扁平化比率不是有效的比率时抛出的异常错误。反转扁平化(inverse flattening)是地形学中把地球表面假设为球形,从球面到平面的坐标转换与实际情况有落差,而用一个参数来修正这一落差的过程。为了反转这一过程,MySQL中需要一个精确的比率,系统根据所给的比率计算可知的落差,因此,错误AR_SRS_INVALID_INVERSE_FLATTENING表明,这个比率无法有效的计算出落差。
MySQL ER_SRS_INVALID_INVERSE_FLATTENING错误通常在用户尝试进行反向编码KML时出现,KML数据存储在MySQL Spatial Data结构中,但尝试在MySQL中检索这些数据时就会出现错误。
解决方法:
为了解决MySQL ER_SRS_INVALID_INVERSE_FLATTENING错误,可以尝试更新反转压平比率。要执行此操作,可以使用如下命令:
ALTER SPATIAL REFERENCE SYSTEM…SET INVERSE FLATTENING。
该命令的准确参数取决于用户的数据库配置,以及特定的引用系统。对于数据库配置以及特定的引用系统,可以查询更具体的信息:
SELECT * FROM SPATIAL_REF_SYS.
还可以尝试改变引用系统,使用不同的反转扁平化比率。当MySQL尝试将坐标从球面反转为平面时,可以尝试使用不同的比率。虽然不同投影系统之间存在微小的差别,但如果它有助于解决错误,值得一试。例如,一个可能的替代解决方案是改变投影类型,从例如WGS84改为Lambert,也许可以解决这个问题。