美文网首页GISGIS之家Geomatics(GIS,GPS,RS,Surveying)
ArcGIS Server地理处理服务使用SDE的要素类

ArcGIS Server地理处理服务使用SDE的要素类

作者: Xuds | 来源:发表于2019-04-26 16:39 被阅读2次

    背景

    地理信息数据很多情况下是比较敏感的,出于权限控制和保密性,不会将企业级地理数据库(SDE)的数据公开出来。在ArcGIS Enterprise发布成要素图层,可以实现很好的权限控制,Web Tool 也可以使用arcpy.SignInToPortal(url,usr,pwd)方法获得加密服务的访问权限,使用arcpy.FeatureSet(url)获得服务的要素图层直接进行分析。这个方法在文章为什么升级ArcGIS Enterprise到10.6版本中已经提到过了。
    至于独立ArcGIS Server的地理处理服务应如何使用非公开的地理数据进行分析,甚至保密性更高一层,数据存在SDE里,不发服务。这应该怎么办呢?以下提供一个方案,让地理处理服务或web Tool直接使用sde中的地理数据进行分析。前端只需要传递一个要素类名称即可。

    步骤

    1、新建一个模型,编辑,在模型中新建一个String型变量,并设置它为输入参数P。


    String变量

    2、设置模型的环境变量,设置临时工作空间。然后将.sde文件拷贝到这个文件夹。


    scratchworkspace
    3、在模型中拖入需要的工具,并设置工具的输入要素为工作空间下的sde下的要素类的名称。对接String变量参数P
    设置输入要素

    4、不要忘了指定分析结果为输出参数。上图绿色部分也指定为P,然后保存模型。右键这个模型,参数选项卡,检查一下参数设置。


    参数设置
    5、注册sde,将.sde文件导入。为地理处理服务发布后的运行做准备。
    注册sde
    6、打开工具,输入参数为数据库中的要素类名,执行
    执行GP工具
    7、发布GP服务。在Results窗口,右键这个结果发布为GP服务。添加工具各参数的描述性信息。根据需求调整最大返回记录数。点击分析 和 发布
    发布GP服务
    8、在REST页测试执行。输入sde里的要素类完整名称。
    Submit Job

    9、查看结果。执行成功,可以得到要素。


    job页
    job Results页

    结论

    通过以上操作,实现了web端利用GP服务直接使用SDE里的要素类进行分析,无需将sde里的数据发布。释放了数据库里的要素类的价值。

    相关文章

      网友评论

        本文标题:ArcGIS Server地理处理服务使用SDE的要素类

        本文链接:https://www.haomeiwen.com/subject/mxlfnqtx.html