使用Arcglobe 10与3dmax建立三维城市
转自:http://www.cnblogs.com/jinlun/p/3380307.html
随着国家大力推进数字城市的建设,三维城市的建设也是势在必行的。与传统二维地图相比,三维城市在立体层次、视觉效果等感官效果有着很大改进,并且在实际业务中,如规划中的光照分析、楼层高度调整、地块分析等有着二维地图不可比拟的优势。闲话少述,步入正题:
1.建立影像图层及矢量画
用arccatalog 10 建立一个gdb数据库,名称为“3dpgd”,建立一个featureClass Layer名为“dixing”,建立一个Raster Layer,名为“Test”

2.统一坐标系
由于影像图是38度带的(简单判断所处的带数,用arcmap打开影像文件,看X坐标前两位,即为所在带数),所以选择西安80 ,38度带的投影





同理,处理Raster Dataset

3.矢量化
用ArcMap加载上面处理过的两个图层,选择dixing图层,开始编辑,

点击“continue”,选择“Polygon”工具,在dixing图层上画上几个面如下图所示:

到目前为止,这两个图层可以在arcglobe中显示了,可以试着用arcglobe加载了。
4.arcglobe加载矢量好的图层
打开arcglobe,在左侧树形菜单根右键或点击 ,加载以上两个图层,选中“dixing”右键“Zoom to Layer”,即可看到两个图层的内容。
注意:此时影像图层可以会出现变形,如下图

这时把左侧菜单“Elevation layers”节点下的
选项去掉,即可恢复正常,如下图所示:

5.图层转换
1)featureclass转换成multipatch
选择ArcToolbox ->3d Analyst Tools -> Lyaer 3D to Feature Class 工具,将dixing转换成dixingmulti.

2)FeatureClass 转换 DWG
选择 ArcToolbox -> Conversion Tools --> To CAD --> Export to CAD:
将dixing转换为dixing.dwg

6.建立模型
将dixing.dwg导入3dmax 2014,单位选择“米”


注意:如果线条没有闭合,需进行以下操作:
选择“修改
”,选中“可编辑样条线”

按下“CROL+A”

在选择“焊接”


在“修改器列表”中选择“挤出”,把“数量”这个属性设置为“76.5m”

设置材质
按下“M”,调出材质编辑器,选中
,选择
漫反射后的按钮,调出材质浏览器,选中“贴图……标准……位图”,双击“位图”,选择一张图片,打开
, ,点击
,把贴图应用到选中的模型中,但是模型并未加载该贴图,单击
这个按钮,显示出贴图。

将生成好的模型导出3ds文件,保存:

记得把这个
选项勾上,否则用Import 3D Tool导入Arcglobe中时,模型的贴图会出现错位,拉伸,如下图所示(左为错位,右为正常):


注:请把贴图和导入的3DS文件放在同一目录,并且重新用3Dmax导入这个模型,并在材质编辑器中重新指定一下这个材质。如下图所示:

7.导入模型方法一
在第4步arcglobe窗口中,添加“Add Floating Data”,把”dixingmulti”图层加载上去。
选择3D Editor 工具,
“start Editing”,选择“dixingmulti”

在create Feature 窗口中选择insert tool 工具:


在地图窗口中单击,在弹出的文件浏览框中,选择第6步导出的模型:

打开,

把模型的位置用3D Editor的工具摆好后即可。
注:这种方法试好久,也没有把材质加载上去。
8.导入模型方法二
利用 Arcgis 的 Import 3D Tool导入
选择ArcToolBox>3D Analyst Tools >Conversion>From File >Import 3D Files,双击,
1)选择3DS文件

2)选择输入目录

3)选择空间引用

注意:这一步必须选择导入,否则转换后multipatch中的模型没有材质。有材质的模型导出的MultiPatch图层应放进GeoDatabase中。
在这里,导入的是“dixing”图层的空间坐标信息,之后点击OK。

之后,等待转换和加载,最终图如下:

