在ArcMap中发布FeatureLayer(要素图层)
FeatureLayer(要素图层)是ArcGIS Server发布的一种很重要的地图服务,发布后使用提供的url地址就可以在代码中调用并在地图上显示、编辑这个FeatureLayer。在HTML页面中,点击FeatureLayer的要素,还可以弹出相应的popup对话框以显示FeatureLayer字段值的信息(在编写代码时需要设置)。下面讲解用ArcMap发布FeatureLayer的过程。
一、使用SQL Server创建一个数据库
FeatureLayer中要素的字段信息保存在地理数据库中,我们可以使用SQL Server创建一个数据库,在ArcCatalog中升级成地理数据库。
打开SSMS,使用Windows身份验证连接数据库,也可以使用SQL Server的身份登录,但要记住登录名和密码,后面会用到。连接面板中的Server name的值也要记住,后面会用到。创建一个新的数据库。


二、打开ArcCatalog,将数据库升级成地理数据库
在ArcCatalog左侧的Catalog Tree(目录树)中,打开Database Connections文件夹,双击Add Database Connection。在打开的对话框中,Instance是刚才记住的Server name的名字,Authentication Type可以是Windows身份验证或SQL Server身份验证,最下方的数据库选择刚才新建的数据库。


右键刚才添加的数据库连接,选择Enable Geodatabase,打开对话框。

这里要添加keycodes许可文件,它的目录地址是C盘-Program Files-ESRI-License 10.x-sysgen-keycodes。


添加keycodes文件后,点击确定,等待几秒钟后弹出数据库成功升级成地理数据库的提示框。

右键这个地理数据库,选择Import-FeatureClass(single)。

Input Features是要导入到地理数据库的数据,Output Location是这个地理数据库的位置路径,Output Feature Class是我们为导入到数据库后的数据起的名字。在Field Map面板中列出了要素包含的字段名,要注意字段名不能包含括号(读者可以试一试为字段名添加中文或英文括号,应该都是会报错的)。输入完成后点击确定,弹出导入成功的提示框。


数据库中的这个数据就是我们要导入到ArcMap中,并发布成FeatureLayer的数据。这里有两点要注意的地方:①在ArcMap中不能使用普通的shapefile发布FeatureLayer,应该先将shapefile导入到地理数据库中,再将地理数据库中的这个数据发布成FeatureLayer ②在将普通shapefile导入到地理数据库中时,不能直接复制-粘贴,而要通过上面Import导入的方式。

三、打开ArcMap,发布FeatureLayer服务
添加地理数据库中的数据。

更改Table Of Contents(TOC,内容列表)中数据图层的名字和符号。这里根据“类别”这个字段进行了唯一值符号绘制。这里对数据图层的符号进行了更改,在发布成FeatureLayer后,FeatureLayer的要素符号也会这样显示。但在调用ArcGIS JavaScript API时可以编写代码进行符号的又一次渲染,而且渲染后的符号比在ArcMap中绘制的符号更饱满、好看。


在ArcMap中,File-Share As-Service,打开发布服务的对话框。



这里可以选择已有连接或者新建一个ArcGIS Server连接,这里选择Publish和Administer都可以。


这里有两种方法添加ArcGIS server的连接:
①在Server URL中输入ArcGIS Server的url。打开ArcGIS Server管理器,页面上方地址栏上的url去掉manager就是我们需要的url。在Authentication中输入ArcGIS Server的账号和密码。

②如果已将ArcGIS Server托管到portal中,则也可以输入portal的url和账户密码。

下面输入ArcGIS Server的url及账户密码:


输入portal的url及账户密码:


选择一个连接并更改Service name。选择服务发布到的文件夹,这里选择我们新建的test文件夹,也可以放在根目录(root)里。


弹出发布服务的对话框。

在左侧的列表中,选择Capabilities,在右侧面板中勾选Feature Access。在Feature Access面板下,可以查看并设置相关信息,这里我们不进行更改。


点击上方"Analyze"进行分析检查,如果报错要改正。提示的警告可以不更改,但是会影响服务发布的质量。这里不进行警告的更改。

点击上方"Publish",因为刚才的第一条警告没有更改,所以等待一会儿后会弹出"Copying Data to Server"的提示框,点击确定进行下一步。进行等待。这里有个小提示,如果ArcMap很卡顿,等待的时间很长,那么服务很有可能发布不成功。我在发布服务时经常会出现服务发布失败的情况,也没有找到解决办法,过一段时间再发布就好了(是什么东西没有开启?)。



服务发布成功,打开ArcGIS Server管理器进行查看。

点击左侧“功能”,在“选择与配置功能”面板下选中“Feature Access”,下方的REST URL就是我们使用JS API在代码中调用的url。

