Re: [Therion] example data-georeferencing
Dan Similarly to Martin I do all my image overlays (topo image, aerial photo, geology, contours, property boundaries, map gridlines etc) in a standalone GIS package, then use the result as jpg surface overlay in Therion. Therion can then regurgitate it all with the cave included as a stand alone image, or you can produce geo-referenced cave shapefiles from Therion that will snap straight into your GIS project without ever having to load the image into Therion in the first place. Which is the best way depends on what you want to do ultimately, and which application you feel most comfortable using. If you need a more detailed example than Martin has provided I can pull together a cut down example in due course. I appreciate that the hardest bit is knowing how to organise the Therion data. After 3 years I am still having new insights and have no idea if I am doing it well. Bruce
On 16.9.2010, at 7:07, Bruce wrote:
After 3 years I am still having new insights and have no idea if I am doing it well.
Bruce, when authors of Therion created it nobody nor MartinB and Stacho could imagine what they did. Therion means in ancient Greek something as big wild beast and they did not suspect what they runned out. ;o) The users as you just explore another unexplored parts of therion's den for rest of us. Thanks! m.
Bruce (or anyone else) Thanks for the examples of code you have put on the wiki, it is helping me lots with my first play at altering the code. I have moved onto playing with the area defs. I am slowly getting my head round it, and hopefully will be able to add a novice guide to the wiki, when eventually I do. What I would like to do is change the density of the debris code, although random, it seems logical that the probability of getting more can be increased.. Same size parts but more of them. I have played with some of the numbers but not got anywhere, is it possible to change the density of the 'blocks' and for future reference the size of them? def a_debris_AMER (expr p) = T:=identity; pickup PenC; path q, qq; q = bbox p; picture tmp_pic; tmp_pic := image( for i = xpart llcorner q step u until xpart urcorner q: for j = ypart llcorner q step u until ypart urcorner q: qq := punked (((-.2u,-.2u)--(.2u,-.2u)--(.2u,.2u)--(-.2u,.2u)--cycle) randomized (u/2)) rotated uniformdeviate(360) shifted ((i,j) randomized u); if xpart (p intersectiontimes qq) < 0: thclean qq; thdraw qq; fi; endfor; endfor; ); clip tmp_pic to p; draw tmp_pic; enddef; thanks Andrew
Thanks for the feedback Andrew I have not looked at area definitions enough to understand what is really going on, although I note from the wiki and this list that others have dabbled with it over the years. Areas are on my 'far off' to do list, after points and lines and text and... A definition that allows specification of density and scale for each drawn area has been mooted, and would be quite nice. I see that according to the therion book size, l-size, r-size has been implemented for line symbols, but I have not yet tried it out, so I might be misunderstanding it's purpose. I expect that it might selectively scale the line symbology. Bruce
On 16.09.2010 09:46, Andrew Atkinson wrote: Hi!
Thanks for the examples of code you have put on the wiki, it is helping me lots with my first play at altering the code. I have moved onto playing with the area defs.
I would recommend you to check out the included symbol definitions as well, by downloading the therion source code. There in the directory /therion/mpost you find all the symbol definitions. In the a_blocks_AUT definition (in file uAUT.mp, only included since 5.3.3) you can change the values for symbol_distance and scale_factor to achieve what you want... Here's your code with two parameters, to change the distance between blocks and the scale of the blocks: def a_blocks_AMER (expr p) = T:=identity; pickup PenC; path q, qq; q = bbox p; picture tmp_pic; symbol_distance:= 1.0; scale_factor:= 1.0; tmp_pic := image( for i = xpart llcorner q step u*symbol_distance until xpart urcorner q: for j = ypart llcorner q step u*symbol_distance until ypart urcorner q: qq := punked (((-.2u,-.2u)--(.2u,-.2u)--(.2u,.2u)--(-.2u,.2u)--cycle) randomized (u/2)) scaled scale_factor rotated uniformdeviate(360) shifted ((i,j) randomized u); if xpart (p intersectiontimes qq) < 0: thclean qq; thdraw qq; fi; endfor; endfor; ); clip tmp_pic to p; draw tmp_pic; enddef; However, you have to be careful not to run into memory problems with metapost when drawing lots of small blocks. That's why the a_blocks_AUT defintion has some more code. It reduces the number of blocks which are drawn and clipped afterwards.
Andrew
Georg.
Thanks for the input, I'll start with gdalwarp and go from there....looks like ive got some work ahead of me... On Thu, Sep 16, 2010 at 3:19 AM, Martin Sluka <martinsluka@mac.com> wrote:
On 16.9.2010, at 7:07, Bruce wrote:
After 3 years I am still
having new insights and have no idea if I am doing it well.
Bruce, when authors of Therion created it nobody nor MartinB and Stacho could imagine what they did. Therion means in ancient Greek something as big wild beast and they did not suspect what they runned out. ;o)
The users as you just explore another unexplored parts of therion's den for rest of us. Thanks!
m.
_______________________________________________ Therion mailing list Therion@speleo.sk http://mailman.speleo.sk/mailman/listinfo/therion
Hi Dan, first of all you have to make the decision to use either local or global reference system. You can not mix them. As you are planning to use GIS data I would recommend to use global coordinate systems. The advantages are: - you can mix coordinates in different coordinate systems - you can choose the output coordinate system in therion - therion can calculate the magnetic declination (if you specify the date whem the readings were done) What you need to do is: - you need a rectangular coordinate system (ie UTM,...) (not good is for instance lat-long) - in your measurement data you have to specify the coordinate system (command "cs"): survey Fahrstuhlschachthoehle centreline date 2009.11.07 cs UTM33 fix 2.20 0275873 5287674 1833 ... - you have also to specify the coordinate system in your surface definition: surface # Deklaration des Geländemodells # coordinate system cs EPSG:31468 grid 4500500 5284700 10 10 100 100 # grid x_Minimum y_Minimum x_res y_res n_col n_row # calibrated surface texture bitmap ./dop.jpg [0 0 4500500 5284700 5000 5000 4501500 5285700] # # Height matrix 1255.32 1259.45 1262.32 ... you can also find some more information on how to build 3D models here: http://therion.speleo.sk/wiki/doku.php?id=ifl Best regards Wolfgang PS: you can also use "cs" in your thconfig file (in case to produce output in different coordinate systems) Am 16.09.2010 13:16, schrieb dan hedger:
Thanks for the input, I'll start with gdalwarp and go from there....looks like ive got some work ahead of me...
On Thu, Sep 16, 2010 at 3:19 AM, Martin Sluka <martinsluka@mac.com <mailto:martinsluka@mac.com>> wrote:
On 16.9.2010, at 7:07, Bruce wrote:
After 3 years I am still having new insights and have no idea if I am doing it well.
Bruce, when authors of Therion created it nobody nor MartinB and Stacho could imagine what they did. Therion means in ancient Greek something as big wild beast and they did not suspect what they runned out. ;o)
The users as you just explore another unexplored parts of therion's den for rest of us. Thanks!
m.
_______________________________________________ Therion mailing list Therion@speleo.sk <mailto:Therion@speleo.sk> http://mailman.speleo.sk/mailman/listinfo/therion
_______________________________________________ Therion mailing list Therion@speleo.sk http://mailman.speleo.sk/mailman/listinfo/therion
participants (6)
-
Andrew Atkinson -
Bruce -
dan hedger -
Georg Pacher -
Martin Sluka -
Wolfgang Zillig