你在这里: 流行格式 > 谷歌KML Reader / Writer > 资源遍历

资源遍历

当KML Reader使用资源引用以检索当前KML文件外部的文件时,会发生资源遍历。KML Reader能够遍历以下类型的资源引用:

  • <图标>
  • <图标>
  • <图标>

此时,不会遍历增值>

资源位置

资源可以是本地的,或远程。本地资源位于本地文件系统或安装的网络驱动器上。本地资源的示例将是“C:emp \ foo.jpg”或\\ files \ data \ bar.kml。远程资源是通过Internet协议访问的资源。KML Reader支持FTP和HTTP协议。

读取器的TraverSe_NetworkLink指令的值确定如何处理资源引用。

全部:遍历所有资源引用

当地的:遍历对资源的本地引用。IE。将遍历对本地文件的NetworkLink引用,但对远程Web服务器上的文件的引用将不会。

没有任何:不遍历资源引用。这可能限制了一些读者的功能。

相对参考文献

资源引用通常是指相对于参考资源的位置中的资源。一个示例是Roads.kml通过架构通过架构引用Schema.kml。KML读取器通过维护检索到的位置的记录来尝试将相对引用分解为绝对引用。例如,如果从http://example.com/roads.kml检索道路,则kml reader将尝试从http://example.com/schema.kml加载schema.kml

远程资源下载

由于遍历远程资源引用而下载的文件每个都存储在$(fme_temp)中的唯一文件夹中。唯一下载位置可确保具有类似文件名的文件不会互相覆盖。在完成翻译后,将删除所有下载的文件。要覆盖此行为,KML READER的DELETE_DOWNLOADED_FILES指令可以设置为“否”。

还可以从远程Web服务下载资源,例如http://example.com/mapdata.php?layer=roads,可能会返回KML数据。作为下载过程的一部分,读者执行两个操作:

  1. 将服务器响应的MIME类型与一组预期的MIME类型进行比较。IE。验证它是KML数据(或覆盖的图像数据)。
  2. 生成的文件名中的任何非字母数字字符由下划线替换。还根据需要提供适当的文件扩展名。例如,如果上面的服务用KML数据响应,则它将存储在mapdata_php_layer_roads.kml中

遍历深度

KML Reader能够限制资源遍历深度。此选项允许用户控制KML Reader在给出转换中检索的数据量。例如,如果从Web服务读取复杂的数据集,则A.kml可以参考B.KML,这是指C.KML等。默认情况下,遍历深度在5时封装在5中,但可以be increased as necessary using the KML reader’s MAX_NETWORKLINK_TRAVERSAL_DEPTH directive.

遍历宽度没有限制,即每个文件的遍历数。

网络错误

KML Reader可以选择忽略,但记录,在翻译期间遇到的网络错误。服务提供商问题或临时网络中断可能会导致此类错误。默认情况下,网络错误不会导致致命错误;fail_on_network_error reader指令可用于更改默认行为。