Skip to main content

How do I create a WGS84 coordinate system whose units are milliarcseconds (1/1000th of arc second) in MyCoordSysDefs.fme?

 

Not exactly sure what I really need... This is my guess.

UNIT_DEF MILLI_SEC               \\  

  UNIT_TYPE ANGLE           \\ 

  UNIT_ABBREVIATION DEG_MILLI_SEC      \\    

  UNIT_FACTOR 0.00000000484813681109535

 

 

COORDINATE_SYSTEM_DEF WGS84-MilliSec\\

  DESC_NM "WGS84 milli (1/1000) arcsecond " \\

  GROUP "WORLD"                  \\

  PROJ LL                     \\

  UNIT MILLI_SEC                   \\

  DT_NAME WGS84

 

Should  UNIT_FACTOR be 0.00000027777777777777777  for conversion to meter & UNIT_TYPE be LENGTH?

 

Thx,

Mark

 

 

Hi @mbfbsae90​,

A milli arc second is 1/3600000 of a degree, so in the UNIT_DEF, the UNIT_TYPE should be ANGLE, and the UNIT_FACTOR should be 0.00000027777777777777777


The result PRJ file is this:

GEOGCS["GCS_WGS84_milli_1_1000_arcsecond",DATUM["D_WGS_1984",SPHEROID["World_Geodetic_System_of_1984_GEM_10C",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]]

 

Besides the name I do not see any difference in the file to LL84: (could be missing something...)

GEOGCSS"GCS_WGS_1984",DATUMM"D_WGS_1984",SPHEROIDD"WGS_1984",6378137.0,298.257223563]],PRIMEMM"Greenwich",0.0],UNITT"Degree",0.0174532925199433],AUTHORITYY"EPSG",4326]]

 

How would something know that the data is 1/1000th of an arcsecond. I would have expected the "UNIT" to be labelled millisec with a different "scale number". But I'm no expert on the PRJ files.

 

Thanks,

Mark

 


The result PRJ file is this:

GEOGCSE"GCS_WGS84_milli_1_1000_arcsecond",DATUMD"D_WGS_1984",SPHEROIDE"World_Geodetic_System_of_1984_GEM_10C",6378137.0,298.257223563]],PRIMEMR"Greenwich",0.0],UNIT,"Degree",0.0174532925199433]]

 

Besides the name I do not see any difference in the file to LL84: (could be missing something...)

GEOGCSe"GCS_WGS_1984",DATUMC"D_WGS_1984",SPHEROIDM"WGS_1984",6378137.0,298.257223563]],PRIMEM,"Greenwich",0.0],UNITM"Degree",0.0174532925199433],AUTHORITY5"EPSG",4326]]

 

How would something know that the data is 1/1000th of an arcsecond. I would have expected the "UNIT" to be labelled millisec with a different "scale number". But I'm no expert on the PRJ files.

 

Thanks,

Mark

 

Hi @mbfbsae90​,

The automatic PRJ WKT creation in FME does not seem to like custom units. You can define your own WKT for the coordinate system and store it in an exception (.db) file in your Documents\FME\CoordinateSystemExceptions folder, and FME will use that instead.

According to the Esri docs:

The UNIT object can represent angular or linear units of measure.
 
The conversion factor specifies number of meters (for a linear unit), or number of radians (for an angular unit) per unit and must be greater than zero.

1 milliarcsecond is equal to 4.8481368110954E-9 radian.

 I think the following would work for the .db file contents:

GEOGCSp"WGS84-MilliSec",DATUMÂ"D_WGS_1984",SPHEROID1"WGS_1984",6378137.0,298.257223563]],PRIMEMl"Greenwich",0.0],UNITf"MilliArcSecond",0.0000000048481368110954]

This is essentially the same as WGS84, but with a modified UNIT.

After creating the .db file, restart FME for it to take effect.


Reply