# Conversion between lat/lon and local coordinate system

I have local coordinate system, this is the red grid on the image. Red grid XY points measured in meters, and I know:

• The 0;0 point of the red grid and the lat/lon coordinates of this one point. (the geo system is the green lines on the image measured in lat/lon). This is the one and only point I know values on booth coordinate system (the blue point on the image).

• The angle of local coordinate system relative to latitude in degree.

Is it possible the convert values between these two coordinate system with a math formula? If I know the lat/lon values of the point on the green grid, can I get the XY values on the reg grid, and if I know the XY values of any point (and the angle of reg grid in deg) on the red grid in meters, can I got the lat/lon values on the geo coordinate system?

How can I get the transformation formula - if it even possible?

-------------- EDITED ---------------

Thinking how to solve this problem.

• Convert lat/lon values of the common point (X Y) and the another (unknown) point from lat/lon to X1 Y1 values. This is the method to get same unit (meters) for different coordinate systems.

• Count the difference between X1 - X and Y1 - Y to get vertical and horizontal distances between common point and the original lat/lon values.

• Finally I can use formula from this page: https://en.wikipedia.org/wiki/Rotation_matrix but the angle is 90 - (my rotation angle from latitude) in degrees.

Is it right way?

-
• If this is a one-off, you could just select the features and rotate them. desktop.arcgis.com/en/arcmap/10.3/manage-data/… Commented Sep 13, 2017 at 15:28
• It is possible with transformation, but the formula will be very complex. Converting lat/lon to xy is tedious and this added complexity of rotation makes it even more complex. Commented Sep 13, 2017 at 15:31
• Yes I have formula between lat/lon and XY, but no input for rotation. Map Man I have to use OSM so I looking for the math formula only to get the values. Commented Sep 13, 2017 at 15:32
• Possible duplicate of gis.stackexchange.com/questions/83861/… (which works also without Arcgis) Commented Sep 27, 2017 at 18:10

Going from a lon-lat coordinates (spheroid) to cartesian coordinates is not as easy as just using a mathematical formula, the formulas for the reprojection are quite big and the solution is not explicit sometime.

Depending on the accuracy required there are standarized procedures to undertake the task. A common one is project a lon-lat data into a Transvers Mercator projecton. The central meridian and the scale factor can be choosen at will in order to match the accuracy required. Here some reading about the subject by Richard Stanaway Link.

Once that is said, your problem could be seen as two problems:

1. To reproject your lon-lat coordinates to a standard cartesian projection like UTM or a local TM.
2. Once you know the coordinates in the standard cartesian system, you can apply the required translation and rotation.

For the first task I recommend you a sound GIS tool like the user friendly QGIS or the proj.4 if you want to code.

Many questions are still to come:

1. Which is the World Geodetic System of your lon-lat coordinates?
2. Which is the suitable standard cartesian projection for your needs? Maybe a UTM is enough.
3. If the standard cartesian projection is parallel to the paralles, like a Transverse Mercator, the rotation is trivial, but if it is not, then you have a new challenge.
• Thanks, I already have a good library to transform between lat/lon and XY. The problem is, that the position have known values only in lat/lon or in rotated XY, and I have to get missing value. Commented Sep 14, 2017 at 9:29

I successfully converted coordinate systems to same unit, now I have two similar coordinates, but one of them rotated. I checked formula of rotation matrix, but the formula transferred the coordinate points with rotation angle.

Now I need another thing.

The point not rotated or moved, but the red coordinate system rotated around blue point which is the X0;Y0. I looking for a math formula to get coordinate of Px Py points (blue crosses) if I know the coordinate of rotation center (blue point), the rotation angle between coordinate systems, and the coordinates of P points in green matrix. Trying to find solution to get same points in red matrix, without move or rotate these points. Maybe the solution based on the rotation matrix 2d formula?