斯潘8
斯潘4
总结
这是ESRI坐标系上的Q和A,以及它们是如何由FME处理的。基本的想法是,现在所有的东西都需要从ESRI映射到FME的内部系统,然后再映射回来。这通常是可行的,但我们会遇到一些事情不匹配的问题,如果自动生成的系统不准确或不匹配,或者有一对多的关系,还有其他问题。
我们正在考虑的一个明显的增强是只对ESRI重编程器进行ESRI重编程,或者选择ESRI引擎时,这样可以避免许多问题。
请注意,截至FME 2012 Beta Build 12006,已实施以下增强功能:
pr 25451-允许ESRI重投影使用用户提供的WKT转换
pr 20542-允许esrireprojector使用自定义转换
这应该绕过下面QNA中描述的转换问题,因为您不再需要定义FME自定义坐标系,而是可以直接使用ESRI定义的坐标系。
Q)如果将FME读写器设置为从源代码读取,将esrireprojector中的源和目标坐标系设置为不同的esri自定义坐标系,您没有任何esriwkt.db映射或定义任何等效的fme自定义坐标系,它会起作用吗?
a)对,在大多数情况下。在极少数边缘情况下,FME会通过错误(即不是用户选择的)源或目标坐标系到ESRI。这是一个严重的问题。还有一种不太罕见的边缘情况,即翻译只会失败。
Q)对于预先定义的坐标系呢?它的工作方式与自定义坐标系不同吗?
a)简短回答:不,它们是一样的。
答案很长:预定义和自定义坐标系的工作原理完全相同,但有一个例外:预定义坐标系在FME的esriwkt.db文件中更有可能有例外。异常的存在或不存在会影响上述不良边缘情况,但这些病例也很少见。
Q)根据您下面的描述,我的理解是,大多数情况下,它都可以工作,除非给定ESRI的CSMAP坐标系可能有多个,或者相反。
a)正确的。明确地:
(a)如果ESRI WKT坐标系不能转换为CS-MAP坐标系,翻译会失败。
(b)如果两个不同的ESRI WKT坐标系转换为相同的CS-MAP坐标系,它们不能再正确地转换回不同的ESRI WKT坐标系。因此,依赖于此工作的步骤(调用ESRI重投影引擎,esri wkt在writers中的输出将无法正常工作。
Q)接下来的问题是,如果你使用的是ESRI再投射引擎,在所有情况下,我们是否仍然需要基于源ESRI坐标系动态创建一个新的FME坐标系?我们不能直接把ESRI选择传递给arcObjects吗?
a)FME目前总是在这种情况和所有类似情况下执行ESRI WKT->CS-MAP->ESRI WKT往返。我同意:我们不需要这样做,也不应该这样做。如您所建议的那样更改,可以避免翻译失败和错误地更改ESRI WKT的可能性,如上所述。
Q)也许一个重要的设置步骤可能是在将FME坐标系发送给ESRIreprojector之前将其从功能中删除,以避免触发FME到ESRI映射?
a)不,那没用。事实上,esrireprojector只关注传入特性上的cs-map坐标系,仅用于一个目的:如果存在则警告一次。
Q)如果我们还不这么做,也许这是实现这一点的一种方法——仅当功能上有一个FME坐标系时,才进行FME到ESRI的映射。如果没有-只做ESRI。
a)不,esrireprojector不能以任何方式依赖于传入的cs-map坐标系。这是因为它包含一个只对一个源有效的geotransformation选项。也,我看不出有任何理由去做当前的esri wkt->cs-map->esri wkt行为。我们应该改变这个。
Q)或者你可以完全跳过它的FME方面,因为如果你首先使用ESRIreprojector,你为什么要用FME来完成这些工作?
a)确切地。
Q)最后一个问题:引擎工作区设置是否与esrireprojector无关?
a)对,这是正确的。
Q)(这是先前附加的示例)
a)转换完成后,ESRI WKT缓存在CS-MAP坐标系定义中。这就是为什么有些引用出现在esri llwgs84_start而不是esri llwgs84_end中的原因。
Q)为什么错误:
2010-12-08 23:18:15_3.0_1.9_warn_reprojector:指定
地质转换`'(向前)可能不适合从
` ll-wgs84'(GCS:'GCS_wgs_1984'至'UTM83-10'(GCS:
`使用ESRI再投射引擎的GCS_North_American_1983
a)这是合法的警告。wgs84在概念上与nad83非常不同,但是如果你不关心小于1米的精确度,你可以假装它们是一样的。
Q)日志还显示:
>` ESRI-llwgs84-end有价值
geogcs[gcs_wgs_1984,基准面[d_wgs_1984,球体[wgs_19846378137.0298.257223563],素数[格林威治,0.0],单位[度,0.0174532925199433]
>` esri llwgs84_start'具有值
GEOGCS[“GCS_WGS_1984”,基准面[“D_WGS_1984”,球体[“WGS_1984”,6378137298.25
7223563]],primem[“格林威治”,0],单位[“度”,0.017453292519943295]
这两个字符串在外观上明显不同,尽管它们或多或少是逻辑等价物。这是否会导致下游出现问题,比如让FME在写完之后阅读?
a)不是在这种情况下,但这种差异是我们所讨论的罕见问题的核心。如工作区所示,一次ESRI WKT->CS-MAP
转换已经完成,将来从该CS-MAP系统到ESRI WKT的所有转换都使用缓存的ESRI WKT。这甚至优先于esriwkt.db exceptions文件。因此,它导致行为和输出的变化,在这种情况下是良性的。在行为和输出变化不是良性的情况下,可以设计其他示例。这就是这里讨论的问题的根源。
?2019安全亚搏在线软件公司|合法的