Answers:
当前的答复都给出了很好的建议。在无法存储真空值或NaN的情况下,一个很好的通用规则(来自科学计算社区)会很好地使用该字段将(有效)保留的最小(最负数)值。
例子:
7.2十进制字段可以保存小至-9999.99的值。
整数栅格可以容纳小至-32768的数字,但通常(由于对二进制的厌恶和对基数的亲和力)使用值-9999代替。
浮点数可以容纳-10 ^(38)数量级的数字。如果您不能在字段中输入NaN,则可以找到适合的最小浮点数(这很痛苦),或者只使用-10 ^(38)本身即可。对于双打,-10 ^(303)可以很好地工作,但-10 ^(38)也可以:足够大且为负数,可以用作空值的清晰标记。
此规则易于记住,一致,易于应用,易于以样板方式记录(针对您的元数据),并且很少导致无意的错误(因为负数通常与数据相差甚远,因此被误用为实际值(而不是null)会破坏统计摘要和其他计算结果,足以引起存在问题的标记)。
如果您的数据在数据库中,那么理想情况下,您将使用NULL值:
表示“缺少信息和不适用信息”
但是,这可能会导致客户端应用程序和代码出现问题,并且我认为DBF不支持NULL。我认为对于不同的组织惯例,该值应该有所不同。无论您选择什么虚拟值,请确保将其记录在数据集的元数据中。
如果数据集的所有点都不具有Z值,那么我不明白为什么不能使用0,尽管在那种情况下,最好是完全删除数据集的Z意识以避免混淆。
我会使用NaN,因为数学运算会产生其他NaN或引发异常。这样一来,您就可以明显地发现自己正在搞乱,因为您使用的是虚假值