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. MYSQL 优化常用方法总结

    1, 选取最合适的字段属性以及长度 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快. 比如:定义邮政编码 char(6) 最合适,如果char(2 ...

  2. Web框架Danjgo之session cookie及认证组件

    一 Cookie 1 什么是Cookie Cookie翻译成中文是小饼干的意思.其实Cookie是key-value结构,类似于一个Python中的字典.随着服务器端的响应发送给客户端浏览器. 然后客 ...

  3. Linux_(3)Shell编程(上)

    一.shell 简介Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言.Shell 是指一种应用程序,这个应用程序提供了一个 ...

  4. 软件开发中 SQL SERVER 任务的用法

    在软件开发中,经常性会用到定时任务.这个时候你可能会想到线程.但是事实中,线程方法比较麻烦.容易出错,资源竞争等问题,设计起来让你很头痛. 现在给大家提供一个新的思路,用SQL SERVER 的任务管 ...

  5. 3G - 汉字统计

    统计给定文本文件中汉字的个数. Input 输入文件首先包含一个整数n,表示测试实例的个数,然后是n段文本. Output 对于每一段文本,输出其中的汉字的个数,每个测试实例的输出占一行. [Hint ...

  6. PAT 1033 旧键盘打字(20)(20 分)

    1033 旧键盘打字(20)(20 分) 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及坏掉的那些键,打出的结果文字会是怎样? 输入格式: 输入在2 ...

  7. LINUX查看网卡UUID

    有时我们不小心将/etc/sysconfig/network-scripts/ifcfg-eth0(可以通过此文件进行查看UUID)删除或者损坏,要重新编辑ifcfg-eth0文件时不知道网卡的UUI ...

  8. R语言读取Hive数据表

    R通过RJDBC包连接Hive 目前Hive集群是可以通过跳板机来访问 HiveServer, 将Hive 中的批量数据读入R环境,并进行后续的模型和算法运算. 1. 登录跳板机后需要首先在Linux ...

  9. TortoiseSVN Project Monitor使用

    今天下载了TortoiseSVN Project Monitor,要把一个项目导入 name一直没有输入,一直导入不成功,点击了ok也不给提示,切记要写项目Name啊! 在使用svncheckout时 ...

  10. Linux中处理字符串

    获取字符串长度: ${#字符串变量名} 截取子串: 1. expr substr 字符串 起始位置 截取长度 2. 命令输出 | cut -c 起始位置-结束位置 命令输出 | cut -c &quo ...