Tarquin
I don't have a solution to your particular question, but for what it is worth here is my map-connection journey so far.

The default point map-connection lines are all but invisible in large maps, and there is no orientation that shows clearly what is the offset and what is the main map.

So I modified the l-arrow and l-map-connection metapost. These are clearly visible and have a clear orientation – dot in the main map and arrowhead at the offset position.

My convention is to place a map-connection point at every location where a caver could travel from the main map to the offset map. This makes an easy-to-follow map where there are just a few, but not so much when there are many.


Then I discovered the ICCaving Migovec project that uses a user-defined point u:connection. These are just coloured dots that must be manually placed in each offset map. There are no lines joining the dots. This approach avoids the noise associated with lots of connecting lines and has the advantages of working across various projections and being able to adjust the colour and size on a point-by-point basis. It is not so obvious which is the primary map and which is offset though. My work-in-progress example does not show it at its best.
I haven’t settled on a favourite approach yet, it probably depends on the particular cave. Both approaches need further development.
I like your suggestion that Therion be able to pass an object id and user defined attribute as it will add to the options available.
Bruce
-----Original Message-----
From: Therion <therion-bounces@speleo.sk> On Behalf Of Tarquin Wilton-Jones via Therion
Sent: Friday, 8 July 2022 05:04
To: Therion <therion@speleo.sk>
Cc: Tarquin Wilton-Jones <tarquin.wilton-jones@ntlworld.com>
Subject: [Therion] Custom map connections
Hi folks,
I have a challenge, presented to me by some users of one of our surveys.
We have a cave with layers horribly stacked above each other (10 passages all crossing the same point!). Simple solution; use map offsets to put them all side by side. Use map connection arrows to show what connects to what.
That's all good, but they find the default connection arrow hard to see.
I can redefine l_mapconnection to create my own arrows. Great!
But here's the challenge; they want us to show the difference between an unimportant connection, and a major "follow this route" connection. Eg.
minor ones in grey, major route in red.
I have tried everything I can think of with the mapconnection point: id, scale, rotation, -attr etc., but Therion is not creating a p_mapconnection. it creates a l_mapconnection, and passes it a path to create the line. The attributes are all completely ignored.
Normally, I would use "-attr type major", but that cannot work here, because Therion just ignores it. In my opinion, this is a limitation that should be fixed.
The only solution I can think of, is to put *two* mapconnection points.
The l_mapconnection code can then see if the current path matches the previous path, and if so, draw it in red. But this is such a horrible hack, and prone to failure in future if someone does not realise why there are two points, and why they have to follow on from each other.
Can anyone think of a better workaround?
Cheers,
Tarquin
_______________________________________________
Therion mailing list