WebGIS实现在线要素编辑之ArcGIS Server 发布Feature Service 过程解析

FeatureService也称要素服务,其最大的好处就是支持在线要素编辑,并将编辑同步更新到后台的数据库中,它需要ArcSDE提供地理数据库的访问支撑。因此Feature Service中的要素来源必须是来自于ArcSDE。

关于Feature Service的详细介绍,可参考官网文档:

http://help.arcgis.com/en/arcgisserver/10.0/help/arcgis_server_dotnet_help/index.html#/What_is_a_feature_service/009300000020000000/

说明:

本机开发环境:

ArcGIS Server 10.0

ArcSDE 10.0 for MSSQL EXPRESS 2008 R2

本文前提条件:已经安装了ArcSDE并在ArcCatalog成功建立了数据库连接。如图所示:

一、准备数据:在ArcSDE中添加自定义点要素

作为测试,这里我们在本机的ArcSDE中新建一个点要素类(其他要素类同理),该要素类表示一个点污染源。过程如下所示:

输入点要素名称,及别名,点击下一步。

选择坐标系,由于最终我们要在Web地图中显示,所以这里我们选择了WebMecator。然后点击下一步,选择默认的容差设置,点击下一步设置要素字段。

如上所示,这里我们添加了如上所示的一系列字段,包含污染源的编号,名称,经纬度,排放浓度值,负责人,运行状态,联系人等。

之后点击确定完成点要素的添加。

2、为ArcSDE数据库添加属性域(该步骤可选)

关于属性域的介绍可参考官方文档:

http://help.arcgis.com/en/arcgisdesktop/10.0/help/#/A_quick_tour_of_attribute_domains/001s00000001000000/

由于在编辑要素时,因为要素的属性值(字段)只能是某一类型,或者在某一范围,或者是某些值中的一个。因此在编辑的时候我们就不能随意的输入,以确保数据不被破坏。那么这里就需要限制用户的输入。例如对于污染源的运行状态只能是:关闭或者运行。不能是其他的值。因此这里我们就需要借助属性域来确保用户输入的是正确的值,并更新到我们后台的数据库中。具体操作如下:

右键地理数据库,选择属性

添加如下所示的属性域值

以上过程可参考:

http://help.arcgis.com/en/arcgisdesktop/10.0/help/#/Creating_a_new_attribute_range_domain/001s00000003000000/

http://help.arcgis.com/en/arcgisdesktop/10.0/help/#/Creating_a_new_coded_value_domain/001s00000004000000/

3、将属性域应用到新建的点要素中。

右键要素,选择属性,在字段面板下,点击每一个字段,下面会有属性域选项,将我们刚才建立的属性域应用到相应的字段中。比如:我们点击运行状态字段,可以将其属性域设置为我们之前建立的名为state的属性值。如下图所示:

这样,SourceState属性值就只能是运行或者关闭了。从而使得用户不能输入其他非法的值,确保了数据的正确性。

4、新建MXD文档,添加我们我们之前在ArcSDE中新建的点要素。

打开ArcMap新建一个MXD文档,将我们在ArcSDE数据库中新建的点要素添加进来。。

以上我们看到污染源来自于sde数据库,接下来设置污染源的符号系统。右键污染源——选择属性

点击符号

选择相应的符号,点击确定。这时符号已经变成了我们设置的样式了。这里设置的样式也是之后在Web中添加点要素(污染源)时默认的样式。

保存MXD文档,并发布,发布可在ArcCatalog中进行,也可在ArcMap中直接发布。过程:在ArcMap中选择刚才保存的文档,右键——点击发布到ArcGIS Server

设置GIS服务相关选项

输入服务器名,选择GIS服务,然后点击下一步。

一定要勾选Feature Access,表示启用要素服务。同时还可启用其他的GIS服务。之后点击下一步,完成发布过程。

转载自:http://www.cnblogs.com/potential/archive/2012/11/03/2752796.html

