《信息安全技术鉴别与授权地理空间可扩展访问控制置标语言(GB-T 30280-2013).docx》由会员分享,可在线阅读,更多相关《信息安全技术鉴别与授权地理空间可扩展访问控制置标语言(GB-T 30280-2013).docx(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、ICS35.040L80中华人民共和国国家标准GB/T XXXXXXXXX信息安全技术 鉴别与授权 地理空间可扩展访问控制置标语言Information security technology Authentication and Authorization Geospatial eXtensible Access Control Markup Language (GeoXACML)XXXX - XX - XX发布XXXX - XX - XX实施GB/T XXXX目次前言II引言III1范围12规范性引用文件13术语和定义14缩略语45GeoXACML几何模型56GeoXACML空间函数定义6
2、7GeoXACML标识符定义11附录A(规范性附录)GeoXACML符合性声明表14附录B(规范性附录)GeoXACML符合性测试17参考文献19前言本标准按照GB/T 1.1-2009给出的规则起草。本文件某些内容可能涉及专利,本文件的发布机构不承担识别这些专利的责任。本标准由全国信息安全标准化技术委员会(SAC/TC260)提出并归口。本标准起草单位:中国科学院软件研究所,北京数字认证股份有限公司,北京信息科学技术研究院。本标准主要起草人:冯登国,付艳艳,陈驰,张敏,洪澄,李昊,田雪,詹榜华。引言近年来,随着地理信息服务的广泛应用,地理信息交互的安全需求也日益强烈。但在互联网应用场景中,缺
3、乏关于地理信息属性和授权信息定义、访问控制实现的规范,地理信息和资源缺乏必要的保护。本标准参考开放地理信息联盟(OGC)的文件Geospatial eXtensible Access Control Markup Language (GeoXACML) Version 1.0,通过定义一种可用于表达访问权限的基于规则的策略语言,使得实现一个能够互操作的地理空间访问控制系统成为可能。本标准是可扩展访问控制置标语言(XACML)的一种扩展。19信息安全技术 地理空间可扩展访问控制置标语言1 范围本标准(正文中简称GeoXACML)定义了地理空间信息访问规则中几何数据类型所依赖的几何模型、不同几何数
4、据类型的编码语言、几何体拓扑关系测试函数以及几何函数。本标准适用于地理信息服务场景中访问权限的定义和实施。2 规范性引用文件下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。GB/T 25069-2010: 信息安全技术 术语OGC 06-103r4 v1.2.0 地理信息实施准则 简单要素访问 第1部分:通用架构(OpenGIS Implementation Specification for Geographic information - Simple feature access
5、- Part 1: Common architecture, 06-103r4 v1.2.0) 3 术语和定义下列术语和定义适用于本文件。3.1访问 access 对资源执行的一种操作。3.2访问控制 access control一种保证数据处理系统的资源只能由被授权主体按授权方式进行访问的手段。GB/T 25069-2010,定义2.2.1.423.3动作 action对资源的操作。3.4适用策略 applicable policy控制特定决策请求的策略和策略集。3.5属性 attribute主体、资源、动作和环境的特征,该特征可以在谓词和目标中被引用。3.6授权决策 authorizati
6、on decision包含以下组成部分:适用策略的评估结果,由PDP返回给PEP;评估函数,输出结果为“同意”,“驳回”或者“不适用”;一个义务的集合(可选)。3.7包 bag值的无序集合,可能包含重复的值。3.8条件 condition谓词表达式,其评估结果可以是“True”、“False”或“Indeterminate”。3.9合取序列 conjunctive sequence使用逻辑与(AND)连接的谓词序列。3.10上下文 context决策请求和授权决策的规范表述。3.11上下文处理器 context handler一个系统实体,它把决策请求从原始请求格式转换成XACML规范形式,并
7、把授权决策从XACML规范形式转换成原始应答格式。3.12决策 decision规则,策略或策略集的评估结果。3.13决策请求 decision request由策略执行点(PEP)发送给策略决策点(PDP)的消息,要求生成授权决策的请求。3.14析取序列 disjunctive sequence使用逻辑或(OR)操作符连接的谓词序列。3.15效果 effect规则的预期评估结果,只能为“同意”或“驳回”。3.16环境 environment一组与授权决策相关的属性集合,独立于特定的主体,资源或者动作。3.17命名属性 named attribute属性的一个特定实例,具体值取决于属性名、类型
8、、持有者和属性颁发者。3.18义务 obligation策略或者策略集中定义的特定操作,PEP在执行授权决策时,必须执行该操作。3.19策略 policy由管理层正式表达的总体意图和指向。GB/T 25069-2010,定义2.3.273.20策略管理点 policy administration point (PAP)创建策略或策略集的系统实体。3.21策略组合算法 policy-combining algorithm从多个策略中得到决策和义务的过程。3.22策略决策点 policy decision point (PDP)系统实体,负责评估适用策略并产生授权决策。3.23策略执行点 pol
9、icy enforcement point (PEP)系统实体,它通过产生决策请求并执行授权决策结果进行访问控制。3.24策略信息点 policy information point (PIP)系统实体,是属性值的来源。3.25策略集 policy set若干策略或其它策略集,策略组合算法和若干义务(可选)的集合,可以是其他策略集的组成部分。3.26谓词 predicate关于属性的声明,可以评估其是否为真。3.27资源 resource数据,服务或者系统组件。3.28规则 rule包含目标(target),效果(effect)和条件(condition),是策略的组成部分。3.29规则组合算
10、法 rule-combining algorithm从多个规则得到组合决策的过程。3.30主体 subject断言可能引用的属性的所有者。3.31目标 target通过主体、资源和动作进行限定的决策请求集合,是规则(Rule)、策略(Policy)和策略集(PolicySet)评价的对象。4 缩略语下列缩略语适用于本文件。1D 一维(One-Dimensional)2D 二维 (Two-Dimensional)3D 三维 (Three-Dimensional)GeoXACML 地理空间可扩展访问控制置标语言 (Geospatial eXtensible Access Control Marku
11、p Language)GeoDRM 地理空间数字权限管理 (Geospatial Digital Rights Management)GeoDRM-RM 地理空间数字权限管理-参考模型 (Geospatial Digital Rights Management-Reference Model)GML 地理置标语言 (Geography Markup Language)ISO 国际标准化组织 (International Organization for Standardization)OASIS 结构化信息标准促进组织 (Organization for the Advancement of
12、Structured Information Standards)OGC 开放地理信息联盟 (Open Geospatial Consortium)OWS OpenGIS网络服务PAP 策略管理点 (Policy Administration Point)PDP 策略决策点 (Policy Decision Point)PEP 策略执行点 (Policy Enforcement Point)PIP 策略信息点 (Policy Information Point)SAML 安全断言置标语言 (Security Assertion Markup Language)SFS SQL简单要素实施准则(S
13、imple Features Implementations Specification for SQL)UML 统一建模语言 (Unified Modeling Language)URN 统一资源名称(Uniform Resource Name)XACML 可扩展访问控制置标语言 (eXtensible Access Control Markup Language)XML 可扩展置标语言 (eXtensible Markup Language)5 GeoXACML几何模型本章定义了GeoXACML核心几何模型,它独立于本标准策略声明中几何体的编码。那些几何体实际上可以以不同的XML编码实现。
14、本标准提供了多个扩展部分,每个扩展部分都定义了一套特定的编码。任何满足GeoXACML的实现必须支持至少一种几何编码方案(见附录A、附录B),并能够支持下面列出的这些几何类型。本标准使用的几何体编码方案所依赖的所有底层几何模型均可参见OGC 06-103r4。为了应用一种灵活、直接的方案,使得几何数据类型同基本XACML说明相一致,本标准在XACML的基础上扩展了一种新的数据类型,其名为“urn:ogc:def:dataType:geoxacml:1.0:geometry”。即:任何一个几何体属性值、一个几何值构成的包或一个指向几何数据的指针,其在本标准策略中的数据类型总是“urn:ogc:d
15、ef:dataType:geoxacml:1.0:geometry”。对于数据类型为“urn:ogc:def:dataType:geoxacml:1.0:Geometry”的几何体,其属性值应可以表示成下列基本类型之一:Point (点)一个0维的几何对象,在坐标空间中代表一个单独的位置。一个点有一个x坐标值,一个y坐标值。如果涉及到其他空间参照系统,它也可能有z和m的坐标值。LineString(折线)多点之间线性插值生成的一段弧。每一个连续的点对定义一条线段。Polygon (多边形)由1个外部边界和0个或多个内部边界定义的平面表面。MultiPoint(多点)一个0维的几何集。多点的元素
16、只限于点。MultiLineString(多折线)多段弧,其中的元素是线。MultiPolygon(多多边形)元素是多边形的多个平面。上述几何体应作为一个元素的子节点。不论封闭几何体的类型是什么,元素的“数据类型”属性应设置为“urn:ogc:def:dataType:geoxacml:1.0:geometry”。封闭几何体的编码应遵守对应编码扩展说明的语法规则。几何体可以为空。一个空几何体的编码也必须与相关扩展的定义保持一致。一个空的几何体也可以用数据类型“urn:ogc:def:dataType:geoxacml: 1.0:geometry”的一个空的来表示。在GeoXACML中的几何数据
17、类型和XML在扩展中编码的数据类型有所不同。像在SFS的几何模型中,本标准中的几何数据类型是一个抽象的超类。这个超类的具体实例就是在扩展中定义的XML编码数据类型。6 GeoXACML空间函数定义6.1 概述本章定义本标准所使用的关系操作符和几何操作符。相关定义基于OpenGIS Implementation Specification for Geographic information - Simple feature access - Part 1: Common architecture, Version: 1.2.0 。因为本标准定义的函数返回值为一个几何体的包。因此,在实现中应该提
18、供数据类型为“urn:ogc:def:dataType:geoxacml:1.0:geometry”的包。如果在策略中显式的定义几何体的包,可以按照相同规则进行的处理。基本上,所有的普通包和集合操作函数(见7.4和7.5)都可以作为数据类型为“urn:ogc:def:dataType:geoxacml:1.0:geometry”的包进行处理。若几何操作符返回一个空包,则表示为数据类型为“urn:ogc:def:dataType:geoxacml:1.0:geometry”的空包。在GeoXACML策略中元素中显式定义的所有几何体必须使用本标准中同一种编码扩展进行定义。在GeoXACML中,长度
19、的内在单位是米,面积的单位是平方米。相应的,作为函数参数或者函数返回值时,长度或面积的值也是基于GeoXACML内部单位。在实际的案例中,如果距离和面积才用不同的测量单位来说明,那么,相应的转化必须使用7.5节定义的函数来完成。在满足以下条件时,所有定义的函数应返回一个伴随“不确定”状态的XACML处理错误信息: XML编码的变量g的数据类型是无效的或者不符合OGC 06-103r4中对函数的定义; 底层函数功能处理返回错误的结果。另外,当满足以下条件时,任何具有两个变量g1和g2(g1,g2可以为任意几何类型)的函数必须返回一个伴随“不确定”状态的XACML处理错误信息: 根据OGC 06-
20、103r4中的定义,g1和g2的数据类型组合无效; g1和g2的坐标参照系定义都显式的给出,但是它们的值是不同的,并且运行时执行不遵守CRS转化。另外,7.4和7.5定义的包和集函数不是空间函数。只有从7.2到7.3的空间函数才能用来测试空间条件。6.2 拓扑函数定义本节定义的所有函数都应具有两个数据类型为“urn:ogc:def:dataType:geoxacml:1.0:geometry”的变量,并且返回数据类型必须为“http:/www.w3.org/2001/XMLSchema#boolean”。在以下的定义中,一个几何体可以看作是点的可能无穷集的一个表示。这种表示显然不是无穷的,只是
21、空间范围内的差值算法得到的结果集。Contains(g1:Geometry, g2:Geometry) : Boolean这个函数应返回一个“True”当且仅当几何体g2位于几何体g1的封闭区内(边界和内部)。与Within(g1:Geometry, g2:Geometry)相反。Crosses(g1:Geometry, g2:Geometry) : Boolean这个函数应返回一个“True”当且仅当几何体g1和g2有交集但是任何一个都不包含另一个几何体,交集的维度要小于两个几何体中的任一个。Disjoint(g1:Geometry, g2:Geometry ) : Boolean这个函数应
22、返回一个“True”当且仅当几何体g1和g2没有公共点。Equals(g1:Geometry, g2:Geometry) : Boolean这个函数应返回一个“True”当且仅当几何体g1和g2是相等的(在几何上恰好包含相同的点)。Intersects(g1:Geometry, g2:Geometry) : Boolean这个函数应返回一个“True”当且仅当几何体g1和g2至少有一个公共点(与Disjoint相反)。Overlaps(g1:Geometry, g2:Geometry) : Boolean这个函数应返回一个“True”当且仅当几何体g1和g2有公共交点但不是所有的点都相交。交集
23、部分的维度与两个几何体的维度相同。Touches(g1:Geometry, g2:Geometry) : Boolean这个函数应返回一个“True”当且仅当几何体g1和g2至少有一个边界公共点,但没有内部公共点。Within(g1:Geometry, g2:Geometry) : Boolean这个函数应返回一个“True”当且仅当几何体g1空间上在g2的内部,也就是说凡是在g1上的点也一定在g2上。6.3 几何函数定义a) 构造性集合函数定义Buffer(g:Geometry, d:Double) : Bag这个函数应有两个参数,数据类型分别为“urn:ogc:def:dataType:g
24、eoxacml:1.0:geometry”和“http:/www.w3.org/2001/XMLSchema#double”。这个函数应返回一个几何值的包,能够描述几何体g在距离d上的缓冲区域。一个几何体在距离d上的缓冲就是一个多边形或者是多边形集,它包含了几何体在距离d内的所有的点。变量d的度量单位应是米。Boundary(g:Geometry) : Bag这个函数应有一个参数,数据类型为“urn:ogc:def:dataType:geoxacml:1.0:geometry”,并返回几何体的包。这个函数应返回一个几何值的包,该包可以用来描述几何体g的组合边界。ConvexHull(g:Geo
25、metry) : Geometry这个函数应有一个参数,数据类型为“urn:ogc:def:dataType:geoxacml:1.0:geometry”,并返回相同数据类型的值。这个函数应返回一个能够代表几何体g的凸包的几何对象。凸包就是包含几何体的所有点的最小凸多边形。数据类型“点”这种几何体编码的凸包就是点本身。Centroid(g:Geometry) : Geometry这个函数应有一个参数,数据类型为“urn:ogc:def:dataType:geoxacml:1.0:geometry”,并返回相同数据类型的值。这个函数应返回几何体g的几何重心的那个点。Difference(g1:G
26、eometry, g2:Geometry) : Bag这个函数应有两个参数,数据类型为“urn:ogc:def:dataType:geoxacml:1.0:geometry”,并返回几何体的包。这个函数应返回一个几何值的包,该包是几何体g1和g2差的几何闭包。差异就是在g1上且不在g2上的点的集合。SymDifference(g1:Geometry, g2:Geometry) : Bag这个函数应有两个参数,数据类型为“urn:ogc:def:dataType:geoxacml:1.0:geometry”,并返回几何体的包。这个函数应返回几何值的包,该包是两个几何体对称差的闭包。对称差异就是在
27、g1上或者在g2上,但不同时在两者之上的点的集合。Intersection(g1:Geometry, g2:Geometry) : Bag这个函数应有两个参数,数据类型为“urn:ogc:def:dataType:geoxacml:1.0:geometry”,并返回几何体的包。这个函数应返回一个几何值的包,该包能够代表几何体g1和g2的点集交集。Union(g1:Geometry, g2:Geometry) : Bag这个函数应有两个参数,数据类型为“urn:ogc:def:dataType:geoxacml:1.0:geometry”,并返回几何体的包。这个函数应返回一个几何值的包,该包能够
28、代表几何体g1和g2的点集并集。b) 标量几何函数定义Area(g:Geometry) : Double这个函数应有一个参数,数据类型为“urn:ogc:def:dataType:geoxacml:1.0:geometry”,并返回一个数据类型为“http:/www.w3.org/2001/XMLSchema# double”的值。这个函数应返回一个能够代表几何体g的面积的值。返回值的度量单位应是平方米。如果几何体数据类型是点或者线这个函数应返回零。Distance(g1:Geometry, g2:Geometry) : Double这个函数应有两个参数,数据类型为“urn:ogc:def:d
29、ataType:geoxacml:1.0:geometry”,并返回一个数据类型为“http:/www.w3.org/2001/XMLSchema# double”的值。这个函数应返回几何体g1和g2上任意两点的最短距离。因为几何体都是封闭的,所以,几何体上每一个点都是可以确定并找到的,因此,计算两个几何体间的最短距离也是可行的。IsWithinDistance(g1:Geometry, g2:Geometry, d:Double) : Boolean这个函数应有三个参数,其中,两个参数的数据类型为“urn:ogc:def:dataType:geoxacml:1.0:geometry”,另外一
30、个参数的数据类型为“http:/www.w3.org/2001/XMLSchema# double”,并返回数据类型为“http:/www.w3.org/2001/XMLSchema#boolean”的值。这个函数应返回一个“True”当且仅当几何体g1和g2之间的最小距离小于等于指定的距离(单位为米)。Length(g:Geometry) : Double这个函数应有一个参数,数据类型为“urn:ogc:def:dataType:geoxacml:1.0:geometry”,并返回数据类型为“http:/www.w3.org/2001/XMLSchema# double”的值。这个函数应返回
31、几何体g的长度值,返回值的度量单位应是米。如果几何体数据类型是“点”,函数应返回零。如果几何体数据类型是“多边形”,函数应返回周长。c) 检查特殊要素函数的定义在本条定义的所有的函数都应有一个参数,数据类型为“urn:ogc:def:dataType:geoxacml:1.0:geometry”,并返回数据类型为http:/www.w3.org/2001/XMLSchema#boolean的值。IsSimple(g:Geometry) : Boolean这个函数应返回一个“True”,当且仅当几何体g没有不规则的几何点,如自交、自切。简单的弧线仅在端点相交(只有当它们是闭合时,参考下一函数)。
32、IsClosed(g:Geometry) : Boolean这个函数应返回一个“True”,当且仅当弧g的起点和终点是同一的。对于一个点来说,点的有限集合或者空的几何体函数应返回一个“True”。面需要一个3D的空间来闭合。一般来说,封闭的几何体拥有空的边界。IsValid(g:Geometry) : Boolean这个函数应返回一个“True”,当且仅当几何体g满足OGC 06-103r4中定义的有效性。需要说明的是,即使几何体(将被PDP处理)毫无疑问是有效的,操作符也会对其进行显式检查。这一点如同Java语言中的异常处理一样。Java定义了能被程序员处理的可检查异常和源代码中异常处理可选
33、的不可检查异常。IsValid操作符的刻意使用非常类似不可被检查的异常。6.4 包函数定义GeometryOneAndOnly(b: Bag) : Geometry这个函数应有一个几何体的包作为参数,还应返回一个数据类型为“urn:ogc:def:dataType:geoxacml:1.0:geometry”的值。这个函数应返回包b中唯一元素的值。如果几何包b没有一个确切的值,这个函数应返回一个伴有“不确定”状态的XACML 处理出错信息。GeometryBagSize(b: Bag) : Integer这个函数应有一个几何体的包作为参数,并且该包中值的数据类型为“urn:ogc:def:da
34、taType:geoxacml:1.0:geometry”,还应返回数据类型为“http:/www.w3.org/2001/XMLSchema#integer”的值。这个函数应返回包中元素数目。GeometryIsIn(g:Geometry, b: Bag) : Boolean这个函数的第一个参数的数据类型应为“urn:ogc:def:dataType:geoxacml:1.0:geometry”第二个参数应是数据类型为“urn:ogc:def:dataType:geoxacml:1.0:geometry”的一个包,还应返回类型为“http:/www.w3.org/2001/XMLSchema
35、#boolean“的值。这个函数应返“True”,当且仅当第一个参数与包中的任何值满足匹配函数“urn:ogc:def:function:geoxacml:1.0:geometry-equals”。GeometryBag(g*:Geometry) : Bag这个函数应可以有任意个数据类型为“urn:ogc:def:dataType:geoxacml:1.0:geometry”的参数,并返回包含参数值的几何体的包。这个函数无参时应产生一个数据类型为“urn:ogc:def:dataType:geoxacml:1.0:geometry”的空包。6.5 集合函数定义以下函数通过消除数据类型为“urn
36、:ogc:def:dataType:geoxacml:1.0:geometry”的几何包中的重复元素来模拟对应的集合。GeometryBagIntersection(b1: Bag, g2: Bag) : Bag这个函数应有两个参数,均是数据类型为“urn:ogc:def:dataType:geoxacml:1.0:geometry”的包。这个函数应返回一个数据类型为“urn:ogc:def:dataType:geoxacml:1.0:geometry”的包,包中包含了满足“urn:ogc:def:function:geoxacml:1.0:geometry-equals”的包b1和b2共有的
37、元素。并且,在结果中应没有重复元素出现。GeometryBagAtLeastOneMemberOf(b1: Bag, b2: Bag) : Boolean这个函数应有两个参数,均是数据类型为“urn:ogc:def:dataType:geoxacml:1.0:geometry”的包,还应返回数据类型为“http:/www.w3.org/2001/XMLSchema#boolean”的值。这个函数应返回“True”,当且仅当包b1中至少有一个元素与包g2的关系满足“urn:ogc:def:function:geoxacml:1.0:geometry-is-in”函数。GeometryBagUni
38、on(b1: Bag, b2: Bag) : Bag这个函数应有两个参数,均是数据类型为“urn:ogc:def:dataType:geoxacml:1.0:geometry”的包。这个函数应返回一个数据类型为“urn:ogc:def:dataType:geoxacml:1.0:geometry”的包,包中包含了包b1和b2的所有元素。如同“urn:ogc:def:function:geoxacml:1.0:geometry-equals”中所所定义的,应没有重复元素在结果中出现。GeometryBagSubset(b1: Bag, b2: Bag) : Boolean这个函数应有两个参数,均
39、是数据类型为“urn:ogc:def:dataType:geoxacml:1.0:geometry”的包,并返回数据类型为“http:/www.w3.org/2001/XMLSchema#boolean”的值。这个函数应返回一个“True”,当且仅当包b1是包b2的一个子集。每一个参数应被认为是去掉了重复元素的。GeometrySetEquals(b1: Bag, b2: Bag) : Boolean这个函数应有两个参数,均是数据类型为“urn:ogc:def:dataType:geoxacml:1.0:geometry”的包,并返回数据类型为“http:/www.w3.org/2001/XM
40、LSchema#boolean”的值。这个函数的返回结果应按照以下流程计算: 1.对包b1和包b2计算函数“urn:ogc:def:function:geoxacml:1.0:geometry-bag-subset”;2.对包b2的和包b1计算函数“urn:ogc:def:function:geoxacml:1.0:geo-metry-bag-subset”;3.对1和2的结果计算函数“urn:oasis:names:tc:xacml:1.0:func-tion:and”。6.6 转化函数的定义如上所述,在GeoXACML中,长度的内部单位是米,面积的内部单位是平方米。这就意味着基于不同度量单
41、位的长度面积参数在被相应的函数处理(例如:IsWithinDistance和Buffer函数)之前都必须转化成米和平方米。这可以通过如下的转换函数来实现。ConvertToMetre(d:Double, u:String) : Double这个函数应有一个数据类型为“http:/www.w3.org/2001/XML-Schema#double”的参数和一个数据类型为“http:/www.w3.org/2001/XML-Schema#string”的用以表示度量长度单位的参数。这个函数应返回一个数据类型为“http:/www.w3.org/2001/XMLSchema# double”的值。这
42、个函数用于把度量单位为u的距离值d转化成相应的基于米制的长度。如果度量单位,如给定的参数u,不能转化成米,那么这个函数应返回一个“不确定”状态的XACML 处理出错信息。ConvertToSquareMetre(a:Double, u:String) : Double这个函数应有一个数据类型为“http:/www.w3.org/2001/XML-Schema#double”的参数和一个数据类型为“http:/www.w3.org/2001/XML-Schema#string”的用以表示度量面积单位的参数。这个函数应返回一个数据类型为“http:/www.w3.org/2001/XMLSchem
43、a# double”的值。这个函数用于把度量单位为u的面积值a转化成相应的基于平方米制的面积。如果度量单位,如给定的参数u,不能转化成平方米,那么这个函数应返回一个“不确定”状态的XACML 处理出错信息。为了避免运行时不必要的转化,应直接用米和平方米来说明长度和面积。7 GeoXACML标识符定义任意基于GeoXACML的具体实现必须按照GeoXACML中定义的方式来使用下列标识符的相关属性。以下表格的第二列是本标准第6章或者oasis-access_control-xacml-2.0-core-spec-os中使用的函数名字。7.1 几何体的标识符 应使用表1中的标识符来定义“几何体”的几
44、何数据类型。表1 GeoXACML 几何体URNURN数据类型urn:ogc:def:dataType:geoxacml:1.0:geometry 几何体为了使用明确的编码方案来建立几何数据类型,GeoXACML在现有的扩展中定义了更多的URN。7.2 拓扑函数标识符为了定义函数来测试拓扑关系,表2定义了拓扑函数URN。表2 拓扑函数URNURN函数urn:ogc:def:function:geoxacml:1.0:geometry-equals Equalsurn:ogc:def:function:geoxacml:1.0:geometry-disjoint Disjointurn:ogc:
45、def:function:geoxacml:1.0:geometry-touches Touchesurn:ogc:def:function:geoxacml:1.0:geometry-crosses Crossesurn:ogc:def:function:geoxacml:1.0:geometry-within Withinurn:ogc:def:function:geoxacml:1.0:geometry-contains Containsurn:ogc:def:function:geoxacml:1.0:geometry-overlaps Overlapsurn:ogc:def:function:geoxacml:1.0:geometry-intersects Intersects7.3 几何函数标识符为了表达和执行更为复杂的基于空间分析的访问约束,表3、4、5分别对构造性几何函数URN、标量几何函数URN、杂项几何函数URN进行了定义。表3 构造性几何函数URNURN几何函数 urn:ogc:def:function:geoxacml:1.0:geometry-buffer Bufferurn:ogc:def:functi