1. 引言

如果我们要在网页端实现要素的增删改查操作,需要使用到要素服务(FeatureService),本篇文章将介绍如何发布要素服务。

1.1 什么是要素服务

在发布之前,我们先了解下要素服务:要素服务可用来通过 Internet 提供要素,并提供显示要素时所要使用的符号系统。之后,客户端可执行查询操作以获取要素,并执行相应的编辑操作。要素服务提供了可用于提高客户端编辑体验的模板。此外,要素服务也可以对关系类和非空间表中的数据进行查询和编辑。这是官方文档的说明。

1.2 什么是 ArcSDE

从上面的说明我们可以得到这样的一个信息:要素服务主要的功能是使用户能够对要素进行操作。这里我们应该思考下,操作的结果应该保存在哪里呢?虽然 ArcGIS有自己的数据库,但均属于单用户级别数据库,不能够满足多用户同时访问。支持多用户的数据库就涉及到一些企业级关系型数据库(如 Oracle ,SQL Server 等等),将 GIS 数据库中的内容转换到企业级数据中就需要使用到 ArcSDE 。

由此可见,ArcSDE 是 ArcGIS 数据库通往企业级数据库的桥梁,通过 ArcSDE 我们可以在 GIS 数据库中轻而易举地管理一个共享的、多用户的空间数据库。

2. 准备环境

  • SQL Server 2008
  • ArcCatalog
  • ArcMap
  • ArcGIS Server 10 ( 包含了 ArcSDE )
  1. 步骤

3.1 空间地理数据库的创建

打开 ArcCatalog,利用 toolBox 中的 create enterprise geodatabase 工具创建企业级地理数据库

这是对一些参数的说明

接着连接到刚刚创建的数据库

3.2 数据库的注册

导入需要发布的要素

设置数据的访问权限

点击 Add 按钮添加可以访问的用户,最后对每个用户分配可执行的操作

在进行服务发布之前,需要将数据库注册到 ArcGIS Server 上,这样我们对要素的增删改查操作才会保存到的数据库中。

右击我们需要注册到的 GIS Server,选择 Server Properties 选项。

切换到 Data Store 选项卡,点击 + 按钮,添加数据库,让后在 Register Database 页面点击 import 按钮,导入刚刚注册的数据库。

点击Validate All 变为绿色剪头:

当数据库前出现一个绿色对勾是,表示注册成功。

注: 以上操作在 ArcMap 或者 ArcCatalog 中进行。

3.3 发布要素服务

相比于前期的准备工作而言,发布要素服务简单多了,整体过程跟发布动态服务类似。

首先,新建一个图层,把导入到数据库的要素添加到地图中。然后,点击 File -- Share As -- Service ,连接到 GIS 服务器之后,在 Capabilities 选项卡中勾选 Feature Access,点击 Analyze 按钮确保没有错误之后点击 publish 发布服务。

发布成功之后,我们就可以在 GIS Server Manager 查看该要素服务,并对它进行修改。

