Hiding centreline within a scrap, while showing it for surveys
Hi folks, I know this must be a common desire, but I can't seem to find it on the wiki or Therion book. map foo bar@baz #a map containing scraps qux #a survey endmap This will show the scraps within bar@baz, and the centreline for qux. All good. I want to hide the centreline within bar@baz, since it has passage walls, and no need to show a centreline. But I need to continue showing the centreline for qux, since it has no passage wall data, only the centreline. I am sure I have seen this on John's surveys, but I can't seem to work out how to do it (all I can see is a mail from Stacho in 2007 asking for clarification whether someone actually wanted that functionality). Is there a way?
On 7. Dec 2019, at 09:53, Tarquin Wilton-Jones via Therion <therion@speleo.sk> wrote:
I want to hide the centreline within bar@baz,
So qux has data for bar@baz? I generally have one piece of centerline per scrap and include only the centerline data when there’s no scrap. —max
So qux has data for bar@baz?
No. Qux is a separate part of the cave for which I have only centreline data. bar@baz is a map for a part where I have complete data, and I have drawn all the scraps.
I generally have one piece of centerline per scrap and include only the centerline data when there’s no scrap.
Yep, that's how I would do it. By way of demo, I have attached a simple file. This is *not* how I actually arrange my data files, this is just a demo, so you can see that the data is arranged into 2 subsurveys. One of those subsurveys has scraps, the other has only centreline. I want my PDF to show the scraps from the "mainpart" subsurvey but *not* the centreline/stations within it, and I want it to show the centreline for secondpart, since it has no scraps, and I have only a centreline to show.
Tarquin I achieve my version of what you describe all the time, but I think my standards are lower than yours. :-) So I don’t expect this will satisfactorily achieve what you are after. I have played with your example just a little, adding some splays to help illustrate. You can see that the splays in the survey with scraps are not exported to the pdf (because the splays are part of the survey, and the survey is not included in the map definition). The splays are however exported where the survey ‘secondpart’ is included in the map definition ‘everything’. For me, this achieves the spirit of what you are after, as the undrawn survey has a prominent centreline and splays, and the drawn map has just stations and stubs of centreline. If you want to hide ‘most’ of the stations (for both survey and scraps) then you can do something like this in your layout: symbol-hide group cave-centreline #1. hides all centrelines, incl station-names - clears the canvas symbol-show point cave-station #2. set up for identifying cave-stations to show/hide symbol-show point station:fixed #3. actually show/hide (cave-)stations of mark ... symbol-show point station:painted #3. symbol-show point station:natural #3. symbol-hide point station:temporary #3. # #then could carry on to specify surface... # # symbol-show group surface-centreline Here is an example from something I have been working on recently. All the temporary stations are hidden, and the fixed and natural stations are shown. The splays are shown only for the survey that is explicitly included in the map. The reason the centreline is so prominent in the scrap drawings is because I have customised my line centreline to be that way. Otherwise it would be like the images above. When all surveys are drawn and the map is prepared for presentation, I just remove the surveys from the map definitions and hide the centreline. Bruce -----Original Message----- From: Therion <therion-bounces@speleo.sk> On Behalf Of Tarquin Wilton-Jones via Therion Sent: Saturday, 7 December 2019 21:54 To: Therion <therion@speleo.sk> Cc: Tarquin Wilton-Jones <tarquin.wilton-jones@ntlworld.com> Subject: [Therion] Hiding centreline within a scrap, while showing it for surveys Hi folks, I know this must be a common desire, but I can't seem to find it on the wiki or Therion book. map foo bar@baz #a map containing scraps qux #a survey endmap This will show the scraps within bar@baz, and the centreline for qux. All good. I want to hide the centreline within bar@baz, since it has passage walls, and no need to show a centreline. But I need to continue showing the centreline for qux, since it has no passage wall data, only the centreline. I am sure I have seen this on John's surveys, but I can't seem to work out how to do it (all I can see is a mail from Stacho in 2007 asking for clarification whether someone actually wanted that functionality). Is there a way? _______________________________________________ Therion mailing list <mailto:Therion@speleo.sk> Therion@speleo.sk <https://mailman.speleo.sk/listinfo/therion> https://mailman.speleo.sk/listinfo/therion
I achieve my version of what you describe all the time, but I think my standards are lower than yours. :-)
Your standards are excellent, you have provided the answer! Do it in MetaPost: layout externalcentreline code metapost def l_survey_cave_MY(expr P) = if known ATTR__scrap: if ATTR__scrap = "": l_survey_cave_SKBB(P); fi; else: l_survey_cave_SKBB(P); fi; enddef; endcode symbol-assign line survey:cave MY symbol-hide point station endlayout Wherever this sees centreline, it checks "Is this inside a scrap?". If so, it does nothing. If not, it draws the centreline. Similar tricks work for surface (l_survey_surface), or stations (if you actually want to render stations for some reason). Many thanks for pointing me in the right direction :) Tarquin
participants (3)
-
Bruce Mutton -
MD -
Tarquin Wilton-Jones