CityEngine下如何更好的实现影像与地形叠加
CityEngine使用GIS模板创建三维数字城市(三)

CityEngine使用GIS模板创建三维数字城市(三)从前一篇教程我们可以知道,CityEngine最大的优势在于直接使用GIS数据来快速创建虚拟城市。
另外,还提供了强大三维设计能力,对于城市规划设计起到了积极作用。
下面利用费城数据,以地块的规划和设计为例讲述CityEngine基于规则建模的过程。
模板中使用的数据是虚拟城市模板的一部分。
1 、加载数字城市场景这是案例准备了3个场景,在上面的描述中已经讲解了如何使用GIS数据和规则创建前两个场景。
双击“Philadelphia.02.as-built.cej”场景。
注:你可以双击“Philadelphia.03.redevelopment-scenario.cej”场景,查看最终设计结果2 、选择感兴趣区域我们的研究区域就是位于费城城中心的需要重新开发的地块,首先选择区域(按住鼠标左键,拖拽矩形区域)和裁剪区域(Edit ->Cut)。
3 、创建新的地块首先,我们需要在这个位置创建新的地块,共4个。
CityEngine就可以轻松的做到:1)选择相邻的街道;2)打开“Inspector”窗口;3)在“Block Parameters”标签下,设置“shapeCreation”为true;CityEngine会在这个区域创建的地块,但是现在我们看到的结果超过了4个,接下来需要简单的修改参数即可,比如最大、最小地块数。
1)选择这些地块;2)打开“Inspector”窗口;3)在“Block Parameters”标签下,修改“lotAreaMin”为3000,“lotAreaMax”为5000,“irregularity”为0。
4)如果你想让地块和地形很好的贴合,可以做如下操作:Layer->Align Terrain To Shapes准备工作已经完成,接下来开始设计。
4、使用规则建模接下来我们将对新建的地块应用规则,以生成满足规划要求的三维模型。
练习一 将影像叠加到 terrain 表面上

练习1:将影像叠加到terrain 表面上查看叠加在 terrain 表面上的遥感影像通常可以使您更加了解影像中的模式及其关联到地球表面形状的方式。
假设您是研究加利福尼亚州 Death Valley 的地理学家。
您已收集了一个显示terrain 的 TIN 和一个显示地表粗糙度的卫星雷达影像。
影像中含有海量信息,但是您可以将影像叠加到 terrain 表面来添加一个理解维度。
Death Valley 影像数据由 NASA/JPL/Caltech 赞助提供。
打开 3D Analyst 扩展模块首先,您需要启用 3D Analyst 扩展模块。
步骤:1.单击开始 > 所有程序 > ArcGIS > ArcCatalog 10 启动 ArcCatalog。
2.单击自定义,再单击扩展模块。
3.选中3D Analyst。
4.单击关闭。
在 ArcCatalog 中预览 3D 数据在叠加影像之前,浏览至 terrain 数据并在 ArcCatalog 中预览该数据。
步骤:1.导航到目录树中的3DAnalyst文件夹连接。
2.双击3DAnalyst。
3.双击Exercise1。
您会看见一个 Data 文件夹和一个 Death Valley Terrain TIN 图层。
图层是地理数据的快捷方式。
图层也存储有关应如何在地图上或在 3D 视图中绘制地理数据的信息。
4.单击 Death Valley Terrain。
5.单击预览选项卡。
可在 ArcCatalog 中预览 GIS 数据。
安装 3D Analyst后,您也可以预览一些三维形式的数据。
6.单击预览下拉箭头,然后单击 3D 视图。
7.右键单击预览窗口,然后单击 3D 视图工具。
预览变为 3D 预览,并且一组新工具会出现在 3D 视图工具工具条上。
第一次在 3D 模式下预览数据时,导航工具为活动工具。
将光标悬停在工具上即可显示工具名称。
导航工具允许您在 3D 预览中通过单击与向左、右、上和下分别拖动来旋转 3D 数据并更改外观查看器的高度。
基于 CityEngine 的2.5维地图生成方法与应用

