FMEObjects网关

司机简称

FME

生成依赖项

FME

如果配置了FMEObjects网关,并且FMEObjects的许可副本已安装并可访问,则OGR支持读取FMEObjects支持的功能源。

要使用基于FMEObjects的读卡器,传递的数据源名称应该是要使用的FME读卡器的名称、冒号,然后是实际的数据源名称(即文件名)。例如,“NTF:F:DATANTF2144.NTF”将指示应使用NTF读取器读取文件有许多特殊情况:

  • 以.fdd结尾的数据源将被假定为“FME data source Definition”文件,该文件将包含读取器名称、数据源名称,然后是一组适合传递给createReader()调用的宏行的名称/值对。

  • 名为PROMPT的数据源将使用常规FME对话框提示用户提供信息。这只适用于Windows。

  • 名为“PROMPT:filename”的数据源将导致提示,然后将结果定义保存为.fdd格式的指示文件。文件名将强制使用.fdd扩展名。这只适用于Windows。

每个FME特征类型将被视为通过OGR的一个层,由特征类型命名。由于某些限制,支持FME坐标系。所有FME几何类型都应得到适当支持。FME图形属性(颜色、线宽等)不会转换为OGR要素样式信息。

高速缓存

为了能够快速访问大型数据集,而不必每次访问时都重新传输它们,FMEObjects网关支持一种机制,将从FME读卡器读取的特征缓存在“快速特征存储”中,这是FME的本机矢量格式,具有用于快速空间搜索的空间索引。这些缓存文件保存在OGRFME_TMPDIR环境变量(或TMPDIR或/tmp或C:,如果不可用)指示的目录中。

缓存的要素文件将具有前缀 FME_OLEDB_ 主索引保存在ogrfmeds.ind文件中。若要清除索引,请删除所有这些文件。不要只是删除一些。

默认情况下,缓存中的功能在3600(60分钟)后重新读取。缓存保留时间可以在编译时通过更改fme2ogr.h include文件来更改。

SDE和ORACLE读取器的输入不会被缓存。这些来源也会以其他一些方式得到特别处理。

告诫

  1. 建立一个FME会话是一个相当昂贵的操作,在350Mhz的Linux系统上,这可能超过10秒。

  2. 功能缓存中的旧文件将被清除,但仅在随后访问OGR中的FMEObjects网关代码时才会清除。这意味着,如果未使用FMEObjects网关,将无限期地保留旧的缓存功能。

构建/配置

要在OGR构建中包含FMEObjects网关,必须在系统上加载FME。这个 --with-fme= $FME_HOME 应提供配置开关进行配置。FMEObjects网关没有显式链接(稍后可能需要时会加载),因此在不分发FMEObjects的情况下分发支持FMEObjects的OGR二进制构建是可行的。它只会“工作”的人谁有FMEObjects的道路。

FMEObjects网关已经在Linux和Windows上进行了测试。


有关FME产品线以及如何购买FME软件许可证(启用FMEObjects支持)的更多信息,请访问Safe软件网站 www.safe.com . 这个驱动程序的开发得到了Safe软件的财政支持。