发布要素地图服务(Feature Layer)

软件环境:

操作系统:win7 64

GIS平台:ArcGIS 10.1

GIS数据服务:ArcSDE for SQLSERVER

数据库:SQLSERVER 2008

如何实现要素的编辑并且保存到服务中,最简单的一种方式就是发布要素服务(Feature Layer,要素服务添加到地图文档的图层和表格通过服务提供。以下将介绍要素服务数据的要求:

  • 所有数据必须来自单个 ArcSDE
    地理数据库。
  • 所有数据必须通过地理数据库注册
  • 如果要允许编辑数据,将需要 ArcSDE 数据的写入权限。使用 OS 身份验证时,必须向 ArcGIS Server 帐户授予这些权限。
  • 支持版本化和未版本化数据;但是,如果需要使用服务编辑非简单类型(例如,网络边),则需要进行版本化。

发布要素服务有个前提就是要把服务中的数据存储在企业级的GeoDatabase中,即通过SDE来存储,关于SDE的作用,可以简单的理解为SDE 就是个中间件,他是把空间数据(比如点线面)转化为关系型数据库的表表存储在数据库里,最终的数据还是存储在关系数据库里的比如SQlServer,Oracle,SDE起到的就是客户端与数据库服务器之间一个桥梁的作用,这些客户端可以是ArcGIS 桌面,也可以是Server。因为他们都需要与数据库打交道的,都是处理数据库中的数据。关于SDE更多信息参阅SDE博客,http://blog.csdn.net/linghe301 

首先创建一个SDE数据库:


选择数据库平台SQLSERVER,输入数据库名sudansde(数据库名字建议用小写字母,我在使用过程中只要输入大写字母就会报错,难道是Bug?),输入数据库服务器的密码,设置数据库的密码。

 
 


下一步使用ArcMap
连接数据库,

 


instanse输入计算机名,或者localhost,如果是远程的话,需要输入IP,用户名是SDE,这个是固定的,密码就是安装数据库时你设置的密码,点击ok完成连接。

接下来就可以对数据库进行操作了,首先导入需要编辑的图层。右键刚才连接上的SDEImport-Feature Classmultiple)弹出对话框。选中图层之后点击OK


 
 



上述加载的图层没有注册版本,接下来我们为该图层数据源所在的数据库注册版本。右键刚添加的feature class,选择manage-Register
as versioned

一步,新建MXD,从sde中添加需要编辑的feature
class
编辑结束之后一定要结束编辑然后保存编辑结果,接下来就发布服务,File-ShareAs-pubulish a Service,选择本地的Server
为服务取名字为MyFeatureService。下一步,出现ServiceEditor,在Capalities里选中FeatureAccess,在FeatureAccess里面可以选择,CreateQuery,Update,Delete,是否允许用户对数据增删改查,默认是全选的。

 
 


 
 


然后我点击一下Analyze,又弹出了错误SEVERITY STATUS CODE DESCRIPTION

 NAME TYPE DATAFRAMEHigh Unresolved 00090 Feature service requires a registereddatabase Layers Data Frame Layers,提示让我们为数据源所在的数据库注册(出于安全性考虑,如果要让Server能够访问SDE中的数据,必须将该SDEServer中的DataStore中注册,也就是说,Server只能访问Data
Store
目录中对应的数据),双击错误提示,然后弹出Data Store
窗口,点击+
,随便写个名字我这里写的是zhucesde


 


接下来,点击Publisher database connection
中的Add
按钮,开始注册我们的数据库,这样注册以后我们的ArcGIS Server 
就可以访问数据库的数据了,选择要注册的数据库,参考如下:


点击ok
ok,这样注册成功!


接下来再点击Analyze按钮,这样没有错误了,(虽然还有警告,但是我们可以发布服务的)点击Pubulish,稍等片刻发布成功。

转载自:https://mtr-1.oss-cn-beijing.aliyuncs.com/qyblog/2019/04/53097319.jpg

You may also like...