博主给大家介绍一下ArcScene数据与Sketchup数据的交互。

应用软件:ArcGIS10.2、Sketchup、Photoshop

(1)利用Google earth影像采集小区主要建筑物。可以采取将Google影像下载配准,在arcmap中进行采集,也可以在google earth 中进行采集,输出KML,然后导入到arcmap中。Pgdb中添加“height”属性字段,里面存储每栋建筑物高度。一般假设每层建筑为3m,建筑物高度=层数*3

(2)在ArcScene中对采集的建筑物2D数据进行拉伸。

(3)使用工具 Layer 3D to Feature Class 转出,转到 GBD 中,以 Multipatch 的形式存储。

(4)将其转为 COLLADA 格式,一种开放式的3D标准数据

(5)  导入到Sketchup中

将COLLADA 数据导入到sketchup中

(6)  纹理照片处理

得到校区的建筑物纹理之后,便开始对照片进行处理。在照片处理时要选择那些清晰,拍摄效果没有变形的照片。本次开发使用Photoshop CS3软件进行,其操作过程分为照片裁剪调整和照片的处理,其过程如下:

照片裁剪和调整

① 选取照片素材:打开Photoshop CS3在文件列表下选择打开。

② 点击工具条上的矩形选择工具在画布上拖动选区,选择需求区域,单击“图像—裁剪”后,Photoshop便将裁剪后的区域单独建立成一个新图层。

③ 借助PS辅助线定位矩形,确定所要裁剪调整的贴图的范围。

④ 在画布中鼠标右键(或按CTRL+T)使用自由变换对图层编辑,将图层调整为可供模型使用的贴图。

⑤ 选取斜切工具在自由变换四个角上拖拽调整,将贴图四角对应到四条辅助线交叉点上。

⑥ 素材调整完成后选择裁剪工具将多余部分去除。

照片处理

① 单击工具箱中的“缩放”工具,放大显示照片中需要修复的位置。

② 单击工具箱中的修复画笔工具,在属性栏中设置画笔笔头的像素,设置“模式”选项为“替换”。

③ 使用矩形框圈定要修复的区域。在放大图片的基础上进行修复会达到更好的修复效果。

④ 按住“Alt”键,同时单击鼠标左键设置取样点,然后按住左键拖曳鼠标对选中区域进行修复。亦可选择修补工具进行图像的修复。

⑤ 在修复工程中需要多次进行取样点设置,使修复后的图像融合效果更加逼真。

⑥ 释放鼠标左键后,单击“选择—取消选择”(或者“Ctrl+D”)。

将处理后的图片保存尺寸为2的N次幂贴图,贴图尺寸最大为512的JPG图像,或按快捷键ALT+CTRL+I打开图像大小菜单,并输入尺寸大小。处理前和处理后的如下图所示:

           

处理前                                                 处理后

(7)利用Sketchup进行建筑物纹理贴图。

纹理的采集完成之后,便开始进行建筑物贴图,该过程在SketchUp软件中完成。贴图过程并不复杂,只需将已经修改过的纹理以.jpg的格式通过“import”导入到要贴的建筑物上,并使用工具对其大小、位置进行调整,使其与建筑物的实际情况相符即可。在贴图过程中,以“use as texture”方式导入贴图,不但视觉效果逼真,而且方便快捷,即达到美观的效果又可以提高工作效率。这种方法需要注意的是:在贴图调整时有四个颜色的别针,分别是:红、绿、黄、蓝。它们分别代表平移旋转贴图、放大缩小贴图、贴图透视变形、贴图平行变形四种不同的操作。用鼠标点选这些别针,可以实现四种相应的操作。

(8)在sketchup中将处理好后的模型导出为.dae文件。

(9)打开ArcSence,打开3D编辑工具->选择模型->开始编辑->模型替换->选择刚刚导出的处理好的建筑物模型进行替换即可。

(10)循环7,8,9步,将所有的校园建筑模型全部替换,获得ArcScene下的三维模型,可以浏览查询

(11)在Google Earth中三维数据的浏览,直接导入全部的第8步的模型(DAE格式)

完成

注:步骤参考网络,若有不妥,请联系删除。

扫码关注微信公众号

今日歌曲推荐:

你要的全拿走—李嘉格

 

