Re: [GRASS-user] Re: [GRASS-stats] r.texture and MASK

2009-04-18 Thread Glynn Clements

Nikos Alexandris wrote:

> ---%<--
> > the MASK is supposed to prevent any program to
> > process the null part of the raster.
> ---%<--
> 
> Agus, I recall that some modules do _not_ respect the MASK. You could
> find more in grass-user ML archive. And there was a reason for that
> being so. Not sure though anymore. The dev's know that for sure :-p

MASK forces specific cells of any input raster to be null. How a
module treats null cells depends upon the module.

A few modules specifically ignore the mask:

imagery/i.rectify
ps/ps.map
raster/r.basins.fill
raster/r.buffer
raster/r.category
raster/r.compress
raster/r.describe
raster/r.li/r.li.daemon
raster/r.null
raster/r.random.cells
raster/r.random.surface
raster/r.recode
raster/r.rescale
raster/r.slope.aspect
raster/r.support
raster/r.support.stats
raster/r.surf.contour
raster/r.surf.idw
raster/r.surf.idw2
raster/r.watershed/ram
raster/r.watershed/seg

This list seems rather long to me. I can understand why e.g. r.null
ignores the mask, but other cases (e.g. r.slope.aspect) appear to be
bogus (possibly people adding hacks for their own personal use cases
then committing said hacks).

-- 
Glynn Clements 
___
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user


Re: [GRASS-user] import dxf 3d polylines

2009-04-18 Thread Nick Cahill
Did you import with the "create 3d vector" checked? I haven't used the  
v.in.dxf recently, but importing Microstation .dgn files, I'm always  
forgetting to check that box.


Cheers,

Nick Cahill



On Apr 18, 2009, at 2:08 PM, Vincent Bain wrote:


Hi list,

I need to import a dxf file containing 3d contourlines. I was  
convinced

v.in.dxf was able to do that, unfortunately, it seems it does not. My
contour lines are imported flat, ie with elevation set to 0... and no
specific field provided with altitude.

Reading the man page I see one can import 3d faces, but nothing  
about 3d

polylines.

Has anybody else dealt with this situation ? would there be an
alternative such as multiple formats transformations with tools like
Meshlab, Paraview, blender...?

Thank you,

Vincent

___
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user


___
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user


Re: [GRASS-user] Label crash

2009-04-18 Thread Glynn Clements

Adam Dershowitz, Ph.D., P.E. wrote:

> >>> And I get the following repeated a whole bunch of times:
> >>>
> >>> The process has forked and you cannot use this CoreFoundation  
> >>> functionality
> >>> safely. You MUST exec().
> >>> Break on
> >>> __THE_PROCESS_HAS_FORKED_AND_YOU_CANNOT_USE_THIS_COREFOUNDATION_FUNCTIONALITY___YOU_MUST_EXEC__
> >>>  
> >>> ()
> >>> to debug.
> >>>
> >>> The same thing happens if I use d.mon start=PNG.
> >>
> >> could fork() in
> >> lib/driver/main.c
> >> be the problem?
> >
> > Yes. It's basically a symptom of "MacOSX is sort of Unix, but not
> > quite".
> 
> Actually MacOSX is Unix and Linux is almost Unix.

Only if you adopt a very narrow definition of Unix.

Clearly, the behaviour of CoreFoundation doesn't violate any written
Unix standard, as CoreFoundation isn't mentioned in any written Unix
standard.

OTOH, the notion of a library which won't work in a daemon process was
unheard of prior to MacOSX.

> > A similar issue affects libW11 on Cygwin. There, mon.start runs the
> > driver in the background (spawnl(_P_DETACH, ...)) with argv[2] = "-",
> > which prevents it from fork()ing.
> >
> > Something similar could be done for MacOSX. However, this isn't
> > robust, as it relies upon mon.select retrying upon failure. If the
> > driver takes too long to start, mon.select will fail.
> >
> 
> This explains the problem:  
> http://developer.apple.com/technotes/tn2005/tn2083.html#SECDAEMONVSFRAMEWORKS
> 
> Although I am not sure about the solution.

It may be possible to move the initialisation into the child process
(i.e. after the fork()), however:

1. I don't know whether this will satisfy MacOSX.

It depends upon whether CoreFoundation is automatically initialised
immediately following an exec(), or if it's only initialised by
something in the driver's initialisation routine. Determining whether
it applies only to specific drivers or to all of them might shed some
light on this.

2. It will impact error reporting.

The monitor is assumed to have started successfully if the process
terminates with a zero exit code.

