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