文中使用SQL Server 2017、ArcCatalog10.6、ArcMap10.6,可能会与其他版本发布服务时出现不同。
推荐文章:https://blog.csdn.net/LoveCarpenter/article/details/52462207
在ArcMap中发布FeatureLayer(要素图层)的更多相关文章
- ArcGIS Desktop和Engine中对点要素图层Graduated Symbols渲染的实现 Rotation Symbol (转)
摘要 ArcGIS中,对于要素图层的渲染,支持按照要素字段的值渲染要素的大小,其中Graduated Symbols可以对大小进行分级渲染.在个人开发系统的过程中,也可以用来美化数据显 ...
- ArcMap中"开始编辑"遇到一个或多个带有警告的图层“如果继续,可能无法编辑某些图层”的警告框
开始编辑后可能出现的错误: 如果 ArcMap 在所选数据上启动编辑会话时遇到问题,将弹出一个对话框以提供附加信息.您可能会收到错误.警告或信息消息. 出现错误 时用户不可以启动任何编辑会话.只有解 ...
- Engine中执行gp工具返回的要素图层如何获取?
来自:http://zhihu.esrichina.com.cn/?/question/12087 Engine中执行gp工具返回的[解决办法]:需要用gpUtils.DecodeFeatureLay ...
- C# ArcgisEngine开发中,对一个图层进行过滤,只显示符合条件的要素
转自原文 C# ArcgisEngine开发中,对一个图层进行过滤,只显示符合条件的要素 有时候,我们要对图层上的地物进行有选择性的显示,以此来满足实际的功能要求. 按下面介绍的方法可轻松实现图层属性 ...
- ArcGIS Server 10.2 实战(一)Asp.net MVC与JSON数据妙用实现动态生成要素图层
今年7月刚刚发布的ArcGIS 10.2为GIS的web开发带来了一个很实在的功能,JSON转要素.以往GIS图层外部数据(如文本数据,数据库数据)动态地写入地图服务中的图层是一件不可想象的事情,如今 ...
- Arcmap中加载互联网地图资源
本文转载自:http://blog.3snews.net/space.php?uid=6955280&do=blog&id=67981 前一段时间想在Arcmap中打开互联网地图中的地 ...
- [转]在Arcmap中加载互联网地图资源的4种方法
转自http://blog.3snews.net/space.php?uid=6955280&do=blog&id=67981 前一段时间想在Arcmap中打开互联网地图中的地图数据, ...
- 在Arcmap中加载互联网地图资源的4种方法
前一段时间想在Arcmap中打开互联网地图中的地图数据,如影像数据.基础地图数据等,经过简单研究目前总结了四种方法,整理下与大家分享,有些内容可能理解有误,希望大家多多指教.4种方法如下: a) ...
- 【ArcGIS 10.2新特性】ArcGIS 10.2将PostgreSQL原生数据发布为要素服务
1.ArcGIS 10.2支持原生数据发布为要素服 有没有将自己已有的空间数据发布为要素服务的需求?有没有将非Esri空间数据类型的数据作为服务在Web端展示的需求? ArcGIS 10.2 ...
随机推荐
- PAT1037:Magic Coupon
1037. Magic Coupon (25) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue The magi ...
- Tiny4412之重力感应器驱动
一:Tiny4412 裸板重力感应驱动编写 整个编写过程大概分为如下几步: (1)在底板上找到重力感应器的所在位置,找到芯片型号(我用的板子上重力感应器芯片型号为:MMA7660FC) (2)通过型号 ...
- 使用Github来管理的代码片段
代码片段介绍 xcode4引入了一个新feature: code snippets,在整个界面的右下角,可以通过快捷键:cmd + ctrl + opt + 2 调出来.code snippets是一 ...
- 服务器配置tomcat部署项目
部署项目首先你需要把你的java web项目打包成war文件 在需要打包的项目上右键>选择[Export] 选中[Web]下面的[WAR file],点击[Next] 通过[Browse]选择保 ...
- (细节)My SQL中主键为0和主键自排约束的关系
开始不设置主键 表的设计如下: 如果id的位置有好几个0的话:设置主键并且自动排序时,0会从1开始递增: Insert 进去 id = 0的数据,数据会从实际的行数开始增加,和从0变化不一样: 现在主 ...
- 为什么我离开Mac for Windows:苹果已经放弃了[译]
为什么我离开Mac for Windows:苹果已经放弃了[译] 如果你问任何知道我的人,我可能是他们知道的最大的苹果粉丝.要求提供什么电脑可以获得的建议,我几乎肯定会告诉你MacBook Pro,还 ...
- YII框架CGridView sql有条件分页实现
$SQL="SELECT * FROM {{user}} WHERE `typeff`=2 order by create_time desc"; $SQL_count=" ...
- React Native在特赞的应用与实践
基于React技术栈构建开发前端项目,并使用React Native开发特赞移动APP 目前正在使用Node.js开发和维护特赞服务网关,希望Node.js能够在更轻量级的微服务架构中发挥重要作用 课 ...
- css的div垂直居中的方法,百分比div垂直居中
前言 我们都知道,固定高宽的div在网页中垂直居中很简单,相信大家也很容易的写出来,但是不是固定高宽的div如何垂直居中呢?我们在网页布局,特别是手机等web端网页经常是不固定高宽的div,那么这些d ...
- https://blog.csdn.net/u011489043/article/details/68488459
转自https://blog.csdn.net/u011489043/article/details/68488459 String 字符串常量 StringBuffer 字符串变量(线程安全) ...