I have a multitude of DEMs to generate at 1m resolution. Are there
any references that compare v.surf.idw and v.surf.bspline? Any advice
or experience with either of these two modules would be helpful.
Which one of these modules creates the most accurate representation of
the surface. This will be with NC data- in fact the same 2001 data
that is included in the new GRASS dataset. I am working on a project
in NC if this helps. Thank you for all of your help, and I will
provide any information that you may need. Also, if I use
v.surf.bspline is the 1.5*point average point spacing still the rule
of thumb (the point spacing is found with running v.surf.bspline with
the -e flag?). Thank you so much for all of your help.
--
Stephen Sefick
____________________________________
| Auburn University |
| Department of Biological Sciences |
| 331 Funchess Hall |
| Auburn, Alabama |
| 36849 |
|___________________________________|
| sas0025@auburn.edu |
| http://www.auburn.edu/~sas0025 |
|___________________________________|
Let's not spend our time and resources thinking about things that are
so little or so large that all they really do for us is puff us up and
make us feel like gods. We are mammals, and have not exhausted the
annoying little problems of being mammals.
\-K\. Mullis
"A big computer, a complex algorithm and a long time does not equal science."
v.surf.rst is also an option. Is there any experience with this.
My Computer specs:
Intel Quad Core 2.x ghz with 6gb ram
ubuntu 10.04.1
GRASS 6.4 (svn up yesterday)
Thanks again for all of the help.
--
Stephen Sefick
____________________________________
| Auburn University |
| Department of Biological Sciences |
| 331 Funchess Hall |
| Auburn, Alabama |
| 36849 |
|___________________________________|
| sas0025@auburn.edu |
| http://www.auburn.edu/~sas0025 |
|___________________________________|
Let's not spend our time and resources thinking about things that are
so little or so large that all they really do for us is puff us up and
make us feel like gods. We are mammals, and have not exhausted the
annoying little problems of being mammals.
\-K\. Mullis
"A big computer, a complex algorithm and a long time does not equal science."
I have a multitude of DEMs to generate at 1m resolution. Are there
any references that compare v.surf.idw and v.surf.bspline?
You might want to look at Bater and Coops (2009), they compared the
performance of several different interpolation methods on lidar data. The
short version is that for their data IDW and regularized spline
interpolation produced the most extreme outliers while natural neighbor
interpolation performed the best. In GRASS natural neighbor interpolation
can be performed with the r.surf.nnbathy add-on.
I hope this helps.
Bater, C. W. & Coops, N. C. Evaluating error associated with lidar-derived
DEM interpolation. Computers & Geosciences, 2009, v. 35, p.289-300
DOI: 10.1016/j.cageo.2008.09.001
some other options there, e.g. v.surf.rst or r.in.xyz+r.surf.nnbathy.
Any advice or experience with either of these two modules would be
helpful. Which one of these modules creates the most accurate
representation of the surface.
I think it really depends on what you want to do with the DEM. Some methods
are better for hydrologic analysis, others for slope analysis, but fail
at sharp changes like the bottom of cliffs, others will chop off mountain
peaks, etc.
it would be nice to have something like that for point input as well.
see also v.surf.rst's cross-validation procedure.
FWIW v.surf.bspline was written with LIDAR in mind.
This will be with NC data- in fact the same 2001 data that is included
in the new GRASS dataset. I am working on a project in NC if this
helps.
You might talk to Doug Newcomb, I believe he's already processed the
entire state.
Thank you for all of your help, and I will provide any information that
you may need. Also, if I use v.surf.bspline is the 1.5*point average
point spacing still the rule of thumb (the point spacing is found with
running v.surf.bspline with the -e flag?).
I have a multitude of DEMs to generate at 1m resolution. Are there
any references that compare v.surf.idw and v.surf.bspline? Any advice
or experience with either of these two modules would be helpful.
Which one of these modules creates the most accurate representation of
the surface. This will be with NC data- in fact the same 2001 data
that is included in the new GRASS dataset. I am working on a project
in NC if this helps. Thank you for all of your help, and I will
provide any information that you may need. Also, if I use
v.surf.bspline is the 1.5*point average point spacing still the rule
of thumb (the point spacing is found with running v.surf.bspline with
the -e flag?).
The 1.5 * average point spacing is a useful rule of thumb as long as
the points are evenly spaced as e.g. for elev_lid792_bepts in the
North Carolina sample database. If the points are not evenly spaced,
e.g. strips with high density, but the strips are separated by a
distance larger than the average within-strip distance (e.g.
contours), then the spline step values need to be adjusted, no
established rule of thumb here.
We need a wiki page explaining the different interpolation methods...
Markus M
Thank you so much for all of your help.
--
Stephen Sefick
____________________________________
| Auburn University |
| Department of Biological Sciences |
| 331 Funchess Hall |
| Auburn, Alabama |
| 36849 |
|___________________________________|
| sas0025@auburn.edu |
| http://www.auburn.edu/~sas0025 |
|___________________________________|
Let's not spend our time and resources thinking about things that are
so little or so large that all they really do for us is puff us up and
make us feel like gods. We are mammals, and have not exhausted the
annoying little problems of being mammals.
\-K\. Mullis
"A big computer, a complex algorithm and a long time does not equal science."
Hi all,
I am trying to generate a basins map from a dem using r.stream.basins
I first cut the dem to the area I want to work on than run g.region to set the region to this map.
Then I calculated streams and streams flow directions with r.stream.extract.
In order to get stream basins I used r.stream.basins:
r.stream.basins dir=rivers_flow stream=rivers basins=basins_rivers
The output gives an error saying:
Reading maps...
Calculate basins using streams...
Finding nodes...
ERROR: Stream and direction maps probably do not match
(Mon Oct 11 11:15:28 2010) Comando terminato (0 sec
Why do they not match if I derived them with the same command and from the same dem ? Am I doing something wrong ?
Hi all,
I am trying to generate a basins map from a dem using r.stream.basins
I first cut the dem to the area I want to work on than run g.region to set
the region to this map.
Then I calculated streams and streams flow directions with r.stream.extract.
In order to get stream basins I used r.stream.basins:
r.stream.basins dir=rivers_flow stream=rivers basins=basins_rivers
The output gives an error saying:
Reading maps...
Calculate basins using streams...
Finding nodes...
ERROR: Stream and direction maps probably do not match
(Mon Oct 11 11:15:28 2010) Comando terminato (0 sec
Why do they not match if I derived them with the same command and from the
same dem ? Am I doing something wrong ?
Please provide the exact commands for each step, including cutting the
DEM and setting the region to the clipped map, also r.info on all
maps.
Hi all,
I am trying to generate a basins map from a dem using r.stream.basins
I first cut the dem to the area I want to work on than run g.region to set the region to this map.
Then I calculated streams and streams flow directions with r.stream.extract.
In order to get stream basins I used r.stream.basins:
r.stream.basins dir=rivers_flow stream=rivers basins=basins_rivers
The output gives an error saying:
Reading maps...
Calculate basins using streams...
Finding nodes...
ERROR: Stream and direction maps probably do not match
(Mon Oct 11 11:15:28 2010) Comando terminato (0 sec
Why do they not match if I derived them with the same command and from the same dem ? Am I doing something wrong ?
such errors appears when region dir map and stream map comes from different operations. Try if you are using most actual r.stream.extract and r.stream basins modules.
How much unique streams you have created with r.stream.extract?
Hi,
thanks for you message,
the modules were compiled from the add-ons about one week ago, I suppose they should be the updated version.
What do you mean by "unique streams"? If you mean the number of streams which come out from the operation, these are about 7500. Do you think is the area too large? BTW I was successful with r.watershed on the same dataset but I just wanted to test these new modules
Francesco
Jarek Jasiewicz wrote:
Francesco Mirabella pisze:
Hi all,
I am trying to generate a basins map from a dem using r.stream.basins
I first cut the dem to the area I want to work on than run g.region to set the region to this map.
Then I calculated streams and streams flow directions with r.stream.extract.
In order to get stream basins I used r.stream.basins:
r.stream.basins dir=rivers_flow stream=rivers basins=basins_rivers
The output gives an error saying:
Reading maps...
Calculate basins using streams...
Finding nodes...
ERROR: Stream and direction maps probably do not match
(Mon Oct 11 11:15:28 2010) Comando terminato (0 sec
Why do they not match if I derived them with the same command and from the same dem ? Am I doing something wrong ?
such errors appears when region dir map and stream map comes from different operations. Try if you are using most actual r.stream.extract and r.stream basins modules.
How much unique streams you have created with r.stream.extract?
W dniu 12.10.2010 09:49, Francesco Mirabella pisze:
Hi,
thanks for you message,
the modules were compiled from the add-ons about one week ago, I suppose they should be the updated version.
What do you mean by "unique streams"? If you mean the number of streams which come out from the operation, these are about 7500. Do you think is the area too large? BTW I was successful with r.watershed on the same dataset but I just wanted to test these new modules
Francesco
Jarek Jasiewicz wrote:
Francesco Mirabella pisze:
Hi all,
I am trying to generate a basins map from a dem using r.stream.basins
I first cut the dem to the area I want to work on than run g.region to set the region to this map.
Then I calculated streams and streams flow directions with r.stream.extract.
In order to get stream basins I used r.stream.basins:
r.stream.basins dir=rivers_flow stream=rivers basins=basins_rivers
The output gives an error saying:
Reading maps...
Calculate basins using streams...
Finding nodes...
ERROR: Stream and direction maps probably do not match
(Mon Oct 11 11:15:28 2010) Comando terminato (0 sec
Why do they not match if I derived them with the same command and from the same dem ? Am I doing something wrong ?
such errors appears when region dir map and stream map comes from different operations. Try if you are using most actual r.stream.extract and r.stream basins modules.
How much unique streams you have created with r.stream.extract?
This error appears when the number of possible outlets overcome the allocated memory for given raster. Memory is allocated as a sum of vertical and horizontal resolution times 2. If the number of possible outlets overcomes that values the error is throwing. In most standard network this allocation is enough and is stored as a bug-handler to avoid crashes or infinite loops if user will use maps from different sources.
If you have a 7500 streams and you have raster map grater than 2000x2000 cells it should not happen. If not I have a problem.
For future use:
if you find any problem with continuosly developed software (like these in add-ons) first:
- give us more information about version, of your GRASS and add-on
- try to reproduce this error on standard GRASS dataset like SPEARFISH or NC
if error canot be reproduced:
- give us more information of data type you are using: resolution, region etc.
Hi,
more detailes are these, I can not reproduce it on speafish,
Grass 6.4 rc6 compiled on debian testing
The dem is the srtm 90 m dem, cut on an area of 12064631712 Square meters (1206463 hectars).
The region was set to the dem raster, I provided a minimum flow accumulation of 100 to get a "reasonable" river network.
Hope this can help
Francesco
Jasiewicz Jarosław wrote:
W dniu 12.10.2010 09:49, Francesco Mirabella pisze:
Hi,
thanks for you message,
the modules were compiled from the add-ons about one week ago, I suppose they should be the updated version.
What do you mean by "unique streams"? If you mean the number of streams which come out from the operation, these are about 7500. Do you think is the area too large? BTW I was successful with r.watershed on the same dataset but I just wanted to test these new modules
Francesco
Jarek Jasiewicz wrote:
Francesco Mirabella pisze:
Hi all,
I am trying to generate a basins map from a dem using r.stream.basins
I first cut the dem to the area I want to work on than run g.region to set the region to this map.
Then I calculated streams and streams flow directions with r.stream.extract.
In order to get stream basins I used r.stream.basins:
r.stream.basins dir=rivers_flow stream=rivers basins=basins_rivers
The output gives an error saying:
Reading maps...
Calculate basins using streams...
Finding nodes...
ERROR: Stream and direction maps probably do not match
(Mon Oct 11 11:15:28 2010) Comando terminato (0 sec
Why do they not match if I derived them with the same command and from the same dem ? Am I doing something wrong ?
such errors appears when region dir map and stream map comes from different operations. Try if you are using most actual r.stream.extract and r.stream basins modules.
How much unique streams you have created with r.stream.extract?
This error appears when the number of possible outlets overcome the allocated memory for given raster. Memory is allocated as a sum of vertical and horizontal resolution times 2. If the number of possible outlets overcomes that values the error is throwing. In most standard network this allocation is enough and is stored as a bug-handler to avoid crashes or infinite loops if user will use maps from different sources.
If you have a 7500 streams and you have raster map grater than 2000x2000 cells it should not happen. If not I have a problem.
For future use:
if you find any problem with continuosly developed software (like these in add-ons) first:
- give us more information about version, of your GRASS and add-on
- try to reproduce this error on standard GRASS dataset like SPEARFISH or NC
if error canot be reproduced:
- give us more information of data type you are using: resolution, region etc.
--
____________________________________________
Francesco Mirabella,
Geologia Strutturale e Geofisica
Universita' di Perugia,
Dipartimento di Scienze della Terra,
Piazza Universita' 1, 06100 Perugia (Italy)
tel: ++39.(0)75.584.7948
fax: ++39.(0)75.585.2603
skype: francesco.mirabella
web: http://www.unipg.it/~mirabell/
____________________________________________
Hi,
more detailes are these, I can not reproduce it on speafish,
Grass 6.4 rc6 compiled on debian testing
The dem is the srtm 90 m dem, cut on an area of 12064631712 Square meters (1206463 hectars).
The region was set to the dem raster, I provided a minimum flow accumulation of 100 to get a "reasonable" river network.
Hope this can help
Francesco
J
It looks very strange:
if your 90 m srtm has 12064631712 m2 it means it has more or less 1.500.000 number of cells (depending on latitude). It also means that it is more or less 1250x1250 cells DEM. If you have used 100 cells accumulation threshold you shouldn't receive such dense network with 7500 streams. With DEM of such size and such threshold expected number of streams is about 1000-2000.
However if you created 7500 network on such small dem it shouldn't work indeed.
r.stream.basins is not prepared for calculation of direct basins (half basins) it it rather expanded version of r.water.outlet. If you however need direct basins for such dense network you can do it "hacking" source code.
find this fragment of code:
(catchment.c, line 24)
int out_max = ncols + nrows;
and change it into this:
int out_max = (ncols + nrows)*10;
and recompile program again.
If this is the reason (however values you wrote are not consistent) I will not change the source code because as I wrote it is not prepared for that what you're try to do