斯潘8
斯潘4
您有一个在FME数据检查器中看起来绝对黑色的光栅:
仔细观察发现,像素值的变化很好,为什么内容不可见?
“光栅点信息”下的信息窗口显示由三个16位波段组成的图像,定义了一个RGB48解释。这意味着每个波段的可用值范围从0到65535。然而,样本图像上的实际值不超过几百。
换言之,该光栅包含存储在16位波段中的8位值。
完全黑色的显示部分是由于FME数据检查员如何解释数据;0为黑色,65535为白色,因此,即使是256的值也不会非常高地注册。但是,真正地,这是数据问题。需要对现有值设置正确的解释,或者需要调整值以匹配当前的解释。
一种可能的解决方案是使用RasteExpressionEvaluator公司.可以应用以下带区列表和表达式:
红16;绿16;蓝16 A[0]*200;A[1]*200;A[2]*200
然而,这需要一些变压器知识和一些实验来找到一个最佳的乘法器。
另一个解决方案是使用光栅解释强制器,在这种情况下,这可能是一个更好的选择。它包含四个转换选项,让用户更好地控制整个过程。
转换选项包括:
如果使用“按数据值缩放”选项将光栅的解释从rgb48更改为rgb24,生成以下图像:
解释这些选项是如何工作的,可在变压器文件中找到,但下面提供的是一些有形的结果,为那些喜欢一个良好的视觉解释。
为此目的,准备了一个简单的轮廓文件和一个轮廓,棕色的,是沿着红线创建的。使用RasterInterpretationSunzer.fmwt工作区中的ProfileBuilder自定义转换器生成配置文件:
根据等高线数据,创建了一个单波段DEM光栅和两个瓷砖。这个除雾器 使real64光栅,然而,在这里,它在uint8-光栅可以非常大,这将节省磁盘空间。
转换模式有四个参数。Workbench无法提前知道什么样的光栅将通过这个变压器-它是否是彩色图像(例如RGB24,RGBA64格林16等)或数字光栅(real64,IT32等)我们的目的地可以是颜色或者数字。所有可能的转换组合都列为单独的参数。根据“目的地解释类型”中的选择,只能启用四个参数中的两个。
下面是使用“cast”方法通过光栅预处理强制转换器发送的一个图块:
以前
后
对不同区域的检查表明,图像(现在为uint8)与源DEM匹配(唯一的区别是数值是四舍五入的)。所以看起来“演员表”是个不错的选择。
接下来是使用“cast”参数通过RasterInterpretation胁迫程序发送的第二个图块:
以前
后
那绝对是错误的。为了更好地了解正在发生的事情,请查看新DEM(黄色)的轮廓,并将其与原始轮廓(棕色)进行比较:
海拔逐渐上升到255米。它是uint8类型的最大可能值,然后突然降到0,之后,这种模式再次重复。新高程可用以下公式表示:
高程百分比范围
或者,取uint8图像上红点的高度,并使用以下表达式:
575% 256=63
这证明了“cast”选项不允许对整个数据集进行良好的转换。
“有界投射”对左瓷砖很好。对于正确的瓷砖,它会让你与众不同,但几乎没有更好的办法——山顶被砍掉了(也就是说,255米以上)0以下设置为0:
这说明了“强制转换”和“有界强制转换”参数的局限性,只要光栅值不超过所选的目标解释类型,这些参数就可以正常工作。如果所有被转换的数据都低于解释的最大值,这些选择是个不错的选择,否则,像素值和视觉表示都可能受到影响。
为了避免这种情况,考虑另一种具有更高位深的解释类型或另一种解释选项。
“按数据值缩放”选项在视觉上接近原始值。
以前
后
然而,两块瓷砖的立面均按比例缩放-在一块瓷砖上展开,在另一块瓷砖上缩小:
此转换类型的图形表示形式如下:
在震源中找到的最小值和最大值之间的范围将缩放到目标解释类型的全部可用值范围。示例中的图块的范围为25到200(左图块)和-45到575。两个生成的光栅都将值缩放到0到255之间的范围。
此选项不会保留源光栅的真实表示,然而,它可以用于制作彩色图像:
上面的图像是通过将real64转换为red8而得到的,然后又增加了两个额外的波段-绿色8设置为100,蓝色8设置为50。然后将矢量轮廓叠加到图像上。
最后一个选择,“按数据类型缩放”将生成一个简单的灰色光栅,所有像素的值为128。
源类型的完整范围将缩放为目标类型的完整范围。因为real64的类型在~-1.78e+308和~1.78e+308之间,但实际值在-45到575之间,我们所有的目的地值都被压缩到一个非常接近128的小范围内。
如果值在整个范围内或多或少均匀分布,此方法有助于保留可视表示:
以前
后
总结:
前两个选项,“cast”和“bounded cast”对于在目标范围足够大以适合所有值的情况下保留原始值(如果从实数转换为整数,则舍入)。这些选项对于数字到数字的转换很有用。
最后两个选项,“按数据值缩放”和“按数据类型缩放”有助于保留视觉表示,对于数值到颜色或颜色到颜色的转换非常有用。
对于所用的试块,选择另一种解释将有助于保持正确的海拔高度。Int16似乎是一个合理的选择,因为即使项目覆盖了整个世界,它仍然不会超过最大限度以及最低限度(单位:米)在我们的星球上发现的。
所附模板,Rasterinterpretationforcener_2015.fmt,显示上面解释的所有选项。
“rgb a to rgb”选项告诉转换器将rgb a图像(具有三个色带的图像和负责透明度的阿尔法色带)转换为简单的rgb(颜色)图像时要做什么,也就是说,如果α带被移除。
在rgba32图像中,感兴趣区域之外的部分逐渐变为完全不可见。RGB值反映实际像素值,而alpha像素反映透明度值的程度。红色针脚下的alpha像素值,等于69,下面的区域是半透明的。
选择“应用阿尔法波段”选项,仍然会产生图像内容的逐渐消失,然而,它现在有了解释rgb24和剩余的波段值(red8,green8和blue8(rgb))已更改以反映alpha波段的应用:
“放置阿尔法带”删除阿尔法带并显示阿尔法像素的透明度所隐藏的内容。请注意,RGB波段值已再次更改,并反映原始值而不是受“alpha”影响的值:
工作区和rgba源图像作为alphahandlingoption_2015.fmwt附加。
?2019安全亚搏在线软件公司|合法的