热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SuperMapiClient3DforWebGL加载iServer转发ArcGISREST服务的WMS并获取属性与别名

作者:kk文章目录一、iServer转发A的REST服务为WMS服务二、使用WebGL加载转发后的WMS服务三、获取到点击地图返回的信息并解析一、iServer转发A

作者:kk



文章目录

  • 一、iServer转发A的REST服务为WMS服务
  • 二、使用WebGL加载转发后的WMS服务
  • 三、获取到点击地图返回的信息并解析




一、iServer转发A的REST服务为WMS服务

步骤:快速创建服务->ArcGIS REST地图服务->输入ArcGIS REST地图服务地址eg:http://ip:6080/arcgis/rest/services/WMS/MapServer

能力文档:
在这里插入图片描述

二、使用WebGL加载转发后的WMS服务

var wms = new Cesium.WebMapServiceImageryProvider({url : 'http://ip:8090/iserver/services/map-arcgis-WMS/wms111/%E5%9B%BE%E5%B1%82',layers : '0',parameters:{srs:"EPSG:0",format:"image/png",transparent:true},getFeatureInfoParameters:{info_format:'text/html',query_layers:['0.0'],srs:"EPSG:0"},enablePickFeatures:true,tilingScheme:new Cesium.WebMercatorTilingScheme({projection:new Cesium.GeographicProjection(),})})var layer = viewer.imageryLayers.addImageryProvider(wms);

注:这里的参数都是从wms能力文档里面获取的,小编的应用场景是平面场景,且加载的是高斯投影坐标系的数据,因此tilingScheme需要设置为WebMercatorTilingScheme(代表平面场景),projection设置为GeographicProjection(代表非墨卡托拉伸),其他的参数可以看一下帮助文档里面的释义:http://support.supermap.com.cn:8090/webgl/web/apis/3dwebgl.html
加载效果:
在这里插入图片描述

三、获取到点击地图返回的信息并解析

var handler &#61; new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);//设置鼠标左键单击回调事件handler.setInputAction(function (movement) {var ray &#61; viewer.camera.getPickRay(movement.position);var cartesian &#61; viewer.scene.globe.pick(ray, viewer.scene);if (cartesian) {var cartographic &#61; Cesium.Cartographic.fromCartesian(cartesian);if (cartographic) {var xy &#61; new Cesium.Cartesian2();var alti &#61; viewer.camera.positionCartographic.height;var level &#61; getLevel(alti);if (wms.ready) {xy &#61; wms.tilingScheme.positionToTileXY(cartographic, level, xy);var promise &#61; wms.pickFeatures(xy.x, xy.y, level, cartographic.longitude, cartographic.latitude);Cesium.when(promise, function (data) {console.log(data[0].data.children[0].getElementsByTagName("fields")[0])var fields&#61;data[0].data.children[0].getElementsByTagName("fields")[0];var fieldAliases&#61;data[0].data.children[0].getElementsByTagName("fieldAliases")[0];//获取属性console.log("fields-----------------------------------------------------------------------------------")for(var i&#61;0;i<fields.attributes.length;i&#43;&#43;){console.log(fields.attributes[i].name,&#39;————————&#39;,fields.attributes[i].value)}//获取别名console.log("fieldAliases-----------------------------------------------------------------------------------")for(var i&#61;0;i<fieldAliases.attributes.length;i&#43;&#43;){console.log(fieldAliases.attributes[i].name,&#39;————————&#39;,fieldAliases.attributes[i].value)}});}}}}, Cesium.ScreenSpaceEventType.LEFT_CLICK);

输出结果&#xff1a;
在这里插入图片描述


推荐阅读
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • Imtryingtofigureoutawaytogeneratetorrentfilesfromabucket,usingtheAWSSDKforGo.我正 ... [详细]
  • Windows7 64位系统安装PLSQL Developer的步骤和注意事项
    本文介绍了在Windows7 64位系统上安装PLSQL Developer的步骤和注意事项。首先下载并安装PLSQL Developer,注意不要安装在默认目录下。然后下载Windows 32位的oracle instant client,并解压到指定路径。最后,按照自己的喜好对解压后的文件进行命名和压缩。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
author-avatar
凹凸曼00威威_694
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有