arcgis api for js 之发布要素服务的更多相关文章

  1. ArcGIS Server 10.1发布要素服务(FeatureLayer server)时遇到的数据库注册问题

    在发布要素服务的最后一步遇到了一个问题: SEVERITY STATUS CODE DESCRIPTION NAME TYPE DATA FRAME High Unresolved 00090 Fea ...

  2. arcgis api for js入门开发系列一arcgis api离线部署

    在我的GIS之家QQ群里,很多都是arcgis api for js开发的新手,他们一般都是GIS专业的学生,或者从计算机专业刚刚转向来的giser,他们难免会遇到各种webgis开发的简单问题,由于 ...

  3. arcgis api for js入门开发系列二十打印地图的那些事

    前面我写过关于利用arcgis api for js打印地图的,但是打印地图服务都是基于arcgis server发布的,arcgis api加载在线地图,比如天地图.百度地图.高德地图等,底图都是打 ...

  4. arcgis api for js入门开发系列四地图查询(含源代码)

    备注:由于实现本篇功能的需求,修改了地图数据的dlsearch.mxd,然后更新了地图服务,需要的在文章最后有提供最新的mxd以及源代码下载的 上一篇实现了demo的地图工具栏,本篇新增地图查询功能, ...

  5. 转:arcgis api for js入门开发系列四地图查询

    原文地址:arcgis api for js入门开发系列四地图查询 arcgis for js的地图查询方式,一般来说,总共有三种查询方式:FindTask.IdentifyTask.QueryTas ...

  6. Arcgis API for JS——打印控件乱码

    在通过Arcgis API for JS编写打印控件进行地图下载时,总发现地图字体乱码,如下图: 解决方法: 在装有ArcGIS Server,要调用服务的电脑或服务器上找到下图文件夹

  7. arcgis api for js 地图查询

      arcgis api for js入门开发系列四地图查询(含源代码) 上一篇实现了demo的地图工具栏,本篇新增地图查询功能,包括属性查询和空间查询两大块,截图如下: 属性查询效果图: 空间查询效 ...

  8. arcgis api for js 4.X 出现跨域问题

    arcgis api for js 4.X 出现跨域问题 XMLHttpRequest cannot load http://localhost/4.3/4.3/esri/workers/mutabl ...

  9. ArcGis(01)——地图切片以及发布底图服务

    ArcGis(01)——地图切片以及发布底图服务 环境 操作系统:win10_x64 Gis版本:Arcis server 10.2 准备 1.tif格式地图资源 2.Arcis server 10. ...

随机推荐

  1. python中从键盘输入内容的方法raw_input()和input()的区别

    raw_input()输出结果都是字符串 Input()输入什么内容,输出就是什么内容

  2. golang学习笔记12 beego table name `xxx` repeat register, must be unique 错误问题

    golang学习笔记12 beego table name `xxx` repeat register, must be unique 错误问题 今天测试了重新建一个项目生成新的表,然后复制到旧的项目 ...

  3. tornado 初识

    Tornado 是一个Python Web框架和异步网络库,最初是在FriendFeed上开发的. 通过使用非阻塞网络I / O,Tornado可以扩展到数万个开放连接,使其成为长轮询, WebSoc ...

  4. AtCoder Beginner Contest 066 B - ss

    题目链接:http://abc066.contest.atcoder.jp/tasks/abc066_b Time limit : 2sec / Memory limit : 256MB Score ...

  5. JustOj 2042: Dada的游戏

    题目描述 Dada无聊时,喜欢做一个游戏,将很多钱分成若干堆排成一列,每堆钱数不固定,谁能找出每堆钱数严格递增的最长区间,谁就是人生赢家了.Dada可能脑子里的水还没干,她找不出来,你来帮她找找吧. ...

  6. python 之xml.etree.ElementTree

    Element类型是一种灵活的容器对象,用于在内存中存储结构化数据. [注意]xml.etree.ElementTree模块在应对恶意结构数据时显得并不安全. 每个element对象都具有以下属性: ...

  7. 前端框架VUE----组件的创建

    vue的核心基础就是组件的使用,玩好了组件才能将前面学的基础更好的运用起来.组件的使用更使我们的项目解耦合.更加符合vue的设计思想MVVM. 那接下来就跟我看一下如何在一个Vue实例中使用组件吧! ...

  8. com.sun.jersey.api.client.UniformInterfaceException:returned a response status of 403

    这是在同一台电脑上,然后启动两台tomcat进行文件传输时候,会出现的一个异常. 403,是因为tomcat默认禁止上传,在tomcat中的config中的web.xml中进行以下的配置就可以进行文件 ...

  9. Django自定义装饰器

    装饰器模板: def decorator(func): def wrapper(*args,**kwargs): return func(*args,**kwargs) return wrapper ...

  10. Python2的一些问题及解决办法

    1. 无法注释中文的解决办法 # -*- coding:utf8 -*- # 添加这一行就行了 from django.contrib import admin from myapp.models i ...