How to define a local coordinate system by known points

In our previous post, we shared tips on how to set up a correct local coordinate system (CS) for your country. Today we want to provide you with steps you can take if you have a problem defining the required local coordinate system for your survey project.

Steps to take if you are completely unfamiliar with the local CS parameters

Suppose you need to survey an area, but you don’t know which local coordinate system to use. There is no projection or vertical datum available, you only have benchmarks with projected coordinates. Is there a way out? Yes, there is. You can still perform a survey using the localization feature in the Emlid Flow app, available with the Survey subscription. It allows you to calculate the parameters and survey in the coordinate system specific to that area.

The workflow is straightforward:

  1. Select Global CS for your project.
  2. Add manually or import known points to the project.
  3. Collect the same points in RTK.
  4. Go to Project localization.
  5. Pair known and control points.
  6. Analyze the residuals.
  7. Apply localization.

Learn more details in our guide on applying localization in Emlid Flow.

Steps to take if you’re not sure about the used local CS

There’s another case where localization will help you—when you’re not sure it’s exactly the same CS you need. For example, you know that the benchmarks have shifted over time but you still need to adjust to them. This can also be solved by localization.

The workflow is the same as above with the only exception—specify the on-hand or supposed projection and/or datum for your project and adjust the project based on the benchmarks.

Steps to take if you want to work in a CS with a false origin

And here is the last case. Let’s say you have a layout of house made using CAD in a CS with a false origin and you need to set it out in a certain area. No need to guess what will help you here.

Select Global CS for your project, import the known points in a CS with false origin to the project, collect the same points in RTK, and apply localization in the Emlid Flow app.

General instructions

The only thing you should always keep in mind is that localization depends on many factors—known points number and distribution, their quality, distortions of the local CS, etc. Read the instructions in our guide to get the highest possible accuracy. Got questions? Feel free to contact us at

If you have already tried localization, share your experience with us in the comments below.


Not sure if this is the correct topic location for this post, but here goes. I have several remote projects (no cell service, no NTRIP) that each contain numerous control points that, in past years, were each laid out in local coordinate systems using a total station (the original point of origin x,y,z might have been something arbitrary like 5000,5000,5000 or 10000,10000,5000). Now, I have a csv file for each project site that contains those control point coordinates and I need to return to some of those project sites to locate those control points stakes. I’m not a surveyor but have been using Trimble robotic total stations for this work for years, and that is my point of reference. However, I recently acquired a pair of Reach RS3s that I’m figuring out how use and hope to use for this task. If I were using a total station for this task, I would simply need to locate two (or more, but at least two) of the control point stakes, perform a “resection” by backsighting on the two points to establish the x,y,z location of the total station in the local coordinate system, and from there would be able to locate/stakeout all of the other control points. How would I go about doing this using the R3s? I’ll be able to go to a site armed only with the RS3s and and a csv file of the control points loaded into a Project on Emlid Flow. Can I set up the Base over one of the known stakes and enter the local coordinates for that point into Flow, to start, and then use the Rover to collect a point coordinate on another found control point stake to establish the local coordinate system in Flow? Or, perhaps set up the Base in an arbitrary location and collect point coordinates on two stakes? And then, once the local coordinate system is established, go into some sort of stakeout mode to locate all of the other points/stakes I need to find? Unfortunately I don’t yet understand how Emlid Flow can help me with this. So far I’ve simply created a Project in Flow for one of the sites and imported that site’s 18 control point coordinates into the Project. Where do I go from here? Thanks.

Hi Steve!

Let me try to describe the possible approach for your situation, but I have to say that it may vary depending on the task you’re trying to perform.

To have something to start with, I’m assuming that the control points you have are marked somehow on the ground so you can reestablish their location with the GNSS receiver. If so you can use several of them to perform localization (This function is available for Survey plan of Emlid Flow). For that, you should measure some of the control points on the ground with the GNSS receiver and then match them with the corresponding points you imported. You can check out the video instructions to find out more about the workflow.

For your localization to be accurate it’s recommended to have at least 3 points and these points should be distributed across the working area meaning some of them have to be located at the edges of your worksite, so the rest of the points you’re going to work with will be within this area. That’s what I would recommend if you need subcentimeter accuracy. But it means that you should find 3+ points at the different edges of your site before staking out the rest of the points, which could be not so convenient as you should go forth and back.

So I could offer another approach that might suit you better, but as I said it depends on the task. If your goal is just to get guidance on the whereabouts of your points and then you are able to find them visually when 1-2m away, you can try the following:

  • Create a project with Global CS
  • Import your control points so they are in local coordinates (meters or feet) to the project. You won’t be able to see them on the map just yet, but they should be available in the objects list
  • Find the closest control point on the ground and measure it with the GNSS receiver
  • Add localization by one point just by adding the point you just measured and matching it with the local coordinates you imported
  • Apply the localization to the project.

At that moment all of the control points you had in the project should appear on the map! But since you used localization only by one point, the accuracy of them is most likely poor (submeters when you’re several hundred meters away from the point) and will decrease as you go away from this point. But it’ll allow you to start staking out the rest of your points right away. And if the submeter’s accuracy is okay for you to find the rest of the points then you’re good to go.

After you measured more of your control points you can adjust your localization by adding more points to it, and all the points will be recalculated based on the new pairs of points you provided and the whole project will become much more accurate. You can do it at any moment and using any of the control points you measured, but for the best accuracy the control points you use for localization should be evenly distributed across the working site. See more about localization in our guide.

Now regarding the base placement. If it’s a one-time job, you could just place the base whatever you want and do the localization it’ll adjust any uncertainties of your base placement. But next time you come to the site you’ll have to do the localization again since the base placement will be different.

On the other hand, you could place the base on a certain point on the ground, and either enter its known coordinates in LLH or just use an average single to establish the base position (in case of averaging you should remember those coordinates somehow to reuse it next time). Then you can do the localization. The most important here is that the next time you come to the site and place the base on the same spot and enter the same coordinates, you’ll be able to reuse the localization you established the first time if that’s the case for you.

Hope this will help you, if you have any more questions our team will be happy to answer!