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

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

时间: 2024-12-09 18:11:53

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

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

1.前言 上一篇该系列的文章我们主要讲了一下基础Web地图搭建,这篇我们主要讲一下ArcGIS Server发布服务,并且如何调用服务.将自己的数据加载到Web地图当中来,实现Web端浏览数据. 2.ArcGIS Server介绍与安装 1.ArcGIS Server 是功能强大的基于服务器的 GIS 产品,用于构建集中管理的.支持多用户的.具备高级GIS功能的企业级GIS应用与服务,如:空间数据管理.二维三维地图可视化.数据编辑.空间分析等即拿即用的应用和类型丰富的服务.ArcGIS Serv

使用ArcGIS Server发布我们的数据

原文:使用ArcGIS Server发布我们的数据 引言 上一篇我们已经安装好了ArcGIS体系的服务软件,这一篇将介绍如何把我们自己的数据通过ArcGIS Server发布出去,并且能够通过Web页面进行显示和编辑. 发布数据服务 在进行WebGIS开发中,地图显示的内容可以分成两类:一类是底图,或者是矢量的世界地图.中国地图.某个地区的底图:另一类就是业务图,对于用于遥感数据发布的WebGIS应用就是遥感影像的边框图层,对于电力作业的就是杆塔.线路图层,对于水利作业的就是河流.居民地图层.

ArcGIS for Server 10.2 发布Feature Service

折腾一下午,终于把自带的例子发布成Feature Service了,这样就可以通过web编辑了.记录一下步骤. 环境:已经安装好SQL Server 2008 R2,ArcGIS for Desktop 10.2,ArcGIS for Server 10.2,ArcSDE 10.2 for SQL Server 2008 准备工作: 1.创建Geodatabase,参考http://www.cnblogs.com/oceanking/p/3892584.html 2.添加一个数据库连接.在GIS

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

问题描述: ArcGIS Server 10发布的服务, (1)在相同网段的Desktop9.3和Engine 9.3程序下可以正常显示, (2)在不同网段Desktop9.3和Engine 9.3程序下都无法加载显示, (3)在相同或不同网段Desktop10.1和Engine 10.1程序下均可正常显示, 问题原因: ArcGIS Server 发布服务虚拟目录下用的是机器名,而不是IP地址,不同网段下无法识别服务器机器名. 解决方法: 修改ArcGIS Server 发布服务虚拟目录路径为

手机调用ArcGIS Server发布的Rest地图服务不显示问题

如果是本地发布的服务,在手机端调用server服务时,访问rest地址主机名要改为IP加端口号(192.168.1.100:6080),而且必须是内网才能访问 "http://192.168.1.100:6080/arcgis/rest/services/FirstFloor/MapServer" URL的解释: http://<host>/<instance>/services/<folder> 说明: <host>是ArcGIS服务器

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

有两种方式可以调用arcgis server发布的地图服务,一种是rest,一种是wms. 地图的投影为900913,arcgis server为10.0版本,地图服务的空间参考为3857. 与Google Map相对应的ArcGis投影文件: 众所周知,Google Map的投影参考为"WGS 84 Web墨卡托",定义为 EPSG:900913 或者 EPSG:3857 (EPSG:3785).与此相对应的ArcGis的投影坐标系名称为:WGS 1984 Web Mercator.

Sql Server tempdb原理-启动过程解析实践

我们知道在SqlServer实例启动过程中数据库会进行还原(Redo,Undo)然后打开提供服务,但我们知道tempdb是不提供重做机制的(Redo)那tempdb是如何还原的呢?如果tempdb损坏我们该怎么办,这里我将通过实例给大家介绍. 有时tempdb因为一些原因会变得非常巨大,一些DBA的解决方式就是重启数据库实例,的确重启后tempdb就会恢复到初始设置大小,理由很简单tempdb会重新创建. Tempdb的创建过程. 1在model库打开后进行tempdb创建(可以日志中看到mod

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

打包成功,发布失败 部分解决方案: ①   查看Server对于源数据所在文件夹是否有读写权限,若无赋予Server账户至少读写权限.读写权限的赋予:对应存放数据的文件夹上右键→属性→ 安全 赋予arcgis server account(如果安装时没有改名字, 默认名字为arcgis)读写权限,如果列表中没有该账户,点 编辑→ 添加→ 输入对象名称→ 检查名称 ②   在arcmap里新建一个空白的mxd,添加一个本地的数据,如存放在本地的shapefile或file gdb里的要素类,然后发

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

target='CFH.ConfigurationFactoryHost' machine='IBM3850X5' thread='24072' elapsed='0.31200'>Server Object instance is successfully created on machine IBM3850X5.</Msg> <Msg time='2011-11-15T13:25:49' type='INFO3' code='4006' target='CFH.Configur