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

使用iServerrestapi如何实现构建巷道效果

作者:刘大背景在实际生产环境中,特别是在采矿,公路建设项目上,我们往往会接触下图所示的巷道,那么在Web端如



作者:刘大



背景

在实际生产环境中,特别是在采矿,公路建设项目上,我们往往会接触下图所示的巷道,那么在Web端如何快速通过线数据构建巷道模型呢?下面我们来详细说下

image.png


使用方式


第一步: 在iServer发布空间分析服务

发布空间分析服务


第二步:调用 iServer空间分析服务loft放样接口

打开第一步发布的空间分析服务地址,依次点击spatialanalystgeometrygeometryLoft进入loft放样接口,如下图所示:

image.png
接下来,我们来看看该接口的post请求体需要传入哪些参数
image.png

由上图看出,我们需要传入待放样三维线对象横截面对象
而构建巷道的关键之处在于横截面loftRgeion的传入,需要是导洞的形式,导洞具体的写法,我们举一个例子如下:

image.png
主要注意两点:
1.parts是个数组,数组的每一项依次取points里面的点串;
2.导洞的内外圈的节点顺序应相反
我们使用postman来构建如下:(请求?后面添加returnContent=true,是设置直接返回模型数据,无需在进行get请求获取资源)
image.png

这里,我们就已经构建好了巷道模型,那如何在web端进行呈现捏,这里我们需要使用SuperMap iClient3D for Cesium,11.0.1最新版下载地址(http://support.supermap.com.cn/DownloadCenter/DownloadPage.aspx?id=2246)
最后附上完整代码:

<script type&#61;"text/Javascript">
function onload(Cesium) {
var viewer &#61; new Cesium.Viewer(&#39;cesiumContainer&#39;, {
// timeline: true,
infoBox: false,
});
var scene &#61; viewer.scene;
if (!scene.pickPositionSupported) {
alert(&#39;不支持深度纹理,可视域分析功能无法使用&#xff08;无法添加观测&#xff09;&#xff01;&#39;);
}
//添加体
var s3mInstanceColc;
s3mInstanceColc &#61; new Cesium.S3MInstanceCollection(scene._context);
scene.primitives.add(s3mInstanceColc);
var queryData &#61; JSON.stringify({
"loftRegion": {
"type": "REGION",
"parts": [
8,
8
],
"points": [{
"x": -2.5,
"y": 7.5
},
{
"x": -6.5,
"y": 5.5
},
{
"x": -10.5,
"y": 0
},
{
"x": -10.5,
"y": -10.5
},
{
"x": 10.5,
"y": -10.5
},
{
"x": 10.5,
"y": 0
},
{
"x": 6.5,
"y": 5.5
},
{
"x": 2.5,
"y": 7.5
},
{
"x": -2,
"y": 7
},
{
"x": 2,
"y": 7
},
{
"x": 6,
"y": 5
},
{
"x": 10,
"y": 0
},
{
"x": 10,
"y": -10
},
{
"x": -10,
"y": -10
},
{
"x": -10,
"y": 0
},
{
"x": -6,
"y": 5
}
]
},
"loftLine": {
"type": "LINE3D",
"parts": [8],
"points": [{
"x": 106.647908425709,
"y": 39.53615857754,
"z": 1146.541
},
{
"x": 106.647717466074,
"y": 39.5362496987228,
"z": 1146.541
},
{
"x": 106.64730418415,
"y": 39.5371864323,
"z": 1136.36
},
{
"x": 106.647305608425,
"y": 39.5372768737642,
"z": 1136.36
}
]
},
"chamfer": "50",
"lonlat": "TRUE"
});
$.ajax({
url: "http://172.16.14.25:8090/iserver/services/spatialanalyst-sample/restjsr/spatialanalyst/geometry/3d/loft.json?returnContent&#61;true",
async: true,
data: queryData,
method: "POST"
}).done(function(data) {
if (data.geometry &#61;&#61;&#61; null) {
return;
}
//添加巷道模型
var u8 &#61; new Uint8Array(data.geometry.model);
var ab &#61; u8.buffer;
s3mInstanceColc.add("resultSkyline", {
position: Cesium.Cartesian3.fromDegrees(data.geometry.position.x, data.geometry.position.y, data.geometry.position
.z),
hpr: new Cesium.HeadingPitchRoll(0, 0, 0),
color: new Cesium.Color(0, 160 / 255, 233 / 255, 0.5)
}, ab, false);
scene.camera.setView({
destination: Cesium.Cartesian3.fromDegrees(data.geometry.position.x, data.geometry.position.y, data.geometry.position
.z),
orientation: {
heading: 1.260586371345841,
pitch: -0.0176030403049122,
roll: 0
}
});
});
}
if (typeof Cesium !&#61;&#61; &#39;undefined&#39;) {
window.startupCalled &#61; true;
onload(Cesium);
}
</script>






推荐阅读
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文介绍了django中视图函数的使用方法,包括如何接收Web请求并返回Web响应,以及如何处理GET请求和POST请求。同时还介绍了urls.py和views.py文件的配置方式。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • ASP.NET2.0数据教程之十四:使用FormView的模板
    本文介绍了在ASP.NET 2.0中使用FormView控件来实现自定义的显示外观,与GridView和DetailsView不同,FormView使用模板来呈现,可以实现不规则的外观呈现。同时还介绍了TemplateField的用法和FormView与DetailsView的区别。 ... [详细]
  • Android开发实现的计时器功能示例
    本文分享了Android开发实现的计时器功能示例,包括效果图、布局和按钮的使用。通过使用Chronometer控件,可以实现计时器功能。该示例适用于Android平台,供开发者参考。 ... [详细]
  • FineReport平台数据分析图表显示部分系列接口的应用场景和实现思路
    本文介绍了FineReport平台数据分析图表显示部分系列接口的应用场景和实现思路。当图表系列较多时,用户希望可以自己设置哪些系列显示,哪些系列不显示。通过调用FR.Chart.WebUtils.getChart("chartID").getChartWithIndex(chartIndex).setSeriesVisible()接口,可以获取需要显示的系列图表对象,并在表单中显示这些系列。本文以决策报表为例,详细介绍了实现方法,并给出了示例。 ... [详细]
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
author-avatar
En199010221
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有