在线编辑(一)数据准备—发布要素地图服务(Feature Layer)
转:http://wenku.baidu.com/link?url=oB8foPowTHGf2RBj2vdxJNf-PlOSg0Rt_mr1lu5WUuMPLuhgjQ1WmRkT7Hz7t19VfUHWrr86yBgxoWb4Io2TBtOixphTcG-Zqz088IH1nlq
软件环境:
操作系统: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完成连接。
接下来就可以对数据库进行操作了,首先导入需要编辑的图层。右键刚才连接上的SDE,Import-Feature Class(multiple)弹出对话框。选中图层之后点击OK。
上述加载的图层没有注册版本,接下来我们为该图层数据源所在的数据库注册版本。右键刚添加的feature class,选择manage-Register as versioned。
下一步,新建MXD,从sde中添加需要编辑的feature
class。编辑结束之后一定要结束编辑然后保存编辑结果,接下来就发布服务,File-ShareAs-pubulish a Service,选择本地的Server
为服务取名字为 MyFeatureService。下一步,出现ServiceEditor,在Capalities里选中FeatureAccess,在FeatureAccess里面可以选择,Create,Query,Update,Delete,是否允许用户对数据增删改查,默认是全选的。
然后我点击一下Analyze,又弹出了错误SEVERITY STATUS CODE DESCRIPTION
NAME TYPE DATA FRAME High Unresolved 00090 Featureservice requires a registered database Layers Data Frame Layers,提示让我们为数据源所在的数据库注册(出于安全性考虑,如果要让Server能够访问SDE中的数据,必须将该SDE在Server中的DataStore中注册,也就是说,Server只能访问Data
Store目录中对应的数据),双击错误提示,然后弹出Data Store
窗口,点击+
,随便写个名字我这里写的是zhucesde。
接下来,点击Publisher database connection
中的Add
按钮,开始注册我们的数据库,这样注册以后我们的ArcGIS Server
就可以访问数据库的数据了,选择要注册的数据库,参考如下:
点击ok
,ok,这样注册成功!
接下来再点击Analyze按钮,这样没有错误了,(虽然还有警告,但是我们可以发布服务的)点击Pubulish,稍等片刻发布成功。
转载自:https://blog.csdn.net/wt346326775/article/details/52698345