ArcScene数据与Sketchup数据的交互的更多相关文章

  1. PHP+Mysql+jQuery实现地图区域数据统计-展示数据

    我们要在地图上有限的区块内展示更多的信息,更好的办法是通过地图交互来实现.本文将给大家讲解通过鼠标滑动到地图指定省份区域,在弹出的提示框中显示对应省份的数据信息.适用于数据统计和地图区块展示等场景. ...

  2. 【有意思的BUG】后端多处数据校验 前端数据校验

    软件(尚处在开发阶段的软件)会犯许多低级的错误,这些错误以你在生活中的经验而言简直莫名其妙.往往你认为这个小功能怎么可能有BUG呢,是的,你猜对了!! 拿1个简单的结构举例:后端页面[1]+后端页面[ ...

  3. ElasticSearch 学习记录之 分布式文档存储往ES中存数据和取数据的原理

    分布式文档存储 ES分布式特性 屏蔽了分布式系统的复杂性 集群内的原理 垂直扩容和水平扩容 真正的扩容能力是来自于水平扩容–为集群添加更多的节点,并且将负载压力和稳定性分散到这些节点中 ES集群特点 ...

  4. Web前端开发最佳实践(12):JavaScript代码中有大量写死的配置数据?这些数据难以维护,你需要合理组织这些数据

    前言 JavaScript代码基本上都是由业务逻辑和数据组成的,逻辑代码根据数据完成一定的操作.很多数据在代码中是写死的,比如一些URL.显示在界面上的提示信息.页面元素相关的样式值及其他使用到的固定 ...

  5. Webservice WCF WebApi 前端数据可视化 前端数据可视化 C# asp.net PhoneGap html5 C# Where 网站分布式开发简介 EntityFramework Core依赖注入上下文方式不同造成内存泄漏了解一下? SQL Server之深入理解STUFF 你必须知道的EntityFramework 6.x和EntityFramework Cor

    Webservice WCF WebApi   注明:改编加组合 在.net平台下,有大量的技术让你创建一个HTTP服务,像Web Service,WCF,现在又出了Web API.在.net平台下, ...

  6. 速战速决 (6) - PHP: 获取 http 请求数据, 获取 get 数据 和 post 数据, json 字符串与对象之间的相互转换

    [源码下载] 速战速决 (6) - PHP: 获取 http 请求数据, 获取 get 数据 和 post 数据, json 字符串与对象之间的相互转换 作者:webabcd 介绍速战速决 之 PHP ...

  7. ASP.NET API(MVC) 对APP接口(Json格式)接收数据与返回数据的统一管理

    话不多说,直接进入主题. 需求:基于Http请求接收Json格式数据,返回Json格式的数据. 整理:对接收的数据与返回数据进行统一的封装整理,方便处理接收与返回数据,并对数据进行验证,通过C#的特性 ...

  8. Web jquery表格组件 JQGrid 的使用 - 7.查询数据、编辑数据、删除数据

    系列索引 Web jquery表格组件 JQGrid 的使用 - 从入门到精通 开篇及索引 Web jquery表格组件 JQGrid 的使用 - 4.JQGrid参数.ColModel API.事件 ...

  9. SpringMVC框架下数据的增删改查,数据类型转换,数据格式化,数据校验,错误输入的消息回显

    在eclipse中javaEE环境下: 这儿并没有连接数据库,而是将数据存放在map集合中: 将各种架包导入lib下... web.xml文件配置为 <?xml version="1. ...

随机推荐

  1. Fastjson的JSONObject.toJSON()解析复杂对象发生内存泄漏问题

    这可能是fastjson的一个bug,我使用最新版依然存在该问题. 在用做报表功能的时候,发现一旦单元格过多,大概有80-100个单元格,就会发生程序假死,CPU持续占用超过90%,内存持续占用超90 ...

  2. 关于MPMoviePlayerController 缓存播放的一些技术准备

    如果是视频文件,比如Mp4,avi,rmvb等可根据下面的这边文章推荐的Demo(http://code4app.com/ios/5292c381cb7e8445678b5ac2),经过测试可以进行同 ...

  3. FastJSON解析Json字符串(反序列化为List、Map)

    在日常开发与数据库打交道的时候,常有以Json格式的字符串存储到数据库的情况,当在Java程序中获取到对应的Json格式的String字符串后,如何才能转换为我们想要的数据格式(比如转换成Java中的 ...

  4. 虫师Selenium2+Python_00学习大纲

        1.自动化测试基础 5.自动化测试模型 9.Selenium Grid2 13.GitHub托管项目 2.测试环境搭建 6.SeleniumIDE 10.Python多线程 14.持续集成Je ...

  5. 5道面试题,拿捏String底层原理!

    原创:微信公众号 码农参上,欢迎分享,转载请保留出处. String字符串是我们日常工作中常用的一个类,在面试中也是高频考点,这里Hydra精心总结了一波常见但也有点烧脑的String面试题,一共5道 ...

  6. MyBatis辅助功能点三:延迟加载

    延迟加载即先加载必需信息,然后再根据需要进一步加载信息的方式.实际应用如:常出现先查询表A,再根据表A的输出结果查询表B的情况.而有些时候,从A表查询出来的数据,只有一部分要查询表B.这时用延迟加载就 ...

  7. nginx反向代理初体验

    需求:部署两台tomcat,默认监听端口分别是8080和8081.访问nginx服务时,自动跳转到相应tomcat服务. 先部署一台机器:就宿主机上tomcat服务: 修改nginx配置:vim ng ...

  8. Vue 源码解读(8)—— 编译器 之 解析(上)

    特殊说明 由于文章篇幅限制,所以将 Vue 源码解读(8)-- 编译器 之 解析 拆成了上下两篇,所以在阅读本篇文章时请同时打开 Vue 源码解读(8)-- 编译器 之 解析(下)一起阅读. 前言 V ...

  9. Renix软件如何发送CRC错误的报文——网络测试仪实操

    我们在日常使用Renix软件时,有时候需要发送CRC错误的报文,那么如何操作呢?接下来为你详细介绍一下操作步骤. 1.打开Renix软件,连接机框并预约测试端口: 2.添加流模板 3.给P1设置CRC ...

  10. RENIX流量发送模式——网络测试仪实操

    信而泰的RENIX平台支持5种传输模式, 如下图所示. 模式一: continuous Continuous:连续发送流 持续发送方式是默认的发送模式,  它不会自动的停止, 会一直发送, 直到用户手 ...