ArcScene数据与Sketchup数据的交互
博主给大家介绍一下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数据的交互的更多相关文章
- PHP+Mysql+jQuery实现地图区域数据统计-展示数据
我们要在地图上有限的区块内展示更多的信息,更好的办法是通过地图交互来实现.本文将给大家讲解通过鼠标滑动到地图指定省份区域,在弹出的提示框中显示对应省份的数据信息.适用于数据统计和地图区块展示等场景. ...
- 【有意思的BUG】后端多处数据校验 前端数据校验
软件(尚处在开发阶段的软件)会犯许多低级的错误,这些错误以你在生活中的经验而言简直莫名其妙.往往你认为这个小功能怎么可能有BUG呢,是的,你猜对了!! 拿1个简单的结构举例:后端页面[1]+后端页面[ ...
- ElasticSearch 学习记录之 分布式文档存储往ES中存数据和取数据的原理
分布式文档存储 ES分布式特性 屏蔽了分布式系统的复杂性 集群内的原理 垂直扩容和水平扩容 真正的扩容能力是来自于水平扩容–为集群添加更多的节点,并且将负载压力和稳定性分散到这些节点中 ES集群特点 ...
- Web前端开发最佳实践(12):JavaScript代码中有大量写死的配置数据?这些数据难以维护,你需要合理组织这些数据
前言 JavaScript代码基本上都是由业务逻辑和数据组成的,逻辑代码根据数据完成一定的操作.很多数据在代码中是写死的,比如一些URL.显示在界面上的提示信息.页面元素相关的样式值及其他使用到的固定 ...
- 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) - PHP: 获取 http 请求数据, 获取 get 数据 和 post 数据, json 字符串与对象之间的相互转换
[源码下载] 速战速决 (6) - PHP: 获取 http 请求数据, 获取 get 数据 和 post 数据, json 字符串与对象之间的相互转换 作者:webabcd 介绍速战速决 之 PHP ...
- ASP.NET API(MVC) 对APP接口(Json格式)接收数据与返回数据的统一管理
话不多说,直接进入主题. 需求:基于Http请求接收Json格式数据,返回Json格式的数据. 整理:对接收的数据与返回数据进行统一的封装整理,方便处理接收与返回数据,并对数据进行验证,通过C#的特性 ...
- Web jquery表格组件 JQGrid 的使用 - 7.查询数据、编辑数据、删除数据
系列索引 Web jquery表格组件 JQGrid 的使用 - 从入门到精通 开篇及索引 Web jquery表格组件 JQGrid 的使用 - 4.JQGrid参数.ColModel API.事件 ...
- SpringMVC框架下数据的增删改查,数据类型转换,数据格式化,数据校验,错误输入的消息回显
在eclipse中javaEE环境下: 这儿并没有连接数据库,而是将数据存放在map集合中: 将各种架包导入lib下... web.xml文件配置为 <?xml version="1. ...
随机推荐
- 获取联系人列表的时候contact_id出现null的值
因为删除联系人只是把它的contact_id设置为null,所以只要手机上删除过联系人id就会有null,用之前先判断是不是null就好了
- AI模型运维——GPU性能监控NVML和DCGM
最近一年负责运维的GPU主机越来越多,发现现有的监控项无法很好的了解GPU的性能和负载情况,研究了下官方文档,在此记录. 一.NVML和DCGM NVML:https://developer.nvid ...
- Maven下Java、JavaWeb约定标准项目结构
1.Maven Java 项目结构: 2.Maven JavaWeb 项目结构: 注意:webapp下必须要有WEB-INF文件夹,WEB-INF文件夹下必须要有web.xml 跟 classes文件 ...
- ConcurrentHashMap怎么保证安全的
HashMap是一个线程不安全的容器,当容量大于总量*负载因子发生扩容时可能会出现环形链表从而导致死循环 扩容就是rehash,这个会重新将原数组的内容重新hash到新的扩容数组中,在多线程的环境下, ...
- v79.01 鸿蒙内核源码分析(用户态锁篇) | 如何使用快锁Futex(上) | 百篇博客分析OpenHarmony源码
百篇博客分析|本篇为:(用户态锁篇) | 如何使用快锁Futex(上) 进程通讯相关篇为: v26.08 鸿蒙内核源码分析(自旋锁) | 当立贞节牌坊的好同志 v27.05 鸿蒙内核源码分析(互斥锁) ...
- php使用CURL进行模拟登录采集数据
<?php $cookie_path = './'; //设置cookie保存路径 //-----登录要提交的表单数据--------------- $vars['username'] = '张 ...
- Spring Boot 启动特别慢的问题
Q:debug模式下代码编译没有问题,本来10 ms左右可以启动的项目,却耗时了3000多ms,why? A:删除项目中的断点,留几个要用的就行. 至于怎么一键删除所有断点,请自行搜索! 一度以为我的 ...
- web开发 小方法2-字体设置
font-size 字体大小 直接给 (任意px) 就可以 font-family:"微软雅黑"; 这个里面可以给多个用空格区分 按照先后优先级使用 当没有第一个字体的时候会 ...
- HMS Core Discovery第13期回顾长文——构建手游中的真实世界
HMS Core Discovery第13期直播<来吧!构建手游中的真实世界>,已于2月24日圆满结束,本期直播我们同三七游戏的专家一同向小伙伴们分享了HMS Core图形引擎服务(Sce ...
- 攻防世界Web_favorite_number
题目: 解题思路: 直接给php源码,代码审计. 这里需要通过POST方法传递参数stuff,且stuff是一组数组,给了一组数组array['admin','user'] if条件中,需要stuff ...