I want to run a Monte Carlo uncertainty analysis in a program I am creating. I've got the framework for my Monte Carlo analysis set up and it runs fine except for one thing: my method of variation.
My method of random variation so far is to create a Normal Raster (sa.CreateNormalRaster) with the cellsize and extent of my existing DEM, adjust the Normal Raster values so they fall within the RMSE of my DEM (+/- 0.5 ft), and then add that adjusted Normal Raster to my existing DEM. My DEM has a 5.0 ft resolution and adjacent cells vary by less than 0.2 ft, usually; the terrain is very flat. The potential for adjacent cells to vary by up to 1 ft is unacceptable for my purposes.
I need to somehow spatially correlate these random values so I can apply them to my DEM in a way that makes sense. I know this is a somewhat tall order given the complexity of the published literature on this topic. I don't necessarily need to correlate the random values with the spatial covariance of the DEM at this point in time (although that would be preferred). It's my understanding that I will very likely need to bring in another program (like R) to do the latter. For now, I would ideally like to do something within Python.
I've read this a few times and am really not sure where the question is. Can you try explaining, concisely, exactly what you need, please?
I need to create a raster that has values between -0.5 and +0.5 and adjacent cells in that raster are more similar to nearby cells than they are to further cells. Each time I generate such a grid, the value at a particular grid point will vary randomly. Thus, I need a random grid that is spatially correlated, something like that described on this page: Generating spatially correlated random fields with R – Santiago Beguería
I didn't read the whole paper, but they do mention Kriging, which makes sense and is possible in ArcGIS. I imagine you would create randomly placed points with random values +/- 0.5 and interpolate values between them using some incarnation of Kriging.
I was thinking about doing something like that while I was typing up my response to you, actually. I'll see how well it works soon!