ArcGIS发布要素服务

撰写日期:2019年12月10日
注意:随着时间推移,该博文可能不再适用,请仔细检查自己的版本与博文版本的对应关系,不能保证三五年后,该博文仍然对新版本的ArcGIS有效!

一般情况下,我们会发布影像服务、地图服务、要素服务三种服务至ArcGIS Server,然后在web端,可以利用ArcGIS API for Javascript调用三种服务。前面介绍了如何发布影像服务和地图服务,今天介绍如何利用ArcGIS发布要素服务

由于要素服务发布后,我们想要编辑要素,而不仅仅是查看下,因此要素服务的发布一般需要借助某种数据库,例如SQL Server,要素图层实际上存储在关系数据库中。要素服务成功发布后,可以利用web端对要素进行修改、删除等编辑操作。当然在web端对要素的修改,实际上修改的是存储在数据库(如sql server)中的数据。


一、系统环境

  • Windows 10 企业版 1903 64bit
  • SQL Server 2014 Express
  • ArcGIS Desktop 10.2.2
  • ArcGIS Server 10.2.2

二、安装软件

ArcGIS连接数据库有两种方式,一种是直接连接,另外一种是服务连接

  • 直接连接也就是arcgis直接连接至关系数据数据库,没有中间层,不需要安装ArcSDE
  • 服务连接往往需要通过ArcSDE这一层,需要安装ArcSDE
    ESRI官方推荐是直接连接,因此本文也采用直接连接,不安装ArcSDE。

2.1 安装SQL Server 2014 Express

Express是学习版,安装包比较小。如果你功能要求比较多,可以装develop版本。或者安装Oracle。

2.2 安装ArcGIS Desktop 10.2.2

这里不赘述了,GIS专业的同学应该很熟悉。需要注意的是先安装ArcGIS License Manger,再安装ArcGIS for Desktop。如果你是第一次安装,最好不要搞反了顺序。(如果你是老手,这个顺序其实也是可以反的

安装arcgis 10.2.2 Desktop

2.3 安装ArcGIS Server 10.2.2

这个过程很简单,比安装ArcGIS Desktop还要简单。唯一需要注意的是授权文件,记得保留着,后面创建企业级地理数据库时还需要它。

三、利用ArcGIS Desktop发布要素服务

要素服务与数据库的关系大致如下图,如果看不明白不要紧。接着往下看。


要素服务与数据库的关系

3.1 创建企业级地理数据库

从ArcGIS desktop中创建地理数据库,创建好的数据表实际上存放在Sql Server中(假设你用的Sql Server)。

(1)打开arcmap,然后打开ArcToolbox窗口,依次找到【Data Management Tools】->【Geodatabase Administration】->【Create Enterprise Geodatabase】,打开创建企业级地理数据库的对话框。


创建企业级地理数据库

(2)这里我创建一个名字为Test的企业级地理数据库,创建好之后在Sql Server中可以看到名称为Test的数据库。按照下图的步骤依次填入对应的值或者选择对应的文件。最后点击【OK】按钮。

创建企业级地理数据库-对话框

(3)sql server中查看创建好的地理数据库
利用Microsoft Sql Server Management Studio,连接至Sql server的后台,可以看到新出现了一个Test数据,就是我们刚才新建的Test地理数据库。Test数据库下有不少由arcgis创建的表。

sql server中查看地理数据库

(4)目前在ArcMap中我们无法看到刚才创建的地理数据库Test。我们可以通过添加一个连接,将ArcMap连接至Sql Server。具体方法是:
打开Catalog,展开Database Connections组,点击【Add Database Connection】,设置好相应的值,在Database栏选择刚才创建的Test数据库。点击【OK】,就会看到带红×的数据库连接,双击该数据库连接,就可以连上sql server数据库了。

添加数据库连接
数据库连接参数设置
连接结果

直到目前为止,刚才创建的企业级地理数据库Test里面什么数据也没有,还是空的。下面,我们要加点数据进去。

3.2 添加数据至企业级地理数据库

(1)在刚才的设置的数据库连接【Connection to DESKTOP-3BAHAU6 (3).sde】上右键单击,选择【Import】-【Feature Class(single)】,导入单个要素类(当然你也可以一次性导入多个)。设置导入参数,就可以导入了。导入后可以看到数据库连接下有一个【Test.DBO.NewTest】,这就是我们刚才导入的要素类,现在它已经放到了sql server数据库中了。我们可以将其拖到到ArcMap工作区,就可以看到Test地理数据库中存放的要素类和原始的要素类数据是一样的。只是Test地理数据库是放在Sql Server中,而原始的要素类数据可能是文件或其他形式。

导入要素类

导入要素类对话框

导入后结果

3.3 发布要素服务

(1)将刚才新建的数据库连接下的要素类【Test.DBO.NewTest】拖拽至ArcMap工作区。现在就可以看到该要素类了,设置要素类的显示样式。
(2)点击【File】->【Share as】->【Service】,进入发布要地图服务的流程。
后续的对话框中选择【Publish a service】,设置【Service name】,下一步我选择创建一个新的文件夹(当然也可以不创建)。

Publish a service

设置Service name

发布文件夹

(3)在Service Editor对话框中,依次点击【Capabilities】-->勾选【Feature Access】,然后点击右上方的【Analyze】按钮。分析我们发布的要素服务存在的问题
Service Editor

(4)可以发现,点击【Analyze】后下方确实出现了一个问题列表,其中还有错误。错误提示我们要素服务需要一个注册数据库
发布问题列表

双击该错误,弹出注册数据库的对话框。在Registered Databases一栏,点击右侧的+号,点击【Register Database】,然后依次设置各个对话框的值,如下图所示。


添加注册数据库
注册数据库的名称
注册数据库参数设置
完成数据库注册

(5)回到【Service editor】对话框,再次点击【Analyze】按钮,可以发现这次没有错误了,可以点击【Publish】按钮发布地图服务至ArcGIS Server了。

3.4 检查发布结果

打开浏览器,输入:http://localhost:6080/arcgis/manager,进入ArcGIS Server管理界面。找到刚才发布的test服务文件夹,可以看到发布的服务NewTest。点击进去查看详细信息。

test服务文件夹

点击左侧的【功能】选项卡,点击【Feature Access】,下面URL栏出现的REST URL地址 http://localhost:6080/arcgis/rest/services/test/NewTest/FeatureServer 即为在ArcGIS API for JavaScript中的调用地址。

要素服务REST URL地址

当然,你也可以点击【地图(始终启用)】,下面的REST URL就会变为地图服务的地址,类似于:http://localhost:6080/arcgis/rest/services/test/NewTest/MapServer 其中从MapServer即可看出是地图服务。

至此,ArcGIS发布要素服务讲解完毕。已经很详细了。
后面会讲解发布GP服务,以及在ArcGIS API for JS 4.13中调用的一些问题。


参考链接:

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,142评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,298评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,068评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,081评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,099评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,071评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,990评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,832评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,274评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,488评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,649评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,378评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,979评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,625评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,643评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,545评论 2 352

推荐阅读更多精彩内容