Create a projection that scales CAD from Ground to Grid about 0,0

10366
13
11-19-2014 12:33 PM
RyanHillard
New Contributor

I have been working with adding in a scale factor parameter but am not able to figure out how to scale about the origin.  Our survey standards require us to scale our data from 0,0.  I need to create a projection that will reduce CAD data from ground back to grid, scaling about 0,0 of the grid.

Tags (2)
0 Kudos
13 Replies
DanPatterson_Retired
MVP Emeritus

Not sure of what you are trying to do since this is apparently a surveying term(?).  When you mean "scale" to mean scale in the geometry sense of "translate, rotate and scale" or are you looking to move (ie translate or shift) your coordinate reference system so that the bounding rectangle of your input data has a 0 (zero) origin?  Scale implies changing the range of values to fit into a new bounding rectangle, ie if you data are currently in the range 1-11 you can translate to the origin by performing a shift of -1 giving you a new origin (range is now 0-10) and then scale it so that coordinates fit in the range 0-1 by scaling it by dividing them by 10.  You new coordinate system would have an origin of 0,0 and be scaled to a maximum range of 1,1

0 Kudos
RyanHillard
New Contributor

Dan, thank you for your help.  To better describe our process...we obtain a project scale factor about the center of our project and apply said factor about the origin, for example, if I have a grid coordinate of 500000, 1500000 and a scale factor of 1.000098756, the ground coordinate will be 500049.378, 1500148.134.  Once I have completed my cad work, other members of the team need to bring it into Arcmap.  Because most resources are on State Plane Grid, I need to be able to import the cad file into Arcmap and reverse the scaling to move the linework back to the grid location.

0 Kudos
MattMiley
Occasional Contributor

I have the same problem, whats the best method for "scaling" a cad file from ground back to state plane?

0 Kudos
RyanHillard
New Contributor

Matt,

If you need help applying what Melita has below, let me know.  We have automated the process of creating a custom projection file.

Best Regards,

Ryan

0 Kudos
MarkHotz
Occasional Contributor II

Ryan:

I could certainly use some help getting this set up.  I have CAD data based on local ground coordinates that needs to be converted to UTM.  I have been able to convert the point data manually using the feature to point tool in ArcGIS, and then calculating the geometry to get the local Grid coordinates, export to Excel, and apply the scale factor and corrections (for us the correction was adding 6,000,000 m N and 410,000 m E, and our scale factor is 0.9996899303).  I would then just import that back into ArcGIS after setting the data frame's coordinate system to UTM.  It would be so much easier if I could package this in a projection file and just use that to convert this data.  I have only been able to my cumbersome method with point data (i.e. where coordinates can be created for each point), so I'm looking for a better way.

I think my problem is that using Melita's formulae (below) I don't know where the Ground Coordinates originate to be able to to create the false easting and northing for the projection file.

Melita's formula from another discussion:

x = ground easting
y = ground northing

UTM-Easting = 1.00011264*x ←where does "x" originate?
UTM-Northing = 1.00011264*y + 6000000 ←where does "y" originate?


Now we start adjusting the UTM parameters

UTM-Easting = 500000 + 0.9996*w
UTM-Northing = 0.9996*z

where w and z are the "proto-coordinates" calculated by the transverse Mercator algorithm before the scale factor and false easting/northing parameters are applied.

1.00011264*x = 500000 + 0.9996*w ← I can deduce the value of "w", but where does it originate?
1.00011264*y + 6000000 = 0.9996*z ← I can also deduce the value of "z", but where does it originate?

x = 500000/1.00011264 + (0.9996/1.000111264)*w
y = -6000000/1.00011264 + (0.9996/1.000111264)*z

so new parameters for the coordinate system:

false easting = 499943.686343
false northing = 5999324.236118
scale factor = 0.99948741774
+ the other parameters for the UTM zone (central meridian = -123, latitude of origin = 0).

0 Kudos
MelitaKennedy
Esri Notable Contributor

Hi Mark, 

Is the scale factor applied before or after the translation (false easting and northing) values? I'm going to assume before.

UTM_easting =  410,000 m E +  0.9996899303 * local_grid_easting

UTM_northing = 6,000,000 m N + 0.9996899303 * local_grid_northing

To define the custom coordinate system, we want to solve for the local_grid coordinates.

local_grid_easting = (UTM_easting - 410000 ) / 0.9996899303

local_grid_northing = (UTM_northing - 6000000 ) / 0.9996899303

UTM_easting and UTM_northing are actually:

UTM_easting = 500000 + 0.9996*w
UTM_northing = 0.9996*z

w and z are "proto-coordinates". That is, the latitude and longitude values have been converted to xy coordinates except that we haven't applied the UTM zone scale factor nor the false easting value of 500000 m. The ellipsoid, central meridian and latitude of origin values have been used so far. Substitute in:

local_grid_easting = ({500000 + 0.9996*w} - 410000 ) / 0.9996899303

local_grid_northing = ({0.9996*z} - 6000000 ) / 0.9996899303

local_grid_easting = 90027.9149 + 0.9999100418 * w

local_grid_northing = -6001860.9952 + 0.9999100418 * z

local grid parameters

false easting = 90027.9149

false northing = -6001860.9952

scale factor =  0.9999100418

central meridian = utm zone's

latitude of origin = 0.0

projection = transverse Mercator

Melita

MarkHotz
Occasional Contributor II

Melita:

My apologies for not responding sooner.  I don't like it when I'm in the middle of something important (like this) but then get pulled away to do something far less important :-). Now I'm back working on this issue.

Thanks a million for demonstrating this using my own data though...this is very much appreciated.  The only thing I don't quite understand though is where do I find the values for "w" and "z"? Are these perhaps the values of central meridian and latitude of origin for the UTM Zone I'm using?  Also, is this for converting from UTM to Ground coordinates?  If so, then it should be relatively simply for me to convert from Ground to UTM as well, correct? 

Thanks again

0 Kudos
MarkHotz
Occasional Contributor II

Melita:

I'm just trying to learn how these numbers were derived so I can replicate the process in the future.  I defined my local grid projection based on the parameters above, but the lines are about 2000 m out to the north (slightly northeast).  When I just calc the geometry in the attribute table (in excel) using the conversion parameters, and then import the Excel table back into ArcMap the geometry falls into place.  I'm not doubting your math, but how could this then be out by 2000 m if it's using the same parameters?  Knowing where and how "w" and "z" are derived would probably help I think.  What do you think?

Thanks

0 Kudos
TarigAhmed3
New Contributor II

Ryan,

Could you please share this automated process? 

0 Kudos