实现ArcGISServer在线编辑功能,需要使用FeatureService。下面详细介绍FeatureService的发布方法。本文使用软件环境为:ArcGIS 10.1版本,Oracle 11g。
首先了解FeatureService:要素服务可用来通过Internet 提供要素,并提供显示要素时所要使用的符号系统。之后,客户端可执行查询操作以获取要素,并执行相应的编辑操作。要素服务提供了可用于提高客户端编辑体验的模板。此外,要素服务也可以对关系类和非空间表中的数据进行查询和编辑。(官方说明)
FeatureService的数据存储于通过ArcSDE访问的数据库中(如PostgreSQL、SQL Server 或 Oracle),创建数据前需要配置SDE连接。
下面演示内容为添加数据库连接,并创建一个面要素类,然后以该数据制作MXD地图文档并发布为FeatureService,需事先安装好ArcSDE、Oracle 11g及客户端。
-
创建地理数据库:在Toolbox选择“创建企业级地理数据库”工具,并设置,如下图所示:
-
在Catalog添加数据库连接:选择数据库平台,添加实例,填写用户名密码,如下图所示:
-
填写完成后单击确定,会在catalog目录数字增加如下一项,如下图所示:
双击该项连接,完成。
-
创建面要素类:右键localhost.sde,新建要素类,如下图所示:
-
然后定义坐标系、属性表等,完成后如下图所示:
-
.编辑数据:为简化编辑过程,采用加载数据的方式,如下图所示:
-
加载数据完成后,如下图所示:
然后保存为.mxd文档,准备发布。
-
发布FeatureService,如下图所示:
-
在服务编辑框→功能→选择FeatureAccess功能,如下图所示:
-
单击“分析”,显示报错,如下图所示:
-
这是因为数据库未在ArcGISServer中注册。双击该错误,进行数据库注册的工作,如下图所示:
-
再次分析后,无错误,单击“发布”,FeatureService发布成功,如下图所示:
发布成功后,访问FeatureAccess功能,可以查看其REST URL和SOAP URL,并可以看到支持查询、创建、更新、删除等操作。
-
通过查看ArcGIS Server服务地址,可以看到实际上,发布带Feature Access功能的地图服务实际上是发布了一个MapServer和一个同名FeatureServer,如下图所示:
-
到此,FeatureService发布完成,接下来则可以通过WebAPI调用要素服务实现客户端在线编辑功能了。