If LIB_Init() (and thus the driver's Graph_set() method) completes
without generating a fatal error, the driver fork()s and the parent
returns a zero exit code. If a fatal error occurs, the process
terminates with a non-zero exit code before the fork() is reached.

If LIB_Init() isn't called until after the fork(), the monitor will be
assumed to have started successfully in almost every case. Other than
LIB_Init(), about the only thing which can realistically fail prior to
the fork() is if the listening socket cannot be created.

Any problems in the driver initialisation (e.g. unable to open display
for XDRIVER) won't be apparent until the first client (usually
mon.select) tries to connect, and finds that the monitor has
terminated.

-- 
Glynn Clements 
___
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user


[GRASS-user] import dxf 3d polylines

2009-04-18 Thread Vincent Bain
Hi list,

I need to import a dxf file containing 3d contourlines. I was convinced
v.in.dxf was able to do that, unfortunately, it seems it does not. My
contour lines are imported flat, ie with elevation set to 0... and no
specific field provided with altitude.

Reading the man page I see one can import 3d faces, but nothing about 3d
polylines.

Has anybody else dealt with this situation ? would there be an
alternative such as multiple formats transformations with tools like
Meshlab, Paraview, blender...?

Thank you,

Vincent

___
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user


Re: [GRASS-user] Multiple to one question

2009-04-18 Thread Moritz Lennert

On 16/04/09 18:57, Adam Dershowitz, Ph.D., P.E. wrote:


On Apr 16, 2009, at 3:02 AM, Moritz Lennert wrote:


On 16/04/09 06:29, Adam Dershowitz, Ph.D., P.E. wrote:
I really liked the suggestion, so I tried itbut it doesn't work. 
To continue my simple example, I did  create view less2 cat,Value

from data where Value < 2; So I end up with a view, as expected. The
problem is that if I now link my map to that view, I get an error: No
attribute found for cat 1 (since the object still tries to link to 
1).  And, the same for 2 and 4.  And, I still see the points and

slashes (ie it still draws point a and puts a null value then a slash
then 1.1. So is there a way to have it not draw a symbol and not draw
"null text" when it can't find an attribute?  Since, the whole point
of what I am trying to do in this case is to eliminate certain data
with a query?


What do you mean by "eliminate" ?


Maybe you should be more precise about your objectives. Are you trying 
to display something on a map, or not ? If all your looking for is 
tables, than you don't need GRASS at all.


Hmmm, I guess I was not that clear.  Sorry, and thanks for your help and 
patients.


What I mean is that I have a map that has a bunch of sites on it, and 
values shown next to each site as a label.  In many cases there are 
multiple values shown.


What I want to do is draw a second map, where I only show sites where 
the value is greater then a certain threshold.  In other words, my first 
map has all values shown.  My second map should just show sites where 
value is, for example, greater than 2.0 (or whatever).


So what I ended up doing was copying my original map, and then linking 
my new map to a view of the original data.  But that didn't work because 
then all the sites that are below the threshold (and therefor are not in 
the view) don't have a correct value or cat, but the icons are still 
shown, and when there were multiple values in the original a slash is 
still drawn, since it seems that it is using a "null" value for the labels.







On 16/04/09 07:35, Adam Dershowitz, Ph.D., P.E. wrote:
> It seems like I should be able to edit the cats, and I tried a few

different things with v.edit, but I have not had any luck.  I tried
some things like this: v.edit map=foo tool=catdel -r where="cat > 0" 
but it gives me: ERROR: Tool catdel requires option cats Although the

above seems to work with tool=select, which I was using to test
things about before doing the delete.


As the message says, tool catdel does not work with a select, but you 
have to give it a list of cats. You can do that with something like this:


v.edit map=foo tool=catdel cats=`v.db.select -c foo col=cat where=XYZ 
| awk '{printf"%i,",$1} END{print}'`

(note the back ticks)


I ended up doing something pretty similar to this last night, although I 
ended up using environmental variables to store the select results.  And 
it accomplished half of what I need.  The problem is that all sites are 
still shown, even if they no no longer have any values, in the cases 
where the edit has eliminated all of them.  So if a vector point had a 
value of 1.0, it is still drawn.


If I follow the above with:
v.edit map=foo tool=delete -r where="cat > 0" then it also eliminates 
the sites that no longer have any categories.  So I guess I have things 
working, but it feels like a kluge, and there should be a cleaner solution.






I copied my original vectors, and created the view.  Now what I want
to do is to delete all the categories in this vector that point to
null. Is there a way to do that?


Why do you want to do that ? If I understood you correctly, all of 
these cats have a meaning. Maybe not in the currently linked view, but 
in the original table. So if you delete these cats, you will lose the 
link to the values in the original table.


Again, I think we need a better explanation of what it is you are 
trying to get at.


Moritz



Here is a bigger picture explanation.

A bunch of samples were taken at different locations and different 
times.  I want to be able to generate a few different maps:

1)  Show all sampling locations (that one is easy and already done).
2)  Show all sample locations, and values, where value is > 2.0, for 
example.  In other words, if the value at a location is below 2.0 then 
don't display the value, and if all the values at that location are 
below 2.0 don't even display the icon for the location.
Essentially what I am trying to do is to put a red dot where ever the I 
had a measurement above 2.0, and also list those values by the red dot.


