【ArcGIS Server | 学习】发布地图服务并在Openlayers中调用

在学习了Oracle数据库基础以后,本想在ArcGIS中连接Oracle数据库(图解ArcSDE10.2 for Oracle 11g 安装-百度经验 (baidu.com)),

但在授权文件中出现arcgis server.ecp的相关信息,便对下面的工作造成困扰。于是,转而研究了一下ArcGIS Server的相关内容。

以往的知识储备告诉我,通过Server将制作好的地图数据发布,就可以在其他Web界面调用我发布的服务网址,融合其他的Web端操作,提供给用户基于此地图的多种功能。

首先按照以下方法安装了ArcGIS Server10.2:

(28条消息) ArcGIS server 10.2安装教程详细版_孙霸天-CSDN博客_arcgis安装教程10.2

在Arcmap中,任意打开了一份文件:Global Reservoirs and Dams (GRanD) version 1.01 Dataset(来源为http://sedac.ciesin.columbia.edu/pfs/grand.html

于是,按照

  1. 图解ArcGIS Server 10.2.2的安装及发布地图服务-百度经验 (baidu.com)
  2. (28条消息) arcgisserver发布服务详细流程_wsqplsh的博客-CSDN博客

的步骤进行连接,大致为:

  1. File-Save As Service-Publish a service(详细方法在1中)
  2. 在Choose a connection中发现还未找到我的服务点,于是点击右侧的加号,点击Administer GIS Server(详细方法在2中)。
  3. 查看位置是ArcGIS-Services Directory,也可以输入地址:http://localhost:6080/arcgis/rest/services。首页位置为:http://localhost:6080/arcgis/manager。
  4. 注意:重启计算机以后,在服务中需要开启ArcGIS Server,才可以再次连接上一次创建的服务端口(右键-connect)。
  5. 注意:计算机主机名查询方法:window+R-cmd,输入ipconfig/all,即可看到主机名一项。

【结果展示】:

发现这张地图连国界都没有,只是一个Feature文件,离一个完善的服务相差甚远,于是尝试将此服务进一步完善:

添加所有文件,构成完整的图层,将.mxd文件保存至非桌面的文件夹下,在Catalog窗口中找到这个文件夹,右键-发布服务,接下来步骤依然一样。

【结果展示】:

(注:图上的不同颜色代表建设时间,颜色越蓝,建设时间越晚,越红,建设时间越早)

上面提到发布地图服务的目的之一是为了在其他Web界面调用并融合其他功能。所以说在上面的地图数据发布完成以后,再学习如何调用它。

这里选用Openlayers(参考来源:OpenLayers示例代码:图像ArcGIS MapServer 开源地理空间基金会中文分会,OSGeo中文分会,OSGeo中国中心,开放地理空间实验室):

【代码展示】:

<%-- 
    Document   : index
    Created on : 2021-5-10, 15:54:32
    Author     : 
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
        <!--引入Openlayers开发包-->
        <script type="text/javascript" src="js/OpenLayers3.16.0/ol.js"></script>
        <link rel="stylesheet" type="text/css" href="js/OpenLayers3.16.0/ol_my.css">
        <!--引入jquery框架-->
        <script type="text/javascript" src="js/jquery-easyui-1.4.2/jquery.min.js"></script>
        <!--引入easyui前端开发包-->
        <script type="text/javascript" src="js/jquery-easyui-1.4.2/jquery.easyui.min.js"></script>
        <script type='text/javascript' src='js/jquery-easyui-1.4.2/locale/easyui-lang-zh_CN.js'></script>
        <link rel="stylesheet" type="text/css" href="js/jquery-easyui-1.4.2/themes/default/easyui.css">
        <link rel="stylesheet" type="text/css" href="js/jquery-easyui-1.4.2/themes/icon.css">
        <link rel="stylesheet" type="text/css" href="js/jquery-easyui-1.4.2/themes/color.css">
        
        <script type="text/javascript">
            var proj = 'EPSG:4326';   //定义wgs84地图坐标系
            var proj_m = 'EPSG:3857';   //定义墨卡托地图坐标系
            var map;
            var mapLayer;
            function GetArcGIServer(){
                var layers = [
                    new ol.layer.Image({
                      source: new ol.source.ImageArcGISRest({
                        ratio: 1,
                        params: {},
                        url: 'xxx'
                      })
                    })
                  ];
                  var map = new ol.Map({
                    layers: layers,
                    target: 'mapdiv',
                    projection: proj,
                    view: new ol.View({
                      center: ol.proj.transform([101.46912, 36.24274], proj, proj_m),
                      zoom: 4
                    })
                });
            }
        </script>
    </head>
    <body style="margin: 0;padding: 0;">
        <div style="height:35px;width: 20%;">
            <a class="easyui-linkbutton" href="javascript:GetArcGIServer()">ArcGIS Server地图服务</a>
         </div>
        <div id="mapdiv" style='width:800px;height:400px;border:1px solid black;'></div>
    </body>
</html>

【结果展示】:

最后这一块的调用有2个学习心得,做一下总结:

1、Netbeans中需要建立的项目类别是Java Web,建立完成以后需要删除自动生成的index.html文件,新建一个index.jsp,这样才可以直接调用项目文件夹中的外部文件。

2、控制台显示"500 Internal Server Error",检查原因发现,Server中的服务显示“正在停止”,网上搜索原因,检查了一下4000-4002端口占用情况(pid中查看),发现并没有被占用。于是,重新启动服务,包括Arcmap、计算机服务中的ArcGIS Server服务,发现成功启动,程序运行成功。

 

对今天的学习,做一下总结:

  1. ArcGIS Server的使用流程为:制作专题图、发布服务、外部调用、实现其他你喜欢的/甲方喜欢的功能。
  2. 重启计算机以后,需要手动开启ArcGIS Server服务
  3. Server中服务会断开,重新连接即可
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值