使用Arcglobe 10与3dmax建立三维城市的更多相关文章
- 3DMAX 建立场景 工作流程
建立3D渲染首先建立房型.毕竟我们在做的是三维房间的渲染.建立房型线有几个环节都要用到 我们看一眼最终的渲染效果. 利用我们第一步建立的房型线做模型 房型线通过膨胀变成墙壁 再通过房型线生成屋顶天花和 ...
- 【Win 10 应用开发】三维变换
所谓三维变换,其实是在二维平面上产生三维的视觉效果.前面老周简单提了一下透视效果,如果透视效果不能满需求,那可以考虑用三维变换. UIElement类有一个属性叫Transform3D,它定义的类型为 ...
- 如何用Python在10分钟内建立一个预测模型
转载自:https://baijia.baidu.com/s?old_id=307995 最近,我从孙子(指<孙子兵法>——译者注)那里学到了一些策略:速度和准备 “兵之情主速,乘人之不及 ...
- Shell-自动建立全国城市
Code: #!/bin/bash function mkdirFun() { if [ ! -d $1 ];then mkdir -p $1 fi } filename=city1.txt date ...
- SEO优化---10分钟学会建立高转化率的网站关键词库
想要优化好一个网站,行业的分析,以及关键词的挖掘是必要的,有一定的关键词排名了,但是转化率和流量方面却很不理想这种情况大部分是只注重了有指数的关键词排名,而忽略了长尾关键词和一些没有指数但是可以带来巨 ...
- 基于IFC的大型三维城市群体——智慧城市模拟
- shell-自动按省市建立文件夹,并在每个城市下创建当前日期文件夹
Code: #!/bin/bash date=`date +%Y%m%d` ProName="广东市" CityName="广州市 汕尾市 阳江市 揭阳市 茂名市 江门市 ...
- 19个三维GIS软件对比
19个三维GIS软件对比 麦豆科研技术中心 days ago 我国GIS经过三十多年的发展,理论和技术日趋成熟,在传统二维GIS已不能满足应用需求的情况下,三维GIS应运而生,并成为GIS的重要发展方 ...
- 基于点云的3ds Max快速精细三维建模方法及系统的制作方法 插件开发
基于点云的3ds Max快速精细三维建模方法及系统的制作方法[技术领域][0001]本发明涉及数字城市三维建模领域,尤其涉及一种基于点云的3d ...
随机推荐
- PHP连接sqlserver的两种方法,向sqlserver2000中写入数据,中文乱码
项目环境是php5.3.28 项目用的ThinkPHP3.2.3 已经mysql5.5数据库,要和另一个项目对接,需要连接sqlsever2000数据库进行一些操作. 第一种用php自带扩展连接数据 ...
- MVC文件上传-使用jQuery.FileUpload和Backload组件实现文件上传
本篇使用客户端jQuery-File-Upload插件和服务端Badkload组件实现多文件异步上传.MVC文件上传相关兄弟篇: 处理文件上传的服务端组件Backload 用于处理文件上传的服务端组件 ...
- prefix和unprefix
exports._esModule = true; exports.default = { prefix: function prefix(prop){ if (prop[0] === '-'){ v ...
- HTML5 canvas绘制雪花飘落动画(需求分析、知识点、程序编写分布详解)
看到网上很多展示html5雪花飞动的效果,确实非常引人入胜,我相信大家也跟我一样看着心动的同时,也很好奇,想研究下代码如何实现:虽然哦很多地方也能下载这些源码,不过也不知道别人制作此类动画时的思路及难 ...
- MySQL基础学习之数据查询
一般查询 SELECT * FROM 表名 SELECT 属性名 FROM 表名 条件查询 SELECT 属性名 FROM 表名 WHERE 条件表达式 查询数据值1,数据值2的表单 SELEC ...
- Nginx+uWSGI+bottle 在Linux上部署
在/data/lujianxing/bottle 文件夹中创建三个文件: bottle.py bottle的源文件 a.py from bottle import Bottle, run mybott ...
- 深度(Depth)概念
强化对深度的理解 在老版本的NGUI中,UI的显示层次关系是依靠z轴进行的.在新版本的NGUI中,所有UI的z轴都被统一,然后用深度来决定和管理显示的层次关系.关于深度,要记住一下关键点: 1.每一个 ...
- Net中的AOP
.Net中的AOP系列之<单元测试切面> 返回<.Net中的AOP>系列学习总目录 本篇目录 使用NUnit编写测试 编写和运行NUnit测试 切面的测试策略 Castle ...
- 利用 runtime,解决多次点击相同 button,导致重复跳转的问题-b
当app有点卡的时候,多次点击相同的button,经常出现,跳转了N次相同的界面(比如闲鱼) 解决办法 用运行时和分类,替换 UIControl 响应事件,根据响应的间隔时间来判断是否执行事件. 详细 ...
- Oracle11g用户密码过期
今天一早来了,发现部署的网站访问报500,看日志,显示数据库连不上.然后我用sqldeveloper登录同样登不上,于是想到了之前碰到过的一个问题,Oralce11g的新特性:密码180天自动过期.随 ...