博主给大家介绍一下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. Throwable以及错误

    /* 异常的体系: ----------| Throwable 所以异常或者错误类的超类 --------------|Error 错误 错误一般是用于jvm或者是硬件引发的问题,所以我们一般不会通过 ...

  2. 社交网络分析的 R 基础:(六)绘图操作

    R 语言强大的可视化功能在科学研究中非常受欢迎,丰富的类库使得 R 语言可以绘制各种各样的图表.当然这些与本章内容毫无关系,因为笔者对绘制图表了解有限,仅限于能用的程度.接下来的内容无需额外安装任何包 ...

  3. MATLAB 机器人学工具箱(Robotics Toolbox )sl_drivepoint 模型 consecutive zero crossings 问题

    操作环境 工具箱:Robotics Toolbox for MATLAB 版本 10.2.1 作者 Peter Corke MATLAB版本:R2018a 操作系统:win10 问题 sl_drive ...

  4. 学习Spring5必知必会(1)~未使用spring前的麻烦

    一.未使用spring前的麻烦 开闭原则:扩展是开放的,但是对于修改是"封闭的". 1.代码耦合度比较高[不符合开闭原则]: public class EmployeeServic ...

  5. kube-scheduler源码分析(1)-初始化与启动分析

    kube-scheduler源码分析(1)-初始化与启动分析 kube-scheduler简介 kube-scheduler组件是kubernetes中的核心组件之一,主要负责pod资源对象的调度工作 ...

  6. JAVA8学习——Stream底层的实现二(学习过程)

    继续深入Stream的底层实现过程 2.spliterator() 接上 https://www.cnblogs.com/bigbaby/p/12159495.html 我们这次回到最开始源码分析的地 ...

  7. (反射+内省机制的运用)简单模拟spring IoC容器的操作

    简单模拟spring IoC容器的操作[管理对象的创建.管理对象的依赖关系,例如属性设置] 实体类Hello package com.shan.hello; public class Hello { ...

  8. (一)scrapy 安装及新建爬虫项目并运行

    > 参考:https://www.cnblogs.com/hy123456/p/9847570.html 在 pycharm 中并没有创建 scrapy 工程的选项,需要手动创建. 这里就有两种 ...

  9. 可视化BI工具如何选择?这2款省心省时又省力!

    ​随着大数据时代的到来,越来越多企业开始意识到数据的重要性.商业智能BI工具也如雨后春笋般不断涌现,如何选择BI工具倒成了企业急需解决的难题.BI工具的选择要具体问题具体分析,但大部分企业在选择BI工 ...

  10. 【C# 集合】HashTable .net core 中的Hashtable的实现原理

    上一篇我介绍了Hash函数 这篇我来说一下Hash函数在 HashTable中的应用. HashTable的特性: 1.装载因子:.net core 0.72 ,java 0.75 2.冲突解决方案: ...