现在的位置: 首页 > 综合 > 正文

ArcGIS权限分析-怎么对同一要素类对不同要素设置权限

2013年10月24日 ⁄ 综合 ⁄ 共 1288字 ⁄ 字号 评论关闭


刚刚结束2011年Esri中国合作伙伴技术专场---构建成功Web GIS应用济南站的培训,在与用户Q&A的时候,有个用户就这样提问,我是否可以对同一个要素类对不同要素类,由于当时是现场回答,我没有怎么想太多,对用户的答复是否对的,因为针对数据库层次来说设置权限ArcGIS软件只支持针对要素类级别的权限,并没有针对要素类内部不同要素的权限,现在想想,其实还是有办法来解决用户的相关问题的,可能跟权限没有什么关系,但是可以解决用户的相关要求。


重新解释一下用户的要求,比如说我有一个整个北京市宗地的要素类,所有地区的要素类都在一起,但是有一个要求,用户只想在一个要素类里面进行操作,而且朝阳区国土局的工作人员只能编辑所属朝阳区的数据,海淀区国土局工作人员只能编辑所属海淀区的宗地,其实也就是一个同一要素类对不同要素设置权限的问题。


我们可以变相的来解决这个问题,因为我们有MXD,我们可以针对同一个要素类先进行属性查询,将不同区域的要素查询出来,可以使用defination query,比如将朝阳区的要素查询出来,然后保存为MXD,如果对数据本身要求高的话,可以先创建子版本然后在子版本进行查询,再保存MXD,这样用户打开的MXD直接就是只有该区域的数据,然后继续编辑就可以了。


其实这也是个变通方法,不是特别的严密了。

还有一种方法,可以参考:http://blog.csdn.net/linghe301/article/details/6583546

 就是使用同步复制的方法,先查询出来,跟上面的比较类似,然后check out一个FGDB,当然这个FGDB就是只有可以编辑指定区域的数据,然后编辑完毕后,再check in进去。


#####################################################################

那么针对这个问题再想想关于ArcGIS权限的相关知识。

  • 首先我们涉及的权限就是在ArcSDE存储的数据,不管是数据集或者单独的要素类,我们可以右键选择“privilege”我们可以对整个数据集的所有要素类或者指定的要素类设置不同用户的可读、可写权限。
  • 另外如果针对同一个要素类,不同的要素设置只读权限这个也是可以的,我们可以创建ArcSDE视图,或者QueryLayer对象实现这个目的,但是只能创建只读。
  • 如果针对某个字段设置只读,我们可以选择属性表,右键,选择Field-属性,勾选ReadOnly即可
  • 如果对整个库设置权限,我们可以设置ArcSDE的参数

READONLY
该参数用于允许或不允许由 ArcSDE 客户端对地理数据库进行编辑。如果设置为 TRUE,则 ArcSDE 服务不允许由 ArcSDE 客户端执行编辑操作。
FALSE
FALSE = 允许编辑
TRUE = 只读连接


当然如果对数据库比较熟悉的话,也可以进行控制,可能我暂时还没有想更好的办法,当然了,写程序应该也是可以控制的。


我们可以使用纯数据库的方法来解决这个问题:http://blog.csdn.net/linghe301/article/details/8751879

抱歉!评论已关闭.