CityEngine结合ArcGIS制作地质体web场景 [转]
原文地址:http://www.cnblogs.com/esrichina/archive/2012/11/12/2762163.html
当我们想要对地质数据在三维空间中进行空间分析,最终在web端进行展示的时候,应该怎么做呢?本文即从表格形式的钻孔数据出发,在三维中构建地质体以及地质体剖面,最终结合CityEngine 2012完成在Web端数据展示。
本文前两部分地质体构建与地质剖面体构建引用Esri BBS三维板块Lipper版主的文章及视频。
1. 构建地质体
1.1. 钻孔数据
现有的钻孔数据为2D的点要素,它包括了一张内容丰富的属性表,其中就有高程值字段,此外还有
所属岩层名称等。如果不用做三维展示,那就可以直接进入步骤2进行TIN构建了。若我们要将其进行三维展示,就需要用到一个“依据属性实现要素转3D”工
具,就可以根据自带的高程属性值,将2D数据轻松转为3D数据了。
1.2. 分别构建不同岩层的TIN模型
首先需要将不同岩层的钻孔点筛选出来,这里用到的就是属性表中自带的“按属性选择”功能,筛选过后,将点要素保存成为独立的图层。
效果如下图:
之后,即可以对不同的钻孔图层构建TIN模型了。使用3d分析中的“创建TIN”工具,逐层生成各地质层:
1.3. 生成地质体
接下来要生成各地质层之间的地质体,生成地质体的方法是对各地质层的TIN数据按照高度进行拉伸,拉伸的对象就是各地质层的平面覆盖范围。因此我们要先计算出地质层的覆盖范围。方法是使用3d分析工具中的“TIN范围”即“TIN Domain”工具。
有了地质层的范围之后,使用“在两个面之间拉伸”工具,创建两个地质层之间的地质体。在使用该工具的时候需要注意输入的邻接TIN和TIN范围的选取。
将所有地质体都加载到同一个数据中,形成一个完整的地质体数据:
2. 构建地质体剖面
地质体剖面是由切面片和地质体相交计算而得来的,因此,需要先绘制切面。绘制切面的方法是先绘制二维视角的切面,然后通过拉伸,将切面拉伸成三维形式的切面,最后转化为三维格式的切面片,具体步骤如下。
2.1. 生成切面片
创建带有Z值的polygon要素,开始编辑之后绘制面要素。
绘制完成后在图层属性中,选择按照一定高度拉伸,形成切面片:
然后使用“3d图层转要素类”即“3D Layer to Feature Class”工具将二维数据转换为MultiPatch格式。
2.2. 构建剖面体
对切面片和地质体应用相交计算,使用“3D相交工具”,即可得出相交的剖面体。
3. Web三维地质体展示
CityEngine中可以读取ArcGIS数据库,因此,只要以上生成的数据存在GDB中,即可导入到CityEngine中,并进行Web三维展示。
3.1. 数据导入CityEngine
在CityEngine中新建一个场景,选择与数据相同的坐标系。打开新的场景之后,选择导入File GDB数据,CityEngine将会自动读取File GDB中的数据并将数据添加到场景中:
3.2. 设置地质体颜色
添加进来的数据默认是没有进行颜色渲染的,因此我们需要在规则中按照地质层的类别给不同的地质层赋予颜色。CityEngine中支持直接从数据的属性中读取地质类型,因此完成这一过程很简单,我们只要写好赋予不同地质层的颜色即可。具体规则:
attr
type =
"0"
Multi-->
case
type=="2":
color("#4CB300")
case
type=="3":
color("#8400A8")
case
type=="4":
color("#A80000")
case
type=="5":
color("#FFFF00")
case
type=="6":
color("#00C5FF")
case
type=="7":
color("#FFAA00")
case
type=="8":
color("#FF0000")
else:NIL
3.3. 发布Web三维地质体
选中要发布到web端的地质体和地质剖面体,选择export models,在弹出窗口中选择导出的类型为CityEngine Web Scene,然后指定导出路径:
导出完成之后,在所指定的路径中就多了3ws文件及日志文件,如下图:
右键点击3ws文件,选择open with -> 3D Web Scene
Viewer。整个场景将自动在浏览器中打开。此处要注意CityEngine的web
3d是基于WebGL的,所以必须使用支持WebGL的浏览器打开。下图是在Chrome中浏览地质剖面体的示例:
以上即完成了从表格数据到二维地质空间数据的展现、三维地质体及地质体的剖面分析、三维地质体及剖面的Web端展示。
下面是一些截图效果,如果需要将成果与其他人分享,请阅读CityEngine
Web Scene如何在IIS下部署。
原文地址:http://www.cnblogs.com/esrichina/archive/2012/11/12/2762163.html
CityEngine结合ArcGIS制作地质体web场景 [转]的更多相关文章
- arcgis server 中Web墨卡托投影与WGS-84坐标的转换
arcgis server 中Web墨卡托投影坐标与WGS-84坐标的转换 //经纬度转墨卡托 function lonlat2mercator(lonlat){ var mercator={x:0, ...
- ArcGIS制作tpk离线压缩包
ArcGIS制作tpk离线压缩包 tpk是什么的缩写,对应的中文名称是? 什么叫tpk文件? 缓存切片? 切片类型:紧凑型与稀疏型. 一.目前自己使用的在ArcMap中制作tpk压缩包 1.首先打 ...
- web场景的监控
在一台可以连外网的主机上创建web场景, 添加步骤,zabbix可以步骤化web页面,例如,登陆操作,正常操作是要先验证用户获取token,step1就可以是先访问token页面,获取到返回的toke ...
- zabbix 批量添加web场景监控
公司有大量测试环境的url需要监控是否能够访问,即url状态不为200即报警.状态为200即正常.因url比较多,且经常发生改变,如通过web场景配置(我没配过)会比较繁琐,工作量比较大.通过网上查找 ...
- Arcgis js之web墨卡托(3857)转经纬度坐标(4326)
Arcgis js之web墨卡托(3857)转经纬度坐标(4326) 手动转化方法: function mercatorTolonlat(mercator){ var lonlat={x:0,y:0} ...
- zabbix通过Web场景监控URL
选择主机添加应用集 添加Web监控 选在相应主机,并添加Web监控 按照方式新建Web场景 注意: 名称统一规则:相应的域名 应用集:选择之前创建的 或者 新建一个,名称为“URL 告警” ...
- 如何使用Camtasia制作动态动画场景?
也许在学习编辑视频的你知道Camtasia 2019(win系统),知道Camtasia的视频编辑功能,录制屏幕功能,但你可能想不到,Camtasia还可以制作动态动画场景.跟我一起学习一下吧! 一. ...
- arcgis制作兴趣点分布图
数据准备: 1.矢量:芜湖市区行政区.shp 企业分布点.shp 2.影像:Landsat 8 软件:arcgis 10.3 Envi4.8 目的:制作一幅以市区行政区为底图的企业分布点的图,同时 ...
- arcgis制作风或水流速流向图
制作风或水流速流向图 风速风向图或流速流向图相信大家都已经见过不少,但不知道有多少人会制作这样炫的专题图,下面这边文章向我们展示了当基本数据U和V矢量被存储时,怎样计算风或水流的速度和方向和对其进行符 ...
随机推荐
- git+jenkins持续集成二-jenkins定时构建语法:定时构建语法
构建位置:选择或创建工程_设置_构建触发器 1. 定时构建语法:* * * * * (五颗星,多个时间点,中间用逗号隔开)第一个*表示分钟,取值0~59第二个*表示小时,取值0~23第三个*表示一个月 ...
- Leetcode 542.01矩阵
01矩阵 给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离. 两个相邻元素间的距离为 1 . 示例 1: 输入: 0 0 0 0 1 0 0 0 0 输出: 0 0 0 0 1 0 ...
- xshell 连接redis
当我们安装好redis 在本地测试启动,存,取都正常,但是无法远程连接redis. 在redis.conf的文件默认配置中有一配置是 bind 127.0.0.1,表示绑定访问该redis的地址只能是 ...
- 【转】unity 移动物体到指定位置的四种方法
http://blog.csdn.net/lcy0221/article/details/44040739 方法1:使用Vector3.MoveTowards </pre><pre ...
- BZOJ 2190:[SDOI2008]仪仗队(欧拉函数)
[SDOI2008]仪仗队 Description 作为体育委员,C君负责这次运动会仪仗队的训练.仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视 ...
- 习题:过路费(kruskal+并查集+LCA)
过路费 [问题描述]在某个遥远的国家里,有 n 个城市.编号为 1,2,3,…,n.这个国家的政府修 建了 m 条双向道路,每条道路连接着两个城市.政府规定从城市 S 到城市 T 需 要收取的过路费 ...
- mysql错误之2014
error:2014 Commands out of sync; you can't run this command now 这个错误号我也真是醉了. 一直纠结于为什么存储过程执行完,commit操 ...
- P2647 最大收益 (动态规划)
题目链接 Solution 乍一看发现正着 DP,有明显的后效性,所以就反过来做. 但是同时发现很显然减去多的放后面明显更优,所以按 \(R\) 从大排序. 然后 \(f[i][j]\) 代表前 \( ...
- iOS-读取txt文件中文乱码
一.情景描述: 后台给一个txt文件,编码是utf-8,在Mac电脑Xcode开发环境下读取txt文件内容,汉字会出现乱码,英文没有乱码这种情况. 二.尝试解决方法: 修改编码格式,尝试了NSUTF1 ...
- linux把时间类型值转换为数值型
字符及字符串处理函数:字符及字符串处理函数的处理对象均为字符型数据,但其返回值类型各异.1.取子串函数:格式:substr(c,n1,n2)功能:取字符串C第n1个字符起的n2个字符.返回值类型是字符 ...