Showing areal inflations differently

Discussion of things we want in Geocart
Post Reply
Atarimaster
Posts: 446
Joined: Fri Nov 07, 2014 2:43 am

Showing areal inflations differently

Post by Atarimaster »

Hello,

when I visualize areal inflations (using either the univariate color representation or areal inflation isocols), I prefer not to do this in relation to the nominal scale of the map but in relation to the point having the least amount of inflation.

So, for example, for the Winkel Tripel I’m using the Information window to determine that the minimum is 0.81831 at the center of the map.
In the Distortion Visualization dialogue, at “Areal (logarithmic scale for definite limits)”, I enter 0.81831 as Pivot and 81.831 as Limit. A metric lines database might looks like this:

Code: Select all

<metric_lines>
<!-- values of 1.5, 2, 2.5, 3, 3.5 in relation to 0.81831 -->
	<layer alpha='0.8'>
	    <isocol area='1.227465' />
	    <isocol area='1.63662' />
	    <isocol area='2.045775' />
	    <isocol area='2.45493' />
	    <isocol area='2.864085' />
	</layer>
</metric_lines>
Of course this only works for a specific projection. I cannot use “Copy/Paste Attributes” or apply the metric lines database to a different projection.

Both problems could be solved if Geocart would support a variable here – e.g. m (of course, any other name will do as well) – which refers to the minimum amount of areal inflation, whatever that may be in the selected projection.

So, in the Distortion Visualization dialogue, I’d enter m in the Pivot field and 100m in the Limit field.
The metric lines database would look like this:

Code: Select all

<metric_lines>
	<layer alpha='0.8'>
	    <isocol area='1.5m' />
	    <isocol area='2m' />
	    <isocol area='2.5m' />
	    <isocol area='3m' />
	    <isocol area='3.5m' />
	</layer>
</metric_lines>
This way, I could use “Copy/Paste Attributes” and also a single metric lines database for each projection, and get the correct results.
If it seems too much work to implement it for both cases, I’d love to have it at least for the metric lines databases.

One questions remains: What happens if the map is truncated using the “Boundaries” dialogue?
Will m refer to minimum of the unconstrained projection, even if it’s outside the given boundaries; or will it refer to the minimum value that’s within the boundaries? I’m a bit indecisive what would be better here, I guess it largely depends on the purpose of the map. So my current answer to the question is:
Whatever is easier to implement. ;-)

Kind regards,
Tobias
daan
Site Admin
Posts: 977
Joined: Sat Mar 28, 2009 11:17 pm

Re: Showing areal inflations differently

Post by daan »

Hello Tobias.

That’s a useful idea. It’s got some complications: Some projections have zero area at some points, so for those maps, the visualization would be nonsensical. Obviously, regions of a map with that problem are not useful and therefore would be excluded from any useful map.

Which brings us to your second matter: Would the scale be referred to the projection’s absolute minimum scale, or to the minimum scale given the selected boundaries? Unless we were to add more rules to the process, it makes sense to use the bounding region.

Finding the minimum, whether for the entire projection or for a bounded region, involves a numerical hunt. It’s rigorously impossible but loosely possible—and in fact, I do this for isocols. The reason it’s rigorously impossible is because all you can really do is find local minima. You won’t know for sure that you found the one with the absolute lowest areal scale. You just try a bunch of different locations to search from and hope that one of them slides into the true minimum.

For most projections, these complications aren’t an issue. Be aware, though, that finding minima is more computationally expensive than finding roots. Isocols are roots—and the one isocol that’s expensive to compute is the one that’s also a minimum: often at no distortion.

I don’t think this will happen soon, but I’ll put it on the list for consideration, at the least.

Best wishes,
— daan
Atarimaster
Posts: 446
Joined: Fri Nov 07, 2014 2:43 am

Re: Showing areal inflations differently

Post by Atarimaster »

Hello daan!
daan wrote: Sat Oct 09, 2021 4:39 pm It’s got some complications (…)
I was afraid you might say something like that.
Why are things always more complicated than they seem at first glance? :o

daan wrote: I don’t think this will happen soon, but I’ll put it on the list for consideration, at the least.
Thank you! :)

And…
Ceterum censeo Carthaginem esse delendam!
No, wait – Carthage already has been destroyed! Oh well, in that case, I’ll just say that the generalized Wagner IX should be added to Geocart. ;)
PeteD
Posts: 251
Joined: Mon Mar 08, 2021 9:59 am

Re: Showing areal inflations differently

Post by PeteD »

I know I'm over a month late (I've previously only checked the "map projections" forum), but I'd like to suggest that visualizing areal distortion as inflation relative to the central point (x, y) = (0, 0) (or relative to some other specified point) would presumably be much easier to implement. While there may be some projections for which it doesn't make much sense, for the rest it might be just as useful, and for many it would be exactly the same, as visualizing areal distortion as inflation relative to its minimum value.
Atarimaster
Posts: 446
Joined: Fri Nov 07, 2014 2:43 am

Re: Showing areal inflations differently

Post by Atarimaster »

PeteD wrote: Fri Nov 19, 2021 12:40 am but I'd like to suggest that visualizing areal distortion as inflation relative to the central point (x, y) = (0, 0) (or relative to some other specified point) would presumably be much easier to implement.
This would surely work for me.

In order not to overload the GUI, Geocart could accept coordinates in the “Pivot” field (like it does e.g. in the “Parameters” dialogue if the two-point azimuthal projection). If there are coordinates instead of a single number, Geocart knows what to do…
For the metric line databases, the syntax could be something like this:

Code: Select all

<isocol area='1.5' coord='0,0'/>
If the coord attribute is given, Geocart will draw the isoline relative to this point.

In both cases, copying the attributes or metric line database to other projections would work (as long as I take care to copy it only to the appropriate projections).
Good idea, thank you! :)
Post Reply