To elaborate on @pratap's comment: the AttributeReprojector (if your coordinates are stored in attributes) or Reprojector (if it's geometry) can do that. You'll need to know what the source coordinate system is though, or it should be readable by FME, and then set LL84 as the destination coordinate system.
I get all the time confused with all those coordinate systems, let me elaborate more on our case
we have a web app where the user enter X/Y coordinate and those coordinate could be in following units M (meter,) DD (decimal degree) or DMS (degree, minute, sec) and need and when we use the reprojectortransformer , do the transformer recognize the unit and convert it to the suitable project ?
Use TestFilter and validate the input based on format/number of digits/any other criteria and then pass to respective transformer as shown in the screenshot to avoid confusion
Use TestFilter and validate the input based on format/number of digits/any other criteria and then pass to respective transformer as shown in the screenshot to avoid confusion
I would also suggest to have a Terminator on the <unfiltered> with a clear Error Message that the input coordinate was not in a valid input format. And maybe a schema showing valid formats.
I get all the time confused with all those coordinate systems, let me elaborate more on our case
we have a web app where the user enter X/Y coordinate and those coordinate could be in following units M (meter,) DD (decimal degree) or DMS (degree, minute, sec) and need and when we use the reprojectortransformer , do the transformer recognize the unit and convert it to the suitable project ?
Nope... but it might depend on the actual coordinates. E.g. if the x range is between -180 and +180 and the y range is between -90 and +90 it could be decimal degrees and if it is outside those ranges it's definitely not decimal degrees.
I would strongly recommend to not let your users enter dms (or other flavors like degrees and decimal minutes). There is way too much room for error there. If you could have an extra parameter in which the user can specify which format they entered it would give you a bit more security but you're still depending on the user entering that information correctly.
Have you considered an approach where the user draws a polygon on a map? That way you know what you're going to get in terms of the coordinate format.
Nope... but it might depend on the actual coordinates. E.g. if the x range is between -180 and +180 and the y range is between -90 and +90 it could be decimal degrees and if it is outside those ranges it's definitely not decimal degrees.
I would strongly recommend to not let your users enter dms (or other flavors like degrees and decimal minutes). There is way too much room for error there. If you could have an extra parameter in which the user can specify which format they entered it would give you a bit more security but you're still depending on the user entering that information correctly.
Have you considered an approach where the user draws a polygon on a map? That way you know what you're going to get in terms of the coordinate format.
I think,
if the input is in meters then it will be more than 6 digit (without considering decimal value)
if it in DD then value will be max of 3 digits (without considering decimal value)
if the input is in meters then it will be more than 6 digit (without considering decimal value)
if it in DD then value will be max of 3 digits (without considering decimal value)
Not necessarily, it depends on the coordinate system: in the Netherlands national system (EPSG:28992) for example, X-values in the western part of the country are below 100000, so 5 digits. And with the large number of coordinate systems in FME I'm sure there will be more like that.
However, I am assuming that for this particular application there is only one relevant coordinate system in meters, in which case it would probably be possible to check on the number of digits (assuming the users don't suddenly start entering the data in kilometers)
I may come across as very cynical but I've seen a lot of things go wrong when people enter coordinates manually. There was one case where in a single Excel table they had managed to use kilometers, meters, decimeters, centimeters and millimeters as units...
If user enters value in wrong units or enters wrong value both are same. He will get wrong output :). We have provided information/instruction on what he has to provide so we will validate based on that...
We cannot assume all the assumptions which are "out of box".
then the best way is letting the client chose the Unite, and the coordinate system, in order for the Reprojector to work and we could do validation on the X/Y based on the unit entered as you have specified right
then the best way is letting the client chose the Unite, and the coordinate system, in order for the Reprojector to work and we could do validation on the X/Y based on the unit entered as you have specified right
ex: unit: DD
EPSG: 2456
This is basic requirement, we have to tell user in which unit he has to provide and later you can validate based on the input provided
Question raised is different than the discussion happening :)
We use 3 different kinds of cookies. You can choose which cookies you want to accept. We need basic cookies to make this site work, therefore these are the minimum you can select. Learn more about our cookies.