基于 CityEngine 的2.5维地图生成方法与应用李锋【摘要】Aiming at the requirements of the 2.5-dimensional city map,this paper designes and implements a gener-ation method of 2.5-dimensional map based on CityEngine ,with 3 d block models and fine models generation and auto -matic map producing using parallel projection .The main features of the method are rule-based modeling of vector data and coordinate automatic registration .Compared with the method of 2 .5-dimensional projection surface generation using GIS software ,the method supports real3 d block models and fine models and real light effects and will help to GIS data vi -sualization applications by rule-based connecting 2 d-GIS data and 3 d-GIS models .%针对2.5维城市地图需求,本文设计并实现了基于CityEngine的三维体块模型和精细模型生成及平行投影自动出图方法,主要特点是支持矢量数据基于规则的建模以及坐标自动配准。
与基于GIS软件生成投影面实现2.5维效果相比,本方法实现了真实三维体块模型和精细模型以及真实光照效果,通过规则将二维GIS数据和三维GIS模型进行挂接,有利于GIS数据可视化的广泛应用。
[转]CityEngine结合ArcGIS制作地质体web场景
![[转]CityEngine结合ArcGIS制作地质体web场景](https://img.taocdn.com/s3/m/e179bfed551810a6f524867a.png)
原文地址:/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. 构建地质体剖面地质体剖面是由切面片和地质体相交计算而得来的,因此,需要先绘制切面。
绘制切面的方法是先绘制二维视角的切面,然后通过拉伸,将切面拉伸成三维形式的切面,最后转化为三维格式的切面片,具体步骤如下。
cityengin指导

1、打开2Dto3D.sxd文档在“2Dto3D\Maps and GDBs”下启动2Dto3D.sxd文档。
右键单击DEM图层,点击【属性】,在【基本高度】标签下启用【在自定义表面浮动】选项,如图2。
设置完成以后DEM可以看到高低起伏,而二维数据却在DEM下面。
我们可以通过设置图层属性(【基本高度】->【在自定义表面浮动】)来显示,但是如果你得到真实的三维要素,那需要将二维要素转化为基于DEM的三维要素。
2、二维线转化为三维线我们已经构建了一个创建好的模型来快速生成3D线。
右键点击“2Dto3Dlines”GP模型(位于CityData.gdb中Conversion工具箱中)并【编辑】。
通过模型我们可以看到要对“Streets”进行简化,去掉多余的曲线;然后,简化的街道数据被“Interpolate Shape”工具转化为3D街道数据。
点击【模型】->【验证整个模型】,然后【运行】。
定位到书签“3Dstreets”和“Bridges”查看分析结果。
3 、二维点转化为三维点我们同样构建了一个模型来快速生成3D点。
右键点击“2Dto3DPoints”GP模型(位于CityData.gdb中Conversion工具箱中)并【编辑】。
可以看到,“Street furniture”点数据直接被“Interpolate Shape”工具转化成3D点。
点击【模型】->【验证整个模型】,然后【运行】。
关闭模型后,双击“2Dto3DPoints”模型,选择“vegetation”图层并修改输出数据名称为“Vegetation3D”,【确定】将“vegetation”点数据生成3D点。
4 、二维的面转化为三维面首先,打开并编辑“2Dto3DPolygons”GP模型。
可以看到这个模型有2个输出结果:“Building1_footprints3D”、“Building1_footprints3D_bufferline”,让我们分析一下这个模型都做了哪些事情。
矢量地图与卫星地图叠加效果最完美的解决方案

矢量地图与卫星地图叠加效果最完美的解决方案众所周所,谷歌地图、高德地图、雅虎地图等互联网主流地图都与真实坐标有较大偏移,然而对影像数据进行纠偏的工作量又十分巨大。
在某些应用中,如果只侧重于叠加效果,而可以忽略坐标与实际坐标的偏移的情况下,我们可以对矢量数据进行反纠偏后再与谷歌地图叠加会是一种更好的解决方案。
以下说明,如何将矢量地图进行反纠偏并进行默卡托坐标系转换后与影像数据进行叠加的方法。
首先,在水经注软件官网下载安装矢量数据反纠偏必备软件工具《水经注矢量地图转换器》,然后请按以下步聚进行操作。
第一步:导入源数据在软件中点击“输入”按钮,如下图所示。
在显示的“输入矢量地图文件”对话框中点击“添加”按钮,选择添加成都的所有矢量图层文件,如下图所示。
在该对话框中点击“确定”按钮完成文件选择。
第二步:设置输出路径点击“输出”按钮,如下图所示。
在显示的“浏览文件夹”中选择保存路径,如下图所示。
这里我们选择“D:\Test”目录,点击“确定”按钮完成设置。
第三步:设置转换参数软件默认只选择“反纠偏”选项,这里我们把“生成墨卡托坐标系”也选择上,如下图所示。
第四步:数据转换点击“转换”按钮,开始对所有文件进行反纠偏和进行墨卡托坐标系转换处理,如下图所示。
第五步:结果验证用《水经注高德卫星地图下载器》下载成都二环路以内数据第19级数据,如下图所示。
下载完成后,将卫星地图导出为GeoTIFF(*.tif)文件,这里选择不叠加标签数据。
众所周知,高德地图和谷歌的国内服务器的卫星地图一样是有一定偏移的,这里我们没有对该卫星地图进行任何纠偏校正处理,以保证原有的清晰度和坐标系。
启动ArcMap将下载的卫星地图在ArcMap中打开,在右下角可以看到当前卫星地图坐标是墨卡托坐标(也可通过图层属性查看),如下图所示。
图所示。
CityEngine精英培训班_扩展学习参考手册
CityEngine三维建模与设计精英培训班(扩展学习参考手册)Esri中国信息技术有限公司2014年5月版权声明本文档版权为Esri中国信息技术有限公司所有。
未经本公司书面许可,任何单位和个人不得以任何形式摘抄、复制本文档的部分或全部,并以任何形式传播。
制定及修订记录版本完成日期编写/修订纪要编写者备注V1.0 2014-5-24 编写徐汝坤甘鑫平CityEngine2012版本目录第1章城市建模实战练习 (5)1.1需求分析 (5)1.2目的和意义 (5)1.3数据准备与处理 (5)1.3.1基础数据的准备与处理 (5)1.3.2贴图数据的准备 (8)1.3.3模型部件的准备 (10)1.4场景构建和数据导入 (10)1.5规则编写 (12)1.5.1绿化区散点树的创建 (12)1.5.2标志性建筑物的引入 (14)1.5.3一般建筑的创建 (14)1.5.4道路数据的创建 (19)1.5.5其它规则 (23)1.6规则使用和模型调整 (23)1.7模型导出与场景展示 (23)第2章CityEngine函数库 (25)2.1几何体创建 (25)2.1.1替换函数(i) (25)2.1.2屋顶函数 (26)2.1.3其它几何体创建函数 (29)2.1.4练习:屋顶创建 (30)2.2几何体变换 (31)2.2.1平移函数 (31)2.2.2旋转函数(r) (33)2.2.3缩放函数(s) (34)2.2.4居中函数(center) (35)2.3几何体细分 (36)2.3.1拆分函数(comp) (36)2.3.2切割函数(split) (37)2.3.3后退函数(setback) (39)2.3.4偏移函数(offset) (40)2.3.5随机点函数(scatter) (41)2.3.6其它几何体拆分函数 (42)2.4模型贴图 (42)2.4.1贴图函数(texture) (42)2.4.2约束贴图的函数 (43)2.4.3操作UV函数 (46)2.5函数库综合练习 (47)2.5.1练习:建筑物模型规则编写 (47)2.5.2练习:道路规则编写 (50)第3章CityEngine交互建模 (53)3.1纹理校正工具 (53)3.1.1纹理校正工具介绍 (53)3.1.2练习:利用纹理校正处理变形图片 (54)3.2交互式建模工具 (54)3.2.1交互式建模工具介绍 (54)3.2.2练习:利用交互式建模工具建模 (55)3.3FacadeWizard立面处理工具 (61)3.3.1Façade Wizard工具介绍 (61)3.3.2练习:利用Façade Wizard创建规则 (62)第4章CityEngine使用Python脚本 (68)4.1Python脚本界面基础 (68)4.1.1Python控制台 (68)4.1.2练习:利用python控制台选择道路的节点 (68)4.1.3Python编辑器 (69)4.1.4练习:利用python编辑器选择道路的节点 (71)4.2练习:利用python脚本批量导出 (71)附录 (73)A.学习资源 (73)第1章城市建模实战练习利用CityEngine创建城市三维模型时要考虑创建那些城市内容,这些内容要创建到什么程度?基于这些信息进而去组织数据、编写规则,最终完成城市三维模型的创建。
全要素地形图配准与等高线的叠加
全要素地形图配准与等高线的叠加很多时候会遇到这样的问题,手里面有以前得比较老的全要素的地形图,现在需要对其进行更新和重新矢量化,那么面对一X没有任何坐标信息在内的影像图(图片本身不含坐标信息,但是图上有标示),我们如何对其进行配准并把等高线叠加上去呢,今天就给大家介绍一下如何对其进行配准和叠加等高线在上面,希望对有这方面需求的朋友能够有所帮助。
工具/原料水经注万能地图下载器ArcGIS方法/步骤1.打开万能地图下载器,把地图切换到“高程.谷歌地球”,切换方法:“在线地图”→“高程数据”→“高程.谷歌地球”(图1)。
图12.点击“框选下载区域”,随便在地图上框选一个X围(图2),双击弹出“新建任务”对话框,选择“专业模式”,在“最小坐标”和“最大坐标”栏分别输入全要素地形图的左下角和右上角的坐标,设置好下载任务名称和勾选上下载的级别(图3),点击“确认”开始下载。
图2图33.点击“我的下载”,将下载的任务勾选上,点击“导出高程文件”,将下载的高程数据导出成tif格式的DEM(图4)。
图44.然后点击“我的工具”→“高程(等高线)提取”,将导出的tif格式的DEM 生成shp格式的等高线(图5)。
图55.等高线准备好后开始对影像进行配准,将全要素地图加载到ArcGIS内,在菜单空白处点击右键,将“地理配准”勾选上(图6)。
图66.在“地理配准”工具条上点击控制点按钮,以地图的左下角为第一个控制点(图7),点击右键,选择“输入X和Y”(图8),把左下角的坐标输入进去(图9)。
图7图8图97.重复上面的步骤将四个角的坐标进行配准,点击“查看表”可以看到控制点之间的对应关系(图10)。
图108.然后再把等高线叠加上来,可以看到成功的叠加上了(图11),到这里就完成了全要素地图的配准和等高线的叠加,有需要的朋友可以自己试一下。
图11。
面向规则的三维古城虚拟技术的研究
面向规则的三维古城虚拟技术的研究王星捷;卫守林【摘要】随着三维数字技术的发展,三维虚拟技术逐渐向古建筑领域迈进.但目前对于古建筑建模学术研究较少,研究的大多古建筑的虚拟技术,都以三维建模软件为主.由于三维建模软件的局限性、建设模型数据量大,在大区域的三维虚拟化的应用中,无法体现地形,模型精度不高,位置精度有一定偏差.采用基于CityEngine的面向规则的三维虚拟技术,以阆中古城为对象,对地形处理、地形整平、古建筑结构分析、几何形状分析、空间位置分析、平移和旋转算法设计、附属设施的空间动态布局算法设计、规则编码等进行研究,实现了阆中古城的三维虚拟平台.通过实验证明了该技术的优越性,对今后古建筑的三维虚拟化建设提供了一种技术方法.【期刊名称】《计算机应用与软件》【年(卷),期】2019(036)005【总页数】8页(P7-14)【关键词】三维虚拟技术;CityEngine;面向规则;几何形状分析;规则编码【作者】王星捷;卫守林【作者单位】核工业西南物理研究院四川成都610041;成都理工大学工程技术学院四川乐山614007;昆明理工大学信息工程与自动化学院云南昆明650093【正文语种】中文【中图分类】TP30 引言随着三维虚拟技术的不断发展,面向规则的三维建模技术的应用越来越多,国内基于CityEngine的规则建模研究也不断深入,如文献[1-3]说明了如何运用CGA语法快速建模,还原场景真实度,但所建模型均为现代化建筑。
关于古建筑的研究上,刘媛等[4]介绍了如何构建古建筑模型,内容主要是屋顶如何编写,在门窗怎样设计上提出建设的方法,没有对屋体及分层的结构进行讲解。
李昕娟等[5]描述了如何建立房屋整体,但缺乏门、窗等细节的讲解,在实现圆柱中,采用了外部模型的替换,说明对规则的研究只针对了矩形面的规则模型。
何鸿杰等[6]对古城三维建模技术描述较少,只是大体讲解了建模的方法,没有进行细化研究,对于精细的模型采用的是3D MAX的制作方法。
CityEnginePhiladelphiaexle案例操作详解
下面介绍的过程中建立三维费城的二维和三维地理信息系统数据。
使用的数据是虚拟城市模板的一部分。
1、下载数字城市模板有两种方法下载数字城市的模板:1、登录CityEngine模板库官方网站下载CityEngine: Philadelphia example;2、启动CityEngine,菜单File -> Help -> Download Tutorials and Examples 在E xamples 选项卡中Philadelphia 例子既可以,如图1所示图1下载模板2、加载数字城市模板如果在CityEngine模板库中,下载模板则需要将模板导入到CityEngine工作空间中:1、菜单File -> import -> Project -> existing project into workspace,如图2所示:图2导入模板到工作空间中2、在 Select archive file 选择项中选择 Example_Philadelphia.zip文件。
在Project选项卡中选择Example_Philadelphia__2011_1,点击Finish即可。
图3导入模板3、创建新的场景这个模板中已经有3个已经准备好的场景,您可以双击这些场景进行浏览,如图4所示:图4现有场景现在让我们从头开始,创建一个新的场景。
菜单File->New->CityEngine->CityEngine s cene ,选择项目的场景目录,给它一个名称和设置坐标系统(EPGS:2272)如图5所示:图5创建场景4、添加地形和影像在Example_Philadelphia__2011_1/data/DEM 目录下面找到DEM_burn.tif,选中它然后将它拖动到视窗里面(viewport)。
在Choose coordinate system for ‘DEM_burn.tif’对话框中选中同样的坐标系(EPGS:2272)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CityEngine下如何更好的实现影像与地形叠加
在利用CityEngine导入影像和地形时,会出现影像或地形不显示的问题。
这主要是由影像、地形的尺寸大小和像素深度两个因素导致的。
1.调整尺寸
首先看一下影像和地形的大小。
我们知道CityEngine并不是一个展示平台,对影像/地形的大小有一定的限制,一般要求影像和地形的单幅行列数控制在8192*8192以内。
当超出这个范围时,我们可以采用以下重采样或者裁切的方式来对影像和地形做进一步的处理以保证其在CityEngine里的显示。
1.1重采样
可以通过调整单个像元大小的方式来改变其行列数,这种方式会降低影像的分辨率。
可以通过重采样工具和导出重采样两种方式来实现。
1.1.1重采样工具
第一步,把影像数据加载到ArcMap中:
第二步,选择ArcToolbox\Data Management Tools\Raster\Raster Processing下的Rasample工具结合实际情况设置X和Y的大小如下:
点击OK,数据就导出到设置的路径下。
导出后的结果如下图:
1.1.2导出重采样
除了是使用GP工具对数据进行重采样外,还有一种更简单的方式,我们可以直接在原始影像图层上右击选择Data…Export Data弹出Export Raster Data对话框,调整Cell Size值在其下的两个文本框里会自动显示调整后的行列数,选择路径输出即可。
其过程如下图:
2.影像裁切
通过把影像分割成几块,然后分块加载到CityEngine的方式同样可以降低单幅影像的行列数。
其操作步骤如下:第一步,选择ArcToolbox\Data Management Tools\Feature Class下的Creat Fishnet工具,设定格网输出的路径、格网的的范围、几行几列(Cell Size Width和Cell Size Hight设为0)以及Geometry Type选择Ploygon.点击确定。
得到如下结果:
第二步,利用ArcToolbox\Analysis Tools\Extract下的split工具把多边形分裂开。
第二步,利用导出的面去切割影像。
采用ArcToolbox\Spatial Analyst Tools\Extraction\下的Extraction by Mask工具进行影像的切割。
如下:
得到如下结果:
3.像素深度
此外对于影像而言,像素深度也会对其显示产生一定的影响。
首先看一下不能正常显示图像的统计值。
打开ArcCatalog,找到影像并在影像图层上右击属性会弹出如下对话框:
注:如果Statistics下没有显示相关信息,可以点options下的Calculate Statistic选项计算统计信息。
从统计值上可以发现像素值集中在0到255之间,而数据是16位的。
CityEngine没有按照统计值进行拉伸显示,所以显示的数据为黑色。
这个时候我们要把影像转找成8位的。
选择ArcToolbox\Data Management Tools\Raster\Raster Dataset 下的Cope Raster,按照下图时行设置,确定输出。
这时,影像就能正常显示了。
从中可以看到要想CityEngine能正常显示数据,必须保持像素统计值与像素像素深度一致才行。