在eCognition软件操作过程中,有时候会遇到“域为空(Domain Is Empty)”的相关错误消息提示,这种错误不是软件错误,而是操作人员对相关进程参数设置存在问题。
“域为空(Domain IsEmpty)”错误是什么意思? 操作人员该如何处理这种错误?!?
“域为空(Domain Is Empty)”错误意味着该进程未根据域定义找到任何对象。这可以是“层Level”、“类过滤器Class filter”、“条件Condition”等。它实际上可以看作是对进程应该考虑的对象的“过滤”。
如果根据这些过滤器定义(AND 与条件)未找到任何对象,您将收到此错误“域为空”。如果您收到“域为空(Domain Is Empty)”错误消息,首先不要惊慌!这可以通过检查域参数并确保有算法可以使用的对象来轻松解决。
例子1
您想对水体类“Water”进行重新分类,并且您正在使用“Assign Class”算法。在域中,您已经定义了“Level 1”层”和一个类过滤器“Water”。执行后,您会收到错误消息“域为空”(NOOOOOOOOOOOOOOOOOOOOOOO!!!)。实际上这就是 eCognition软件告知您的方式,在该层上没有被归类为“Water”的对象,这些参数(Level与Class filter)中的一个无法满足或两个都无法满足。
解决方法一是修改类过滤器(Class filter),如果您不打算仅解决此进程的水体类而是实际存在于该层的森林类(Forest),或者修改层(Level)(如果您可能有多个层和您要解决的水体类在该进程的Level 2层)。这取决于你最初的意图是什么。花几秒钟时间评估一下两种解决方案中的哪一种适用于这种情况:
解决方法二是修改层(Level)。正如您在视图设置中看到的,我们确实有水体类(Water),但实际上我们有一个称为“New Level”层而不是“Level 1”层。如果您将参数中的“Level”域设置从“Level 1”修改为“New Level”,该进程将能顺利运行!
例子2
看看下面的屏幕截图并花几秒钟思考在这种特定情况下导致此错误消息的原因是什么?
是的!!!它只能是地图(Map)定义!首先,层(Level)是正确的(“New Level”)。我们在这一层确实有水体类“Water”,我们至少有一个对象(已选定的)也满足条件:Mean NDWI <=0(参见右侧的图像对象信息窗口(Image ObjectInformation window))。这意味着,其他参数之一一定是错误的,在这种情况下是地图(Map)定义。我们只有主地图Main,没有地图map2!
总结
并不是仅有您一人会收到此错误消息!原因很简单,域(Domain)定义不正确,并且找不到符合域定义的对象。这意味着您需要检查域定义并确保进程可以处理至少一个对象!
AG九游会作为天宝公司Inpho中国区授权代理商、eCognition软件中国区授权代理商和政府解决方案及规则集开发商、美国Maxar卫星数据代理商,能够为广大用户提供从数据获取、处理与解译分析到最终成果的“一站式”应用解决方案。
更多资讯,可关注微信公众号,或登录AG九游会公司官网:http://www.mapcore.com.cn/
联系电话:010-62908360