用C#写一个灵活的要素Feature属性Properties质检WebAPI接口(一)

需求概述

某项目中,要对宗地、自然幢数据进行质检。质检规则非常多,大致可以分为几类:一是要求某一属性字段值要么为空,要么为指定值;二是要求为某一属性字段值要么为空,要么从指定的集合中取值;三是要求当某一字段取值不为空时,某些字段也不能为空;四是要求当某一字段取值不为空,某一字段的取值必须为该字段值的某一位或某几位。

设计思路

把规则搞成配置文件,程序只负责解析规则,检查数据,以及输出结果。上述规则中,前两个可以归为一类,即检查属性值本身是否满足某些特定规则,这个规则可以是空值限定,可以是指定取值集合(包括分割符),也可以是正则表达式,并且三者互相独立;后两个虽然都是字段关系检查,但仍可细分为两类,一个是非空限定,一个是取值限定。

因此,我们需求三个配置文件,一个命名为CheckValue.json,用于保存数据质检规则,一个CheckRestriction.json,用于保存空值限定规则,一个CheckRelation.json,用于保存取值限定规则。

接口参数

传入的是GeoJSON格式的Feature对象即要素,但其真正质检的对象是其属性。参数中亦包含所属要素类名称,由此取得对应的规则。

返回值

返回合并后的不符合规则的属性质检结果条目集合即可,并且以OBJECTID区分不同要素。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值