Re: [Therion] Joining maps with the join command
The angle between two identical points. Odesláno z iPhonu 15. 4. 2019 v 19:35, Tarquin Wilton-Jones via Therion : > Sorry for dragging a thread in the wrong direction, but ... > >> That would indeed be helpful. > > > If you're looking for a nice example ... this is what happens when you > create a slope with two straight points, then accidentally add a third > point on the same position as the first one: > > " > ! angle(0,0) is taken as zero. > ...EXPR0)])-angle(thdir((path),(EXPR0 > > mod360;alw_perpendicular:=... > > l_slope->...wn.lengths[i]:lengths[i]:=-1;fi;endfor > > ;ni:=0;pi:=0;for.i=0upto.l... > l.9329 ...(1,51.7368,24.3004),(2,51.7368,24.3004)) > ; > The `angle' between two identical points is undefined. > I'm zeroing this one. Proceed, with fingers crossed. > > ... > > error -- metapost exit code -- 2 > " > > That one is really not very human readable (though I can at least see it > was a "slope" at fault). > > > Tarquin > ___ > Therion mailing list > Therion@speleo.sk > https://mailman.speleo.sk/listinfo/therion ___ Therion mailing list Therion@speleo.sk https://mailman.speleo.sk/listinfo/therion
Re: [Therion] Joining maps with the join command
Sorry for dragging a thread in the wrong direction, but ... > That would indeed be helpful. If you're looking for a nice example ... this is what happens when you create a slope with two straight points, then accidentally add a third point on the same position as the first one: " ! angle(0,0) is taken as zero. ...EXPR0)])-angle(thdir((path),(EXPR0 mod360;alw_perpendicular:=... l_slope->...wn.lengths[i]:lengths[i]:=-1;fi;endfor ;ni:=0;pi:=0;for.i=0upto.l... l.9329 ...(1,51.7368,24.3004),(2,51.7368,24.3004)) ; The `angle' between two identical points is undefined. I'm zeroing this one. Proceed, with fingers crossed. ... error -- metapost exit code -- 2 " That one is really not very human readable (though I can at least see it was a "slope" at fault). Tarquin ___ Therion mailing list Therion@speleo.sk https://mailman.speleo.sk/listinfo/therion
Re: [Therion] Joining maps with the join command
That would indeed be helpful. > Am 15.04.2019 um 08:43 schrieb Martin Sluka via Therion : > > > >> 14. 4. 2019 v 21:15, Tarquin Wilton-Jones via Therion : >> >> I do wish these error messages were a little more informative, pointing >> out where you made a mistake, but I am so glad it was something so >> simple. Does it actually not know what the problem is? Rather than >> saying "you put it in the wrong place" it says "the map item is not >> valid", which makes me assume a syntax error rather than a command >> hierarchy error. >> >> (My favourite error is the one where I forget to click on some survey >> stations when defining a scrap, and it tells me "this map is too large, >> and you need to pick a smaller scale". Or the one where I click on a >> station that was already defined in another scrap, and it fails to put >> the right -name in the options - or it just picks the "next" station >> number which was not the right one. Same error message. Or some random >> code dumps about it failing to find the largest coordinate when closing >> lines. These messages are ... "fun".) > > It looks there should be new section on wiki: Interpretation of error > messages, I think. > > Martin > ___ > Therion mailing list > Therion@speleo.sk > https://mailman.speleo.sk/listinfo/therion ___ Therion mailing list Therion@speleo.sk https://mailman.speleo.sk/listinfo/therion
Re: [Therion] Joining maps with the join command
> 14. 4. 2019 v 21:15, Tarquin Wilton-Jones via Therion : > > I do wish these error messages were a little more informative, pointing > out where you made a mistake, but I am so glad it was something so > simple. Does it actually not know what the problem is? Rather than > saying "you put it in the wrong place" it says "the map item is not > valid", which makes me assume a syntax error rather than a command > hierarchy error. > > (My favourite error is the one where I forget to click on some survey > stations when defining a scrap, and it tells me "this map is too large, > and you need to pick a smaller scale". Or the one where I click on a > station that was already defined in another scrap, and it fails to put > the right -name in the options - or it just picks the "next" station > number which was not the right one. Same error message. Or some random > code dumps about it failing to find the largest coordinate when closing > lines. These messages are ... "fun".) It looks there should be new section on wiki: Interpretation of error messages, I think. Martin___ Therion mailing list Therion@speleo.sk https://mailman.speleo.sk/listinfo/therion
Re: [Therion] Joining maps with the join command
Hi Bruce, > But looking at your original post, I think maybe you have a join inside > a map definition. Oh my goodness. Nail on the head, sir! I owe you one. My command was already correct (after Benedikt explained that scraps do not belong to a map, and to reference the scrap as a child of its survey), I just put it in the wrong place. Failed to recognise the context options for the command. For anyone else who finds this thread while looking for help, this is a summary: Both the line/point IDs and the scrap IDs can be referenced within the survey where they are created/imported. You can either tell it to automatically connect the best fitting points of the scraps (with the optional -count parameter to tell it how many passage ends join with the other scraps). Or you can manually select each linepoint in one scrap that should connect with which linepoint in another scrap. cave1.th: survey cave1 input "cave1 plan.th2" input "cave1 ee.th2" map cave1MP scrap1 scrap2 endmap centreline ... endcentreline endsurvey cave2.th: survey cave2 input "cave2 plan.th2" input "cave2 ee.th2" map cave2MP scrapa scrapb endmap centreline ... endcentreline endsurvey Then I have an overall file which combines the maps called allcaves.th: survey allcaves input "cave1.th" input "cave2.th" map allcavesMP cave1MP@cave1 cave2MP@cave2 endmap #either join scrap1@cave1 scrapb@cave2 -smooth on -count 1 #or join line1@cave1:end line3@cave2:0 -smooth on join line2@cave1:0 line4@cave2:end -smooth on centreline ... endcentreline endsurvey Another survey that uses "input allcaves" could also use one of these to reference the scrap or linepoint within the child "allcaves" survey: scrap1@cave1.allcaves line1@cave1.allcaves:end I do wish these error messages were a little more informative, pointing out where you made a mistake, but I am so glad it was something so simple. Does it actually not know what the problem is? Rather than saying "you put it in the wrong place" it says "the map item is not valid", which makes me assume a syntax error rather than a command hierarchy error. (My favourite error is the one where I forget to click on some survey stations when defining a scrap, and it tells me "this map is too large, and you need to pick a smaller scale". Or the one where I click on a station that was already defined in another scrap, and it fails to put the right -name in the options - or it just picks the "next" station number which was not the right one. Same error message. Or some random code dumps about it failing to find the largest coordinate when closing lines. These messages are ... "fun".) Many thanks to you all for the advice (and to Martin for offering to help debug). It seems that I have it working well enough now. Cheers! Tarquin ___ Therion mailing list Therion@speleo.sk https://mailman.speleo.sk/listinfo/therion
Re: [Therion] Joining maps with the join command
>Sadly the only error message I see is "invalid map item" Common mistakes I have made; * Forgetting to have an 'endmap' statement * Mixing scraps and maps within the same map definition * Missing a dash at the start of an option such as ‘-title’ * Forgetting one of more “ surrounding a string (such as in -title “map title string”) But looking at your original post, I think maybe you have a join inside a map definition. Joins should be inside the survey, not inside the map. Brue ___ Therion mailing list Therion@speleo.sk https://mailman.speleo.sk/listinfo/therion
Re: [Therion] Joining maps with the join command
Tarquin, may you share your data? Martin Odesláno z iPhonu 14. 4. 2019 v 9:32, Tarquin Wilton-Jones via Therion : > Hi all, > > Thanks for that impressive load of answers, > >> First of all you should input cave1.th and cave2.th to your survey caveaall! >> Therion must know the way to data. > > > Ah yes, in my example I was simplifying to keep only the most important > lines visible and keep the question simple. That is one thing I should > have kept in :) > > My real data does of course have the imports. > >> join GreenlinkUSumpsPlan_s2@Greenlink GreenlinkFPlan_s1@MiddleEarth >> -smooth on > > > OK ... so that syntax does in fact exist. I had not expected it to be > valid (double @ symbol). I see Henry's example is using that same approach. > >>join jpwall04@SwissM:end GUSwall02@Greenlink:end > > > I thought this is what I had used, but it failed. So I assume I have > done something else wrong somewhere. Sadly the only error message I see > is "invalid map item", which made me assume I was using the wrong > approach. It's not a particularly helpful error message, since it > doesn't tell me either the name it doesn't like, or the property that it > doesn't like. Certainly don't want to complain about such an incredible > piece of software, but imagine how nice it would be to see this: > "invalid map item: jpwall04@SwissM:*end*" ("end" is in bold/red) > > With such highlighting, I would quickly be able to see that the initial > scrap reference is good, and the line reference is good, but the > linepoint is wrong. Oh well, this is probably not the best place for a > feature request. > >> Although looking at it now, with the benefit of 10 more years of >> experience, I wonder if I could have used a simpler scrap to scrap join, >> with the -count 3 option. [Refer to the description of join on page >> 40-41 of The Therion Book]. > > > Yes, I had wondered how to join mine in a place where there are some > oxbowing avens (the caves join vertically through a series of holes, > only the main one of which is surveyed with true legs), without using > walls. It seems -count is indeed my answer! Very nice, thanks. > > So now back to wondering what it doesn't like about my (apparently > valid) join. > > Cheers all! > > Tarquin > ___ > Therion mailing list > Therion@speleo.sk > https://mailman.speleo.sk/listinfo/therion ___ Therion mailing list Therion@speleo.sk https://mailman.speleo.sk/listinfo/therion
Re: [Therion] Joining maps with the join command
Hi all, Thanks for that impressive load of answers, > First of all you should input cave1.th and cave2.th to your survey caveaall! > Therion must know the way to data. Ah yes, in my example I was simplifying to keep only the most important lines visible and keep the question simple. That is one thing I should have kept in :) My real data does of course have the imports. > join GreenlinkUSumpsPlan_s2@Greenlink GreenlinkFPlan_s1@MiddleEarth > -smooth on OK ... so that syntax does in fact exist. I had not expected it to be valid (double @ symbol). I see Henry's example is using that same approach. > join jpwall04@SwissM:end GUSwall02@Greenlink:end I thought this is what I had used, but it failed. So I assume I have done something else wrong somewhere. Sadly the only error message I see is "invalid map item", which made me assume I was using the wrong approach. It's not a particularly helpful error message, since it doesn't tell me either the name it doesn't like, or the property that it doesn't like. Certainly don't want to complain about such an incredible piece of software, but imagine how nice it would be to see this: "invalid map item: jpwall04@SwissM:*end*" ("end" is in bold/red) With such highlighting, I would quickly be able to see that the initial scrap reference is good, and the line reference is good, but the linepoint is wrong. Oh well, this is probably not the best place for a feature request. > Although looking at it now, with the benefit of 10 more years of > experience, I wonder if I could have used a simpler scrap to scrap join, > with the -count 3 option. [Refer to the description of join on page > 40-41 of The Therion Book]. Yes, I had wondered how to join mine in a place where there are some oxbowing avens (the caves join vertically through a series of holes, only the main one of which is surveyed with true legs), without using walls. It seems -count is indeed my answer! Very nice, thanks. So now back to wondering what it doesn't like about my (apparently valid) join. Cheers all! Tarquin ___ Therion mailing list Therion@speleo.sk https://mailman.speleo.sk/listinfo/therion
Re: [Therion] Joining maps with the join command
Tarquin As Benedikt mentioned, scraps are joined, not maps. If you join scraps, the maps that use those scraps will automatically show the join, so the maps themselves are not relevant to the joining process. I have an example of a three cave system that we surveyed and subsequently joined in 2007-2008. The highlighted words are the names of the respective cave surveys. For one of the joins, we could use a simple (and recommended) scrap to scrap join, using scrap_ids; join GreenlinkUSumpsPlan_s2@Greenlink GreenlinkFPlan_s1@MiddleEarth -smooth on For the other pair of caves, I have lots of lines within each scrap that crossed from one to the other, so I had to use the more complicated line by line joining, that you seem to be trying to follow, using line_ids; join jpwall04@SwissM:end GUSwall02@Greenlink:end join jpwall03@SwissM:00 GUSwall01@Greenlink:0 join jpwall06@SwissM:end GUSwall03@Greenlink:0 join jpwall07@SwissM:end GUSwall04@Greenlink:end join uwall04@SwissM:0 swall02@Greenlink:end join secondwall01@SwissM:0 swall05@Greenlink:end Although looking at it now, with the benefit of 10 more years of experience, I wonder if I could have used a simpler scrap to scrap join, with the -count 3 option. [Refer to the description of join on page 40-41 of The Therion Book]. Depending on the details of your data structure, there may need to be subtle differences in the way you reference the scraps, but looking at your description below, I think the style of scrap referencing I have used should work for you (probably). If it does not, you could try removing the (highlighted) cave survey names. Bruce -Original Message- From: Therion On Behalf Of Tarquin Wilton-Jones via Therion Sent: Sunday, 14 April 2019 05:32 To: therion@speleo.sk Cc: Tarquin Wilton-Jones Subject: [Therion] Joining maps with the join command Hi, I am currently learning how to use Therion to draw up a detailed survey. My survey is split into several "caves", each of which has its own .th and .th2 file. In the .th file for each cave is a separate "map", so that the cave can be rendered separately. cave1.th: survey cave1 input "cave1 plan.th2" input "cave1 ee.th2" map cave1MP scrap1 scrap2 endmap centreline ... endcentreline endsurvey cave2.th: survey cave2 input "cave2 plan.th2" input "cave2 ee.th2" map cave2MP scrapa scrapb endmap centreline ... endcentreline endsurvey Then I have an overall file which combines the maps called allcaves.th: survey allcaves map allcavesMP cave1MP@cave1 cave2MP@cave2 join endmap centreline ... endcentreline endsurvey Imagine the two caves join in scrap1 (id "foo":0) and scrapb (id "bar":end), and I want to use a join command to make the scraps join neatly (I have already positioned the passage ends very close to each other). Could you please tell me the syntax needed to make the join command reference the correct points of the correct lines inside the correct scraps inside the correct maps? Every example of the "join" command I could find assumes you were trying to join scraps inside the same map, and did not show how to reference items in a sub-map. As a result, I have not been able to work out how to construct a valid join command for this situation. Many thanks for any information you can provide. Tarquin ___ Therion mailing list <mailto:Therion@speleo.sk> Therion@speleo.sk <https://mailman.speleo.sk/listinfo/therion> https://mailman.speleo.sk/listinfo/therion ___ Therion mailing list Therion@speleo.sk https://mailman.speleo.sk/listinfo/therion
Re: [Therion] Joining maps with the join command
There could be equate 1@cave1 1@cave2 too. Each survey is its unique namespace. Martin Odesláno z iPhonu 14. 4. 2019 v 8:21, Henry.Bennett--- via Therion : > In your allcaves.th > >centreline >equate 2@first 1@second >endcentreline > > Henry > > -Original Message- > From: Therion On Behalf Of Tarquin Wilton-Jones > via Therion > Sent: 13 April 2019 18:32 > To: therion@speleo.sk > Cc: Tarquin Wilton-Jones > Subject: [Therion] Joining maps with the join command > > > [EXTERNAL EMAIL] > > Hi, > > I am currently learning how to use Therion to draw up a detailed survey. > > My survey is split into several "caves", each of which has its own .th and > .th2 file. In the .th file for each cave is a separate "map", so that the > cave can be rendered separately. > > cave1.th: > survey cave1 > input "cave1 plan.th2" > input "cave1 ee.th2" > map cave1MP > scrap1 > scrap2 > endmap > centreline > ... > endcentreline > endsurvey > > cave2.th: > survey cave2 > input "cave2 plan.th2" > input "cave2 ee.th2" > map cave2MP > scrapa > scrapb > endmap > centreline > ... > endcentreline > endsurvey > > Then I have an overall file which combines the maps called allcaves.th: > survey allcaves > map allcavesMP > cave1MP@cave1 > cave2MP@cave2 > join > endmap > centreline > ... > endcentreline > endsurvey > > Imagine the two caves join in scrap1 (id "foo":0) and scrapb (id "bar":end), > and I want to use a join command to make the scraps join neatly (I have > already positioned the passage ends very close to each other). Could you > please tell me the syntax needed to make the join command reference the > correct points of the correct lines inside the correct scraps inside the > correct maps? > > Every example of the "join" command I could find assumes you were trying to > join scraps inside the same map, and did not show how to reference items in a > sub-map. As a result, I have not been able to work out how to construct a > valid join command for this situation. > > Many thanks for any information you can provide. > > Tarquin > ___ > Therion mailing list > Therion@speleo.sk > https://mailman.speleo.sk/listinfo/therion > Dell Corporation Limited is registered in England and Wales. Company > Registration Number: 2081369 > Registered address: Dell House, The Boulevard, Cain Road, Bracknell, > Berkshire, RG12 1LF, UK. > Company details for other Dell UK entities can be found on www.dell.co.uk. > ___ > Therion mailing list > Therion@speleo.sk > https://mailman.speleo.sk/listinfo/therion ___ Therion mailing list Therion@speleo.sk https://mailman.speleo.sk/listinfo/therion
Re: [Therion] Joining maps with the join command
In your allcaves.th centreline equate 2@first 1@second endcentreline Henry -Original Message- From: Therion On Behalf Of Tarquin Wilton-Jones via Therion Sent: 13 April 2019 18:32 To: therion@speleo.sk Cc: Tarquin Wilton-Jones Subject: [Therion] Joining maps with the join command [EXTERNAL EMAIL] Hi, I am currently learning how to use Therion to draw up a detailed survey. My survey is split into several "caves", each of which has its own .th and .th2 file. In the .th file for each cave is a separate "map", so that the cave can be rendered separately. cave1.th: survey cave1 input "cave1 plan.th2" input "cave1 ee.th2" map cave1MP scrap1 scrap2 endmap centreline ... endcentreline endsurvey cave2.th: survey cave2 input "cave2 plan.th2" input "cave2 ee.th2" map cave2MP scrapa scrapb endmap centreline ... endcentreline endsurvey Then I have an overall file which combines the maps called allcaves.th: survey allcaves map allcavesMP cave1MP@cave1 cave2MP@cave2 join endmap centreline ... endcentreline endsurvey Imagine the two caves join in scrap1 (id "foo":0) and scrapb (id "bar":end), and I want to use a join command to make the scraps join neatly (I have already positioned the passage ends very close to each other). Could you please tell me the syntax needed to make the join command reference the correct points of the correct lines inside the correct scraps inside the correct maps? Every example of the "join" command I could find assumes you were trying to join scraps inside the same map, and did not show how to reference items in a sub-map. As a result, I have not been able to work out how to construct a valid join command for this situation. Many thanks for any information you can provide. Tarquin ___ Therion mailing list Therion@speleo.sk https://mailman.speleo.sk/listinfo/therion Dell Corporation Limited is registered in England and Wales. Company Registration Number: 2081369 Registered address: Dell House, The Boulevard, Cain Road, Bracknell, Berkshire, RG12 1LF, UK. Company details for other Dell UK entities can be found on www.dell.co.uk. ___ Therion mailing list Therion@speleo.sk https://mailman.speleo.sk/listinfo/therion
Re: [Therion] Joining maps with the join command
First of all you should input cave1.th and cave2.th to your survey caveaall! Therion must know the way to data. Martin Odesláno z iPhonu 13. 4. 2019 v 20:24, Tarquin Wilton-Jones via Therion : > Hi Benedikt, > > Many thanks for that speedy reply. > >> you can join scraps but not maps. Scraps are not tied to maps in any way, >> maps are just „collections“ of scraps. Scraps however are part of a survey. >> So what you want is achieved by adding join commands on scraps of subsurveys >> in your overall index th file allcaves. You can reference those scraps like >> this: „join scrap1@cave1 scrapb@cave2“ > > > That would explain why I couldn't find the syntax... > > So in allcaves.th, using your line, how would I combine that with the > line id and linepoint index, so that it knows exactly which line point > to join to which other linepoint? > > In my original question, these were foo:0 and bar:end > > I found examples like this: > join line1@branch1:0 line2:end > but this doesn't then show how to combine that with your join command. > > Cheers! > > Tarquin > ___ > Therion mailing list > Therion@speleo.sk > https://mailman.speleo.sk/listinfo/therion ___ Therion mailing list Therion@speleo.sk https://mailman.speleo.sk/listinfo/therion
Re: [Therion] Joining maps with the join command
Hi Benedikt, Many thanks for that speedy reply. > you can join scraps but not maps. Scraps are not tied to maps in any way, > maps are just „collections“ of scraps. Scraps however are part of a survey. > So what you want is achieved by adding join commands on scraps of subsurveys > in your overall index th file allcaves. You can reference those scraps like > this: „join scrap1@cave1 scrapb@cave2“ That would explain why I couldn't find the syntax... So in allcaves.th, using your line, how would I combine that with the line id and linepoint index, so that it knows exactly which line point to join to which other linepoint? In my original question, these were foo:0 and bar:end I found examples like this: join line1@branch1:0 line2:end but this doesn't then show how to combine that with your join command. Cheers! Tarquin ___ Therion mailing list Therion@speleo.sk https://mailman.speleo.sk/listinfo/therion
[Therion] Joining maps with the join command
Hi, I am currently learning how to use Therion to draw up a detailed survey. My survey is split into several "caves", each of which has its own .th and .th2 file. In the .th file for each cave is a separate "map", so that the cave can be rendered separately. cave1.th: survey cave1 input "cave1 plan.th2" input "cave1 ee.th2" map cave1MP scrap1 scrap2 endmap centreline ... endcentreline endsurvey cave2.th: survey cave2 input "cave2 plan.th2" input "cave2 ee.th2" map cave2MP scrapa scrapb endmap centreline ... endcentreline endsurvey Then I have an overall file which combines the maps called allcaves.th: survey allcaves map allcavesMP cave1MP@cave1 cave2MP@cave2 join endmap centreline ... endcentreline endsurvey Imagine the two caves join in scrap1 (id "foo":0) and scrapb (id "bar":end), and I want to use a join command to make the scraps join neatly (I have already positioned the passage ends very close to each other). Could you please tell me the syntax needed to make the join command reference the correct points of the correct lines inside the correct scraps inside the correct maps? Every example of the "join" command I could find assumes you were trying to join scraps inside the same map, and did not show how to reference items in a sub-map. As a result, I have not been able to work out how to construct a valid join command for this situation. Many thanks for any information you can provide. Tarquin ___ Therion mailing list Therion@speleo.sk https://mailman.speleo.sk/listinfo/therion