Select to view content in your preferred language

Apply dimension inward symbol tolerance based on original length

738
3
10-05-2023 01:29 PM
Status: Open
Labels (1)
PatrickCote
New Contributor II

There is a problem displaying correctly dimension features when using different map projections.

Context :
- Feature classes use the NAD83 coordinate system (Lambert projection).
- Dimension styles use the "Point symbols inwards when : a tolerance is reached" parameter. This allows to draw arrows inwards when the dimension feature is smaller than 4m, as an example.
- This works fine as long as the map coordinate system is the same than the dimension feature class.

Problem :
- If you switch the map in WGS84 Web Mercator (we have to do this in our ArcGIS Enterprise Web Maps), the dimension features are projected on-the-fly.
- In higher latitudes, the WGS84 Web Mercartor projection increases distances due to its definition.
- For instance, a 3.5m dimension in NAD83 becomes something like 5m in WGS84 Web Mercator.
- This dimension then exceeds the 4m tolerance, but the value displayed is still 3.5m. The arrows do not point inwards as I would expect, based on the tolerance defined.

IDEA :
- It would make more sense to choose how to display the dimension feature according to its length measured in its original coordinate system, rather than using the map's coordinate system.
- Dimension features are strongly dependant on their coordinate system. The tolerance defined in the dimension class was originally chosen with a specific projection in mind (the one defined for the dimension feature class).
- If a user measured 3.5m on the ground, he wants to see 3.5m on the map, whatever the coordinate system used.

3 Comments
MErikReedAugusta

I haven't actually used dimension features, yet, so forgive me if I'm misunderstanding something or otherwise missing the point.  But one thing stands out to me in your photos:

You say the tolerance is 4m, but the dialog box in your screenshot says the tolerance is 4pt.

Is the fundamental issue that you can't actually put a linear measure of meters in that box?  Because my understanding of projections like WGS is that they don't actually distort distance—they distort the appearance of that distance.

If your tolerance property were actually functioning on meters, then this wouldn't be an issue, right?

PatrickCote

Sorry if my explanation is a bit confusing. As you can see in my screenshot, you can only set the inward/outward tolerance with "pt" unit.

I couldn't find much details in ESRI's documentation on what 4pt actually means. I assumed that it represents 4m in my case since the projection of my dimension class is defined in meters and that I also set my map to use the same projection.

https://pro.arcgis.com/en/pro-app/latest/help/data/dimensions/dimension-styles.htm#

The WGS 84 Web Mercator projection definitely distorts distances further away you get from the equator. On the second screenshot, you can see that I measured the same line with both dimension feature classes. The length calculated by the dimension features is quite different in either projections.

MErikReedAugusta

By my understanding "4pt" refers to points in the font/printing sense (Wikipedia: Point (typography) ).  The two most common standards are 96 pt =1 inch and 72 pt =1 inch.  So that's display-side, and not data-side, which would explain the issue with distortion.

Having glanced at this, but not yet used them, it looks like the options you're looking at have more in common with labeling than anything—It doesn't bother trying to draw something that will be illegible when printed (based on the value you give it).

 

Regarding the distortion, do you see the same behavior if you use the ruler tool (on the Map pane, I believe) to do the measurement?  Drop two point features somewhere with high distortion, using your local/preferred projection.  Use the ruler tool to measure them.  Then change the projection to WGS and measure again.  They should be the same, unless I'm missing something.

 

Now, as to what the intended use is of these dimension features and why they don't seem to be projection-aware, I don't know.  1 meter is the same distance in Greenland as it is in Congo, regardless of your projection.  However, it will appear different based on your projection.