So far I have not been able to get the above using views and linking to 
those views, because GRASS still "knows" about the points that are below 
2.0 and tries to display them even if they are not in the view and 
treats them as null values, rather then as values to be ignored.


So far the solution that seems to work is:
1)  Create my master map showing all locations and values.
2)  Make a cop

Re: [GRASS-user] m.eigensystem segfaults under Jaunty (beta)

2009-04-18 Thread Nikos Alexandris

Nikos:
> > I have recompiled latest grass6_devel using the
> > configuration copy-pasted in [2].
> 
> >  [2] CFLAGS="-g -Wall -O0" LDFLAGS="-s" ./configure \

Hamish: 
> LDFLAGS="-s" strips out the debugging messages from the final
> code to make smaller binaries. Not wanted here.

> also you can proably just leave out -O0.

Both removed [1]. Recompiling now... 

> > --enable-debug \
> 
> I don't see anything about that listed in 
>   ./configure --help | less
> so I don't think it actually does anything.

Hmmm... right. There is no description of it.
Probably "-g" and "--enable-debugging" are doing the same job (!?).
Maybe add that piece of info in grass-source/doc/debugging.txt?

...

I also tried without "-Wall". Again the same results (!?).

Cheers, Nikos
---

[1] CFLAGS="-g -Wall" ./configure \
--enable-64bit \
--with-libs=/usr/lib64 \
--with-cxx \
--with-freetype=yes \
--with-freetype-includes="/usr/include/freetype2/" \
--with-postgres=no \
--with-sqlite=yes \
--enable-largefile=yes \
--with-tcltk-includes="/usr/include/tcl8.4/" \
--with-freetype-includes=/usr/include/freetype2 \
--with-opengl-libs=/usr/include/GL \
--with-readline \
--with-python=yes \
--with-proj-share=/usr/local/share/proj/ \
--with-wxwidgets \
--with-cairo
# "Enter<-" to configure

[...]

GRASS is now configured for:  x86_64-unknown-linux-gnu

  Source directory:/geo/osgeo/src/grass6_devel
  Build directory: /geo/osgeo/src/grass6_devel
  Installation directory:  ${prefix}/grass-6.5.svn
  Startup script in directory: ${exec_prefix}/bin
  C compiler:  gcc -g -Wall 
  C++ compiler:c++ -g -O2
  Building shared libraries:   yes
  64bit support:   yes
  OpenGL platform: X11
[...]

___
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user


[GRASS-user] Re: [GRASS-stats] r.texture and MASK

2009-04-18 Thread Nikos Alexandris
[cc-ing to grass-user]

Agustin:

---%<--
> the MASK is supposed to prevent any program to
> process the null part of the raster.
---%<--

Agus, I recall that some modules do _not_ respect the MASK. You could
find more in grass-user ML archive. And there was a reason for that
being so. Not sure though anymore. The dev's know that for sure :-p

___
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user


Re: [GRASS-user] m.eigensystem segfaults under Jaunty (beta)

2009-04-18 Thread Nikos Alexandris

Nikos:
> > m.eigensystem, compiled against latest grass6_dev _AND_
> > grass-6.4.0RC4 source code, segfaults under Ubuntu-J 64-bit
> > Beta.
> > 
> > It works fine with Ubuntu Intrepid! So, something in Jaunty
> > doesn't like m.eigensystem (fortran code?)!


Hamish:
> > > > any chance of debugging? (gdb, etc)
> > > > how far does it get?


Hamish:
> perhaps you could compile into the fortran code some informative
> hints, e.g. put scatter some of these before and after reading
> the input values, etc:
> 
> 8<
>PRINT *,"Made it past normalizing the data"
> 8<

> (you have recompiled everything from scratch since the upgrade,
> right? ie you don't have any binaries trying to access library
> adresses which have since changed)

OK, maybe I'll try that also. Yes, everything from scratch -- not a
single binary... 

...wait, there is FWTools. but this shouldn't have any influence in
grass' source code compilation, right?

Nikos

___
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user