[GIS] Create custom projection using either QGIS or ArcGIS Desktop

arcgis-desktopcoordinate systemqgis

What I have are a series of Geographic Coordinates, Latitude, Longitude, Ellipsoid heights.

What I want are a local system which is translated from NAD83/UTM.

I know the parameters of the shift which works with UTM Zone 9N.

My parameters are:

Origin North: 5984910.533m,
Origin East: 519681.595m

Trans North: 4973.397m,
Trans East: 2068.553m

Rotation: 10°12’53”,
Scale: 1.0003933608

Trans Height: ‐1.907m,
Slope North: 0.00001,
Slope East: 0.00004

This should result in coordinates similar to N = 5000.000m, E = 1500.000m, Elev = 0.000m

Is there any good help for the EPSG notation?

Perhaps I need to steal from the UTM projection and combine with another?

Here is some data in Geographic(WGS84/NAD83) and Local ground

Geographic Coordinates Latitude, Longitude, Ellipsoid Height(meters) (Deg.MMSSsssss)
ie (54.00595628 = 54 degrees 00 minutes 59.5628 seconds)
1 54.00595628 -128.4231334 30.48 MON

6 54.0059556 -128.4154351 14.607 MON

9 54.00451717 -128.4150654 13.147 MON

19 54.00019706 -128.4139788 9.238 MON

20 54.00133493 -128.415171 13.803 MON

Local ground system Northing, Easting, Elevation (meters)

1 5562.562 1570.005 28.547 CONC PILLAR MON

6 5445.703 2233.204 12.713 CONC PILLAR MON

9 4996.025 2222.510 11.250 CONC PILLAR MON

19 3646.242 2186.193 7.329 CONC PILLAR MON

20 4030.357 2033.239 11.848 CONC PILLAR MON

Best Answer

I don't have a definitive answer, but a step towards a custom CRS using ArcGIS. ArcGIS has a "Local" projection. It actually an ellipsoid-based orthographic projection. The "trans" values were throwing me off until I realized they were false easting/northing values for the local system. This technique isn't useful unless you have control points in both systems, which you provided for nhopton. I would not have gotten this far without him asking for sample points.

Anyway, using the UTM coordinates, unprojected to lat/lon for the center point, and the other parameters, I made a Local CRS. The data still rotated because the rotation value is likely based on the UTM zone, not from geodetic North, so I adjusted it. The points still do not overlay that well (0.2 to 0.6 m) but you can now keep adjusting the parameters to see if you can get a better fit. I just don't have the time right now. Here's the WKT:

PROJCS["canada_local",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Local"],PARAMETER["False_Easting",2068.553],PARAMETER["False_Northing",4973.397],PARAMETER["Scale_Factor",1.0003933608],PARAMETER["Azimuth",-9.98000000000015],PARAMETER["Longitude_Of_Center",-128.6996571570882],PARAMETER["Latitude_Of_Center",54.0121078922195],UNIT["Meter",1.0]]

Copy the string (as a single line) to a text file and add it to your "Favorites" location. On XP with ArcGIS 10.1, it's

C:\Documents and Settings\login\Application Data\ESRI\Desktop10.1\ArcMap\Coordinate Systems

Other OS or versions will be different.

Now add your UTM or lat/lon data to ArcMap, plus the data in the local system. Do not assign this CRS to the local data. Assign to ArcMap in the data frame properties. You'll see that the reference and local data, almost line up. Now modify the data frame's coordinate system and keep adjusting the parameter values to try to get a better fit. You can use the Apply button on the data frame properties dialog to check how the fit changes.

std disclaimer: I work for Esri.

Related Question