I'm using the NeighborFinder transformer in FME Desktop 2013, and I need it to use a maximum distance in meters. My input data, however, are points and lines in WGS84, so before sending them into the NeighborFinder, I'm using Reprojector to convert the geometry into FME's dynamic coordinate systems AZMED or AZMEA.
The lines reproject okay. The points, however, all reproject to 0,0. So when the points go to NeighborFinder, they create meaningless output.
Here's a part of the setup before NeighborFinder:
Using Inspection, I can see a point before entering the Reprojector:
And after leaving the Reprojector:
Note the loss of geometry.
I've tried leaving the Source Coordinate System as "Read from Feature", but still no gold.
The Transformer Description for Reprojector gives an example of reprojecting a point to AZMED or AZMEA. And I can't find any indication online that points aren't supported.
I can reproject the points by changing the Destination Coordinate System to the relevant UTM zone (EPSG:32617, UTM Zone 17). But I'd prefer a scalable solution because I have global data to feed into the workbench.
Does anyone know why I can't reproject my points into AZMED or AZMEA?
Best Answer
That is the expected behavior. Each point is getting its own unique coordinate system, where the point is placed at the origin.
In your example, your point has been placed into the coordinate system
_AZMED_WGS84_-71.496825_42.8188720
which is a unique system with origin at -71.496825, 42.8188720. As a result, every point ends up at 0,0 (or rather, every point ends up at 0,[some extremely small number which rounds to 0]).NeighborFinder is not going to work with the
_AZMED_
projection on the Reprojector transformer.Instead, use the CommonLocalReprojector transformer with an AZMED projection type. This will still be a dynamic projection, but using one single projection for the entire dataset. Do not use the Group By setting when feeding these results into NeighborhoodFinder.
Note: CommonLocalReprojector is a blocking transformer, this will affect your performance for large datasets.