span8
span4
span8
span4
Summary
This is a Q and A on ESRI coordinate systems,and how they are handled by FME.The basic idea is that now everything needs to map from ESRI to FME's internal system and back again.This usually works but we can run into problems where things don't match up,where autogenerated systems aren't accurate or don't match,or where there are one to many relationships,among other problems.
The obvious enhancement we are considering is to do reprojections as ESRI only with the ESRI Reprojector or when the ESRI engine is selected,which would avoid many of these problems.
Note that as of FME 2012 beta build 12006,the following enhancements have been implemented:
PR#25451 - Allow ESRI reprojection to use user supplied WKT transformations
PR#20542 - Allow ESRIReprojector to use custom transformations
This should bypass the conversion problems described in the QnA below since you would no longer need to define FME custom coordinate systems but could use the ESRI defined ones directly.
Q)If you set the FME reader and writer to read from source,and you set the source and destination coordinate systems within the ESRIReprojector to different ESRI custom coordinate systems,AND you do not have any esriwkt.db mappings or any equivalent FME custom coordinate systems defined,will it work?
A)Yes,in most cases.There are very rare edge cases where FME will pass the wrong (i.e.not what the user picked) source or destination coordinate system to ESRI.This is a serious issue.There is also a less rare edge case where the translation will simply fail.
Q)What about for predefined coordinate systems - does that work differently than custom ones?
A)Short answer: No,they are the same.
Long answer: Predefined and custom coordinate systems work exactly the same with one exception: Predefined coordinate systems are more likely to have exceptions in FME's esriwkt.db file.The presence or absence of exceptions can influence the bad edge cases above,but again these cases are rare.
Q)My understanding based on your description below is that it should work most of the time except where there are multiple possible CSMAP coordinate systems for a given ESRI one or vice versa.
A)Right.Specifically:
(a) If an ESRI WKT coordinate system cannot be converted to a CS-MAP coordinate system,the translation will fail.
(b) If two different ESRI WKT coordinate systems are converted to the same CS-MAP coordinate system,they can no longer both be correctly converted back to different ESRI WKT coordinate systems.Therefore,steps that depend on this working (calls to the ESRI reprojection engine,output of ESRI WKT in writers) will not work correctly.
Q)My next question then is,if you are using the ESRI reprojection engine,in all cases do we still have to dynamically create a new FME coordinate system based on the source ESRI coordinate system?Can't we just pass the ESRI selections on to ArcObjects directly?
A)FME currently always does the ESRI WKT -> CS-MAP -> ESRI WKT round trip in this and all similar cases.I agree: We don't need to do this and we shouldn't do this.Changing this as you suggest avoids the possibility of translation failure and incorrectly altering the ESRI WKT as discussed above.
Q)Perhaps an important setup step might be to remove the FME coordinate system from the feature before sending it to the ESRIReprojector to avoid triggering an FME to ESRI mapping?
A)No,that won't help.In fact,the ESRIReprojector only pays attention to the CS-MAP coordinate system on the incoming feature for a single purpose: Warning once if it exists.
Q)If we don't do this yet,perhaps that would be one way to implement this - do the FME to ESRI mapping only if there is an FME coordinate system on the feature.If not - do ESRI only.
A)No,the ESRIReprojector can't depend in any way on the incoming CS-MAP coordinate system.This is because it includes a Geotransformation option which is valid for only one source.Also,I can't see any reason to ever do the current ESRI WKT -> CS-MAP -> ESRI WKT behavior.We should just change this.
Q)Or you could skip the FME side of it entirely since if you are using the ESRIReprojector in the first place why would you want any of this done by FME?
A)Exactly.
Q)Last question: isn't the Engine workspace setting irrelevant to the ESRIReprojector?
A)Yes,that's right.
Q)(RE a previously attached example)
A)Once the conversions are done,the ESRI WKT is cached in the CS-MAP coordinate system definition.That's why some quotes are present in ESRI_LLWGS84_start and not in ESRI_LLWGS84_end.
Q)Why the error:
2010-12-08 23:18:15| 3.0| 1.9|WARN |Reprojector: Specified
geotransformation `' (forward) may be inappropriate for reprojection from
`LL-WGS84' (GCS: `GCS_WGS_1984') to `UTM83-10' (GCS:
`GCS_North_American_1983') using the ESRI reprojection engine
A)This is a legitimate warning.WGS84 is conceptually very different than NAD83,but if you don't care about <1m accuracy you can pretend they are the same.
Q)The log also shows:
>`ESRI_LLWGS84_end' has value
GEOGCS[GCS_WGS_1984,DATUM[D_WGS_1984,SPHEROID[WGS_1984,6378137.0,298.257223563]],PRIMEM[Greenwich,0.0],UNIT[Degree,0.0174532925199433]]
>`ESRI_LLWGS84_start' has value
GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.25
7223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
These 2 strings are notably different cosmetically even though they are the more or less logical equivalents.Will this cause problems down stream such as with getting FME to read this after its written?
A)Not in this case,but this difference is the core of the rare problems we have been discussing.As shown in your workspace,once an ESRI WKT -> CS-MAP
conversion has been done,all future conversions from that CS-MAP system to ESRI WKT use the cached ESRI WKT.This even takes precedence over the esriwkt.db exceptions file.Therefore,it results in behavior and output changes that in this case are benign.One can contrive alternate examples where the behavior and output changes are not benign.This is the root of the problems discussed here.
Resolving an unrecognized Esri Coordinate System Exception
Reading ESRI WKT Coordinate Systems Can Result in Prefixed/Suffixed Coordinate System Names
Coordinate Systems and Measurements with the Reprojector
Notes on FME and Esri Versions and Compatibility
Working with Geodatabase Field Aliases: Altering Alias Values
Shortest Route Calculations with the ShortestPathFinder
Polling Places for Local Government
Determining Spatial Relationships
Projection Definition and Coordinate Transformation
Version of FME equivalent to the Esri Data Interoperability Version
© 2019 亚搏在线Safe Software Inc |Legal