WebGIS实现在线要素编辑之ArcGIS Server 发布Feature Service 过程解析的更多相关文章

  1. ArcGIS API for JavaScript(2)-ArcGIS Server发布要素图层服务

    1.前言 上一篇该系列的文章我们主要讲了一下基础Web地图搭建,这篇我们主要讲一下ArcGIS Server发布服务,并且如何调用服务.将自己的数据加载到Web地图当中来,实现Web端浏览数据. 2. ...

  2. 使用ArcGIS Server发布我们的数据

    原文:使用ArcGIS Server发布我们的数据 引言 上一篇我们已经安装好了ArcGIS体系的服务软件,这一篇将介绍如何把我们自己的数据通过ArcGIS Server发布出去,并且能够通过Web页 ...

  3. OpenLayers调用ArcGIS Server发布的WFS服务

    OpenLayers调用ArcGIS Server发布的WFS服务 原创: 蔡建良 2013-08-20 一. 开发环境 1) Openlayers2.13+arcgis server9.3 2) W ...

  4. OpenLayers调用arcgis server发布的地图服务

    有两种方式可以调用arcgis server发布的地图服务,一种是rest,一种是wms.  地图的投影为900913,arcgis server为10.0版本,地图服务的空间参考为3857.   与 ...

  5. 不同网段无法加载ArcGIS Server发布服务解决方法

    问题描述: ArcGIS Server 10发布的服务, (1)在相同网段的Desktop9.3和Engine 9.3程序下可以正常显示, (2)在不同网段Desktop9.3和Engine 9.3程 ...

  6. ArcGis server发布地图服务

    ArcGIS server发布服务: 首先修改地图文档属性中的关联默认数据库 最后使用分享将地图服务发布到server上,是地图服务可以使用: 注意一定要勾选 Feature Access选项 fea ...

  7. Arcgis api for javascript学习笔记 - 不改变默认端口(6080)情况下,外网访问Arcgis Server 发布的接口

    Arcgis Server发布的地图服务地址默认端口号是6080,假设本机上只对80端口做了外网映射,在IIS中部署了一个网站绑定了80端口,那么网站中某个页面通过arcgis api for js ...

  8. ArcGIS Server发布服务,打包成功,发布失败

    打包成功,发布失败 部分解决方案: ①   查看Server对于源数据所在文件夹是否有读写权限,若无赋予Server账户至少读写权限.读写权限的赋予:对应存放数据的文件夹上右键→属性→ 安全 赋予ar ...

  9. ARCGIS Server 发布服务时出现的问题解决

    target='CFH.ConfigurationFactoryHost'  machine='IBM3850X5'  thread='24072'  elapsed='0.31200'>Ser ...

随机推荐

  1. Nginx特点及其配置

    1.基础知识 代理服务器: 一般是指局域网内部的机器通过代理服务器发送请求到互联网上的服务器,代理服务器一般作用在客户端.应用比如:GoAgent,FQ神器. 一个完整的代理请求过程为:客户端首先与代 ...

  2. android屏蔽BACK键、HOME键和多任务键

    HOME: @Overridepublic void onAttachedToWindow() { System.out.println("Page01 -->onAttachedTo ...

  3. idea工程中web.xml报错Servlet should have a mapping

    搭建ssm工程过程中web.xml报错:Servlet should have a mapping ....但是mapping已经配置好了...如下图: 搜索无果,后来发现是工程的web.xml位置配 ...

  4. alv界面透视功能

    bdcdata_wa-fnam = 'P_MONAT-LOW'.               bdcdata_wa-fval = '01'.               APPEND bdcdata_ ...

  5. SqlServer2014导出数据库的数据字典-最新版本(字段说明也能导出)

    --移动360导出数据字典 -- --快速查看表结构(比较全面的) THEN obj.name ELSE '' END AS 表名, col.colorder AS 序号 , col.name AS ...

  6. easyrules

    http://www.easyrules.org/tutorials/hello-world-tutorial.html

  7. python 大量使用json 存储数据时,格式化输出的方式

    import json, pprint dic = {'name': 234, 'user_name': 'yan xia ting yu ', 'list': ['ds', 'a', 2], '你好 ...

  8. ASCII、Unicode和UTF-8编码的区别;中英文混合截取

    ASCII编码是128个字符 中国把汉字编入GB2312,Shift_JIS/Euc-kr各国标准..... Unicode是为了解决各国乱码的,但浪费存储空间 UTF-8编码把一个Unicode字符 ...

  9. virtaulbox docker虚拟机使用主机代理shandowsocks

    1.virtaulbox 配置NatNetwork File->Preference->network->add new nat network 2.virtaulbox 虚拟机配置 ...

  10. Python.tornado.2.tornado.options

    记录Tornado-4.0.2源码的阅读,学习,分析 options.py 1. imports 部分 1.1 __future__ from __future__ import absolute_i ...