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能正常显示数据,必须保持像素统计值与像素像素深度一致才行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/289869.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java script创建对象_javascript笔记:深入分析javascript里对象的创建

大家知道在java里面类可以具有静态属性和方法,无需实例化该类的对象,就可以访问这些属性和方法,但是javascript里面是不是只有通过对象初始化方式才会模拟出这样的特点了?其实不然,在编程语言里,类的方法和…

一分钟了解Android横竖屏 mdpi hdpi xhdpi xxhdpi xxxhdpi

DPI:每英寸像素数 简单的屏幕分辨率计算方法: DisplayMetrics metrics this.getResources().getDisplayMetrics(); float density metrics.density; int dpi metrics.densityDpi; int heightPixels metrics.heightPixels; int widthPixels metrics.widthPixels…

利用 .NET Core 中的数据保护组件实现限时 Token

前言在业务开发时,我们常常需要生成有过期时间的 Token 凭证。比如重置密码,即使被其他人获取到链接,超过指定时间也无法操作,以保证安全性:常用的实现方式,可以使用缓存或数据库存储 Token 的过期时间。今…

CityEngine Web Scene如何在IIS下部署

CityEngine2012新增了发布Web场景的功能,可以通过本地的Web Scene Viewer打开,也可以发布到ArcGIS Online云端进行共享。如下图: 注:3ws场景包制作方法:选中模型->File->Export->Export Models…->CityE…

WPF 使用DrawingVisual绘制高性能曲线图

一、前言项目中涉及到了心率监测,而且数据量达到了百万级别,通过WPF实现大数据曲线图时,尝试过最基础的Canvas来实现,但是性能堪忧,而且全部画出来也不实际。同时也尝试过找第三方的开源库,但是因为曲线图涉…

数据结构(Java)——迭代器和列表的实例

感谢Java软件结构与数据结构 John Lewis Joseph chase 著 金名译 0. 迭代器关键概念(补充理解) 【1】迭代器是一个对象,它提供了一种依次访问集合中每个元素的方式。 【2】经常把集合定义为Iterable的,说明需要时可以提供一个迭代…

地理信息科学前沿-[热词]

1. LBS Location Based Service:基于位置的服务,它是通过电信移动运营商的无线电通讯网络(如GSM网、CDMA网)或外部定位方式(如GPS)获取移动终端用户的位置信息(地理坐标,或大地坐标)&#xff0c…

《vSphere性能设计:性能密集场景下CPU、内存、存储及网络的最佳设计实践》一1.2.2 内存...

本节书摘来华章计算机《vSphere性能设计:性能密集场景下CPU、内存、存储及网络的最佳设计实践》一书中的第1章 ,第1.2.2节,[美] 克里斯托弗库塞克(Christopher Kusek) 著 吕南德特施皮斯(Rynardt Spies&a…

如何检查服务已在依赖注入容器中注册

前言依赖关系注入(DI),是一种在类及其依赖项之间实现控制反转(IoC)的技术。在ASP.NET Core中,依赖关系注入是“一等公民”,被大量使用。但是有时,我们仅仅只需要知道服务是否在依赖注入容器中已注册。比如,不注册使用分…

iOS9 Storyboard unwind segue反回传递事件时机详细步骤

当返回上一个界面且需要上一个界面做某事时,用unwind segue实现起来比delegate简单许多,甚至有时不适合用delegate来实现,那么我们就用unwind segue吧,而且像1->2->3这样的跳转,3视图可以通过unwind segue方便的返回到1、2任…

ios俩个APP之间跳转、传值

两个APP之间的跳转是通过[[UIApplication sharedApplication] openURL:url]这种方式来实现的。 1.首先设置第一个APP的url地址 2.接着设置第二个APP的url地址 3.需要跳转的时候 NSString *urlString [NSString stringWithFormat:"AppJumpSecond://%",textField.tex…

.Net Core手撸一个基于Token的权限认证

说明权限认证是确定用户身份的过程。可确定用户是否有访问资源的权力今天给大家分享一下类似JWT这种基于token的鉴权机制基于token的鉴权机制,它不需要在服务端去保留用户的认证信息或者会话信息。这就意味着基于token认证机制的应用,不需要去考虑用户在哪一台服务器…

Mybatis-Generator(MBG)教程与Idea的MBG插件

简介 Mybatis Generator(MBG),下面我们统称为MBG,是一个Mybatis和iBatis的代码生成器。他可以内省数据库的表(或多个表)然后生成可以用来访问(多个)表的基础对象。这样减少了项目新建时各种配置对象&#x…

Windows Server 2008 RemoteApp---发布应用程序

本章节一起来体验RemoteApp应用程序发布功能,本功能利用了微软应用程序虚拟化技术,打个比方,我这台电脑上并没有安装Excel2010,但我现再要用Excel2010该怎么办?难道去找Office2010的光盘来安装吗?不用这么麻…

.NET 中密封类的性能优势

.NET 中密封类的性能优势Intro最近看到一篇文章 Performance benefits of sealed class in .NET,觉得写得不错,翻译一下,分享给大家。目前看到的一些类库中其实很多并没有考虑使用密封类,如果你的类型是不希望被继承的&#xff0c…

jQuery-1.9.1源码分析系列(十) 事件系统——事件绑定

事件绑定的方式有很多种。使用了jQuery那么原来那种绑定方式(elem.click function(){...})就不推荐了,原因? 最主要的一个原因是elem.click fn这种方式只能绑定一个事件处理,多次绑定的只会保留最后一次绑定的结果。 看一下jQue…

Windows 8系统平台上应用软件安装心得

1.ArcGIS 10.2安装 需要单独安装.NET 3.5,GIS软件自带的.NET系统不识别,点击360云盘地址进行下载(提取码为:1ed3)。(另外,Win8系统上安装.NET可以参考:http://blog.csdn.net/aijavaer/article/d…

Android视图绘制流程完全解析,带你一步步深入了解View(二)

转自:http://blog.csdn.net/guolin_blog/article/details/16330267 在上一篇文章中,我带着大家一起剖析了一下LayoutInflater的工作原理,可以算是对View进行深入了解的第一步吧。那么本篇文章中,我们将继续对View进行深入探究&…

C# 线程问题之死锁

过多的锁定也会有麻烦。在死锁中,至少有两个线程被挂起,并等待对方解除锁定。由于两个线程都在等待对方,就出现了死锁,线程将无限等待下去。为了说明死锁,下面实例化 StateObject 类型的两个对象,并把它们传…

Matlab图形绘制

1.正余弦曲线 例如自变量从0到10,间隔为0.1的曲线代码如下: 正弦 t 0:.1:10; y sin(t); plot(t,y); 余弦 t 0:.1:10; y cos(t); plot(t,y); 正余弦图形显示如下: