5

I am trying to input (survey) line distance accurately using the Advanced Digitizing Panel. I am working in a layer with a UTM CRS and entering distance based on grid measurements. Unfortunately it seems the program is applying a scale factor but it seems to be applied backwards and I end up with a slightly larger number when it seems that if the program assumes I am entering Meters and applies a conversion to grid measure then it should be slightly shorter?

Ideally I would like to enter an overland measurement and have the program apply the correct scale factor for a local grid measurement. Is this possible?

In the image below I have entered d = 4.254 and used a python label of " round($length,3)||' m' " also to show the issue with all available decimal places " $length "

Keep in mind my knowledge of Python, and QGIS for that matter, is limited.

enter image description here

13
  • 1
    What is a scale factor "applied backwards"? Don't understand what exactly is the problem. Are you aware of the difference between planar and ellipsoidal distances? And: are both your project and your layer in the same CRS? See: gis.stackexchange.com/a/392388/88814
    – Babel
    Commented Apr 9, 2023 at 20:02
  • Yes I think I do understand vaguely the planar and ellipsoidal distances and that seems to be the issue here. Project and layer are both using EPSG: 2958. The note on the survey I am referencing says " Distances on this plan are horizontal ground distances and can be converted to grid distances by multiplying by the average combined scale factor of 0.999785058 " So if I take the surveyed distance of 4.255 and multiply by 0.999785058 I get 4.254 and enter that but QGIS is giving me 4.254768732998201. That is a scale factor of 1.00018070827.
    – Mike
    Commented Apr 9, 2023 at 21:25
  • I thought I was working all in the same UTM grid units so if I do the conversion then why is QGIS trying to convert back to meters ? The survey is suggesting that scale factor should be 1.0002114988 or there abouts on average.
    – Mike
    Commented Apr 9, 2023 at 21:26
  • 1
    UTM units are in meters. So I'm not sure what else you expected.
    – Babel
    Commented Apr 9, 2023 at 21:33
  • 1
    We speek here of a difference in distance of 1 mm in real world! Does that really matter for your use case? If you are not an engineer and need high-precision accuracy, I would say you can ignore the difference. It would be hard to see the difference in the terrain.
    – Babel
    Commented Apr 9, 2023 at 21:36

3 Answers 3

3

This is an area where cartographers and surveyors use terminology that is not fully aligned. There are actually 3 distances, shown on this diagram (which I have borrowed from https://community.myrockpile.com/t/what-is-the-difference-between-grid-and-ground/755, which also provides a partial explanation, and annotated in red)

Ground vs grid vs elliptical distance

What is shown on a survey (plat) is either ground distance or grid distance. There is generally a note on it saying which one, and giving a combined scale factor (csf) to convert between the two. This csf is a function of the (average) site elevation, relative to the ellipsoid, and the ellipsoid + geographical position given (in this case embedded in the UTM projection). For examples of the calculation see https://www.reddit.com/r/Surveying/comments/yoalwi/combined_scale_factor_calculation/ (reddit link, may go stale) or https://www.bluemarblegeo.com/knowledgebase/calculator-2020sp2/Scale_Factor_and_Convergence.htm (less informative but static).

What is used in GIS is either planimetric distance, which is the same as surveyors' grid [Edited: I originally mistyped 'ground'] distance, or ellipsoidal distance, which would be the measured distance along the earth's ellipsoid if the elevation were zero.

The advanced digitizing dialog uses planimetric / grid distance (see QGIS Advanced digitizing switch from Cartesian to Ellipse). You should either enter the distances as notated on the survey, or multiplied by the csf provided on the survey, based on whether the survey says distances are grid or ground. If you continue to use the same CRS, this should match exactly the length($geometry). In contrast, as others have said, $length will return the ellipsoidal distance, which will be very slightly greater.

The difference between ellipsoidal distance and grid/planimetric is largely a function of the subtended arc of the earth surface, i.e. the overall distance being measured. In your instance, you have seen that it makes for a difference of about 1 part in 5000 at that scale.

The remaining difference to ground distance is largely determined by elevation in the region in question.

6
  • Thank You I will bookmark this for future reference. I think what I need to do is use the length ($geometry) as "round(length($geometry),3)||' m' " in my case. There may actually be a 4th situation where the measurement is recorded at the instrument height in a level orientation, being "Horizontal Ground Distance" similar to Grid Distance but at a specific elevation rather than at a zero elevation thus requiring a scale factor to bring it to a constant elevation "Grid Distance". Does that sound correct ?
    – Mike
    Commented Apr 10, 2023 at 1:37
  • 1
    You write: "planimetric distance, which is the same as surveyors' ground distance", but the image shows otherwise. There, "Ground distance (measured w/ surveying qgt)" is the top gray line, whereas "planimetric distance" is the black line at the bottom. I'm a bit confused as you use "ground distance" for both lines...?
    – Babel
    Commented Apr 10, 2023 at 8:54
  • In the image "Ground" means 1) Geoid, 2) topography or 3) topography + Geoid? All "on top" of ellipsoid? So the green line presents what exactly? The actual distance you have to walk in the terrain, going up and down?
    – Babel
    Commented Apr 10, 2023 at 8:56
  • 1
    Is there a name for the actual distance on earth's surface (the green "Ground" line on your image?). Like if you plan to build a road, how many asphalt you have to calculate depends on actual surface and would envolve a DEM to calculate. But does it have a name to distinguish it from 1) ground 2) ellipsoidal 3) grid/planimetric distances?
    – Babel
    Commented Apr 10, 2023 at 9:09
  • 1
    @Babel, thanks for the comments. I mistyped 'ground' for 'grid' at one point (it was right in the diagram, wrong in my text); have edited to fix, sorry for the confusion. My understanding is the "ground distance" is the actual distance seen by a distance meter/total station so it is the straight line above the green line. (In surveying lingo, what is recorded is 'horizontal' distance rather than 'slope distance' and the green curvy line's length would be the total slope distance if chopped into tiny bits.
    – Houska
    Commented Apr 10, 2023 at 10:06
2

Be aware that there are two ways to measure distances: planimetric (cartesian) and ellipsoidal (respecting earth's curvature as modelled by the ellipsoid used in the CRS).

Planimetric lengths are calculated with length($geometry), ellipsoidal lengths with $length. When you use the in built measure line tool from the toolbar, you can choose which kind of measurement you want to use.

If you use UTM zones, inside the valid area of the CRS, differences should be minimal. In your case, we speak about 1 millimiter (!) distance in real world. Apart from very specific use cases where you need sub-mm precision like high-precision measurements in engineering (but then, you would be a specialist in the domain and know exactly what you need), such differences can be ignored.

Avoid overkill with meaningless pseudo-precision and make your numbers better readable. In this context, see also this answer about the connex between accuracy and precision and at what scale precision makes sense and when not: https://gis.stackexchange.com/a/8674/88814

I tested it with a line of your distance (ca. 4 meters) as well with a line of ca. 1615 km inside the valid of the CRS: see following screenshots:

Line in Toronto with EPSG:2958. See the difference between planimetric and ellipsoidal length measurement. As you can see from the street background, the difference is negligible: enter image description here

A line of more than 1616 km - the difference here is less than 600 meters: enter image description here

2
  • Ok this is quite helpful to know the difference between $length and length($geometry). I am not worried about the sub-mm differences but would like to match the measurements on record. What I don't understand is the conversion that QGIS is making when I use the Advanced Digitizing Panel input. I will try and see if using all the decimal places of my conversion to grid distances works. Perhaps that will be more accurate than the "Average Combined Scale Factor " quoted by the surveyor. Let's hope anyway. Not sure why it is converting though and if there is a setting to input in ellipsoid
    – Mike
    Commented Apr 9, 2023 at 23:00
  • See last comment above
    – Babel
    Commented Apr 9, 2023 at 23:12
1

Just to make things complete: if you have to draw lines with exact distances/angles in QGIS, you can also use Geoemtry Generator or Geometry by Expression. It uses planimetric distances. On the screenshot, I drew a line rectangular from the initial black line, starting from the end point of the black line to a point 4.254 m away, see measurement tool. The expression uses project() function:

project (
    end_point ($geometry),
    4.254,
    radians (degrees (main_angle ($geometry)) -90)
)

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.