常见问题解答¶
许可证¶
OTB的许可是什么?¶
OTB是在许可的开放源码许可证Apachev2.0下分发的,也就是ApacheSoftware许可证(ASL)v2.0:http://www.apache.org/licenses/LICENSE-2.0
我是否被迫根据OTB分发我的代码?¶
不是的。许可证允许您选择分发您的应用程序(如果您愿意)。您不必在许可证中使用此选项。
我是否被迫将基于OTB的代码贡献到官方回购中?¶
不是的。
如果我想使用OTB分发应用程序,我需要使用什么许可证?¶
你自己选择的执照。OTB许可证只要求您在任何分发版本(包括OTB软件)中包括一份Apache许可证副本,并提供OTB项目的明确归属。
我是一个商业用户。OTB的使用有什么限制吗?¶
不是的。OTB许可证只要求您在任何分发版本(包括OTB软件)中包括一份Apache许可证副本,并提供OTB项目的明确归属。
使用OTB¶
OTB的图像大小限制是多少?¶
用户可以分配的最大物理空间取决于其平台。因此,OTB中的图像分配受到图像尺寸、大小、像素类型和波段数量的限制。
幸运的是,由于OTB的流水线(实际上是ITK)中实现的流机制,可以绕过这一限制。在管道的末尾使用,将把大的、有问题的数据无缝地分解成可以分配的小块。这些零件都是一个接一个地加工,所以不再存在分配问题。我们经常用图像来处理 25000 \times 25000 像素。
要使流起作用,管道中的所有过滤器都必须支持流(OTB中的大多数过滤器就是这种情况)。输出的图像格式也需要是可流传输的(例如,不是PNG或JPEG,而是TIFF或ENVI格式)。
这个班级按照两种策略管理蒸煮过程:按瓷砖或按条带。界面中提供了这两种策略的不同大小配置。默认模式使用有关文件在磁盘上如何流传输的信息,并将尝试最大限度地减少管道中的内存消耗。更多信息可以在课程的文档中找到。
与其他软件一起使用OTB Python包装时出现的问题¶
如果您使用OTB独立二进制文件,应该不会与系统上安装的其他库有任何依赖冲突。OTB将始终尝试获取独立包中提供的库。
但是,使用Python包装时,如果导入可能会发生冲突 otbApplication 以及与OTB共享公共依赖关系的其他软件。例如,如果您想在一个Python脚本中使用OTB应用程序和Fiona,它们都依赖于GDAL库。由于由Python加载的库必须是唯一的,因此第一个库 SomeLib 取决于它的任何其他二进制文件都将使用已加载的。因此,进口的顺序是有影响的。在某些情况下,在libcrypto中观察到了符号问题,解决方案是在导入Fiona之前导入OTB应用程序。
使用OTB和虚拟文件系统时出现问题¶
如果您尝试使用OTB独立包将位于虚拟文件系统上的栅格作为S3存储桶来读取,则可能会遇到与SSL证书有关的问题。事实上,这个包是基于CentOS构建的,例如,Ubuntu的证书位于不同的位置。您可能需要使用CURL_CA_BRAND环境变量来指定您的计算机上的SSL证书的位置。
在Ubuntu系统上,如下所示设置变量。
export CURL_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt