引言
上一篇我们已经安装好了ArcGIS体系的服务软件,这一篇将介绍如何把我们自己的数据通过ArcGIS Server发布出去,并且能够通过Web页面进行显示和编辑。
发布数据服务
在进行WebGIS开发中,地图显示的内容可以分成两类:一类是底图,或者是矢量的世界地图、中国地图、某个地区的底图;另一类就是业务图,对于用于遥感数据发布的WebGIS应用就是遥感影像的边框图层,对于电力作业的就是杆塔、线路图层,对于水利作业的就是河流、居民地图层。
这一节,仿照资源卫星中心遥感影像检索页面的地图服务做一个示例。底图部分采用中国矢量地图,遥感影像的边框图层使用ArcSDE中的空间要素图层。
使用ArcMap连接ArcGIS Server
打开ArcMap,选择“创建空白地图”,确定。
在ArcMap界面右侧的“目录”边栏中点击“GIS服务器”旁边的+号,展开下级菜单。
双击“添加 ArcGIS Server”,选择“管理 GIS 服务”,下一步。
在 “服务器 URL”中输入 "http://计算机名:8399/arcgis/services",在“主机名称”中输入计算机名,点击完成。
可以看到“目录”边栏中增加了一个和你的计算机名一样的节点,这就是和你的ArcGIS Server建立的连接。可以进行重命名、查看服务器属性、添加新服务等操作。
制作MXD文件
ArcGIS Server发布服务唯一支持的文件格式是MXD。MXD文件是一个工程文件,其中可以包含很多个文件,你可以将要发布的底图以及在ArcSDE中的数据都添加到这个文件中,一起通过ArcGIS Server进行发布。
要生成一个MXD文件,只需要把需要的底图和ArcSDE中的数据添加到ArcMap,然后选择保存,ArcMap默认保存格式即为MXD。
添加底图
底图数据使用的是国家基础地理信息中心公开的400万比例尺的数据,分辨率较低。数据可以在http://pan.baidu.com/s/1dD7vaxV下载。
点击ArcMap工具栏中的+号图标,进行数据添加(我把数据放在了桌面上)。
OK,为什么在弹出的添加数据对话框中却找不到桌面这个位置?
这里,需要点击对话框右上角带+号的按钮,链接到文件夹。选择桌面,点击确定。
现在我们已经进入了桌面,进入“国家基础地理信息系统数据”的文件夹,选择“国界与省界”中的bou2_4p.shp,确定。
底图已经加载进来了,你还可以试着添加其他的数据进来,比如河流的、道路的等等。
建立与ArcSDE的链接
展开“目录”侧边栏的“数据库连接”,选择“添加 空间数据库连接”。
在弹出的空间数据库连接对话框中输入连接信息(有两种连接方式,一种是连接sde,一种是直连postgreSQL数据库,这里采用的是第二种直连的方式)。输入完连接信息后,点击“测试连接”,如果连接成功,点击确定,如果失败,只能仔细检查连接信息是否有误。
确定之后,就可以看到我们添加的连接Connection to local_sde。前面的红叉表示还没有连接,双击就连接上了。
将sde.sde.IMAGE拖拽到ArcMap的图层列表中,就完成了添加遥感影像图层的操作。
如果你按照上述的步骤一步一步的操作了,你会发现在你的空间数据库连接"Connection to local_sde"找不到"sde.sde.IMAGE"的图层。这是一个自己添加的图层,作者已经将其导出为shp格式文件,可以在http://pan.baidu.com/s/1qWobI3M下载到。在建立好空间数据库的连接之后,在"Connection to local_sde"上右键,选择“导入\要素类(单个)”把shp文件导入就可以了。
生成MXD文件
要发布的底图和遥感影像空间数据已经添加到ArcMap的工作空间。接下来,点击保存即可。
将MXD文件发布到ArcGIS Server
在ArcGIS Server连接“WIN-IPND42OT7PA”上右键,选择“添加 新服务”。
输入服务名称及描述。
输入服务发布使用的MXD数据文档,输入服务器缓存文件路径,输入最大返回条目数。
选择服务支持的类型,默认选择的只选择了制图和KML两种。由于我们需要插入新的数据或者要删除某一条数据,所以很多场景下需要选择Feature Access服务。Feature Access服务提供了REST类型的空间数据访问接口,包括CRUD。
其他的页面设置可以直接跳过,直到确定完成服务发布。
如果你像作者一样用的Windows7,而且把myMxd.mxd文件保存到了桌面,那么你会收到一个无法启动服务的提示框。
这是因为Win7访问权限的问题,我的解决方法是把myMxd.mxd文件以及底图文件都不要放到桌面,然后重新发布服务。
服务发布完成之后,需要在windows服务管理其中重新启动ArcGIS Server相关的三个windows服务。按顺序重新启动ArcGIS SOC Monitor,ArcGIS Server Object Manager,ArcGIS Server Manager Service。
服务到底发布成功没有?我们可以打开IE浏览器,输入http://localhost:8399/arcgis/rest/services,如果能够访问,那么服务就发布成功了。