Tag Info

17

I would recommend to look outside ArcGIS) Very easy using the free gdal software: http://www.gdal.org/gdaldem.html gdaldem TRI input_dem output_TRI_map Or if you'd prefer it in saga gis: http://www.saga-gis.org/saga_modules_doc/ta_morphometry/ta_morphometry_16.html

16

Let's do a little (just a little) algebra. Let x be the value in the central square; let x_i, i = 1, .., 8 index the values in the neighboring squares; and let r be the topographic ruggedness index. This recipe says r^2 equals the sum of (x_i - x)^2. Two things we can compute easily are (i) the sum of the values in the neighborhood, equal to s = Sum{ x_i }...

10

If you are looking to convert DEMs to contour lines: QGIS Plugin Contours For converting scanned topo maps to vector contour lines, Arcscan is one of the easiest (and most sophisticated) programs out there. However, there are several opensource alternatives, including a promising GRASS approach: Trace vector contours from a scanned map. Additional ...

9

First, you need to calculate at least the slope. F.ex I have the following data: Then put the correct data as variables to the module: And at last you should get the result: UPDATE With Catchment Area as input the results are:

9

From a theoretical point of view depression filling only has one solution, although there can be numerous ways of coming to that solution, which is why there are so many different depression filling algorithms. Therefore, theoretically a DEM that is filled with either the Planchon and Darboux or the Wang and Liu, or any of the other depression filling ...

8

The best all round tool here is a raster calculator. gdal_calc is a GDAL raster calculator implemented in Python here, with some examples here. If you e.g. wants to keep values above +50: gdal_calc.py -A input.tif --outfile=result.tif --calc="A*(A>50)" --NoDataValue=0 You can specify several files -A to -Z, where each of them get a corresponding ...

8

Creating watersheds should help you locate both ridges and hill top. Then, I would define a hill top as a local maximum, while a point on a ridge is not the maximum (there is one other point higher or equal to this point). You can identify local maxima using the focal statistic tool. another way to look at the problem is to analyse at the opposite of your ...

8

Defining ridges vs hill/mountain tops is pretty scale-dependent. Jeff Jenness covers conceptually how to model topographic landforms in his article Some Thoughts on Analyzing Topographic Habitat Characteristics. If you poke around on his website, you can find his poster on this as well, under ArcGIS tools > Land Facet Corridor Designer. (Link is here) Jeff ...

7

Hypsography concerns the land's elevation, altitude or height above sea-level or some other reference surface. (Hypso is derived from the Greek for height.) Topography concerns physical and cultural features of the land and so includes hypsography, hydrology, the built environment, major boundaries, communication channels, etc. (Topo is derived from the ...

7

This is a good question, and one that I tend to get asked from time to time. First, as you've pointed out, the equation for TWI = ln(a / tan(B)), where a is the 'specific' catchment area (i.e. the upslope inflowing area normalized for a measure of contour length) and B is the slope gradient, in radians, at the grid cell. As you correctly pointed out TWI will ...

6

1) you read the data (x,y,z) from text files, shapefiles, etc., with Python only or with different Python modules (pandas, csv, Python - Excel, Fiona, Pyshp, osgeo:OGR or ...) 2) you can plot the points in 2D: with matplotlib !! in 3D: with visvis or matplotlib for example 3) you can compute contour lines (and other things...) 4) you ...

6

In the world of hydrology and geomorphology, there is indeed a metric that we use to classify/quantify the "curviness" of a river......sinuosity. Sinuosity is simply a measure of the actual path length of the river divided by the shortest path length (straight line distance). So, you could measure the sinuosity of the river as a whole (actual path length ...

5

You should not be seeing negative values in the CTI. Since you did not provide a reproducible example I cannot speculate as to why you are getting incorrect results. The expected range is not limited 1-10. The range will be defined by flow accumulation which is influenced by the size of the basins that are accumulating flow. The index does not rely on washed ...

5

You get this kind of picture because every file has a different range of gray values, and QGIS scales the colours between min and max seperately. To solve this: Create a virtual raster on all your files using GDAL, or from the QGIS menue. Load that instead of the individual files as one single layer.

5

SRTM (Shuttle Radar Topography Mission) was a shuttle mission, no satellite involved. But essentially the satellites do not cross the poles. In a geosynchronous orbit, which most imaging satellites are in, you get a pattern like: This is great because it means that the orbit can be timed and most parts of the Earth get covered at around noon, getting ...

4

From QGIS 2.12 this will be possible using "custom" grid annotation format.

4

The add_edge method of a Graph in NetworkX takes a weight as an attribute. This is a proxy for traversal restriction. If the weight specified is high, then traversal algorithms will avoid that route. For example: import networkx as nx G=nx.Graph() G.add_edge('a','b',weight=0.6) G.add_edge('b','c',weight=0.2) G.add_edge('c','d',weight=999) # this one is ...

4

Based on your use-case, I'm guessing you won't need extremely high resolution data (many users are looking for 90 meter or better data) and are more interested in the consistency and visual presentation aspects of the data than its precise accuracy at a cell level. A nice dataset for this kind of use is CleanTOPO2, a global nominally 1km resolution dataset ...

4

You need to download the Land-Form Panorama OpenData (OpenData=free) dataset from Ordnance Survey Download is for Great Britain only (England, Scotland & Wales only) 530MB https://www.ordnancesurvey.co.uk/opendatadownload/products.html Pros: FREE This product is supplied both as a set of contours and spot heights (x,z,y) and as a gridded digital ...

4

OK- I figured out a fix for this. Susan Jones has a script http://arcscripts.esri.com/details.asp?dbid=16055 that works the way I was hoping the Bearing Distance to Line tool would work. The output from the script were lines radiating at varying angles and distances from my base coordinate (datum). Then I used Feature Vertices to Point to add an X,Y ...

4

You can use : gdalinfo -mm input.tif It returns a range of infos within which is the string Computed Min/Max=-425.000,8771.000, for my Eurasian raster. Some cleanup and you get your vertical min/max variables: \$zMin=`gdalinfo -mm ./input.tif | sed -ne 's/.*Computed Min\/Max=//p'| tr -d ' ' | cut -d "," -f 1 | cut -d . -f 1` \$zMax=`gdalinfo -mm ./input....

4

Is Python an option? Use RasterIO (a Python GDAL/ numpy bridge) to load the raster to NumPy array, then use numpy.amax() to find the maximum value, followed by numpy.where() to find the row/column indices, then calculate the lat and lon from the raster extents.

4

I will attempt to answer my own question - dun dun dun. I used SAGA GIS to examine the differences in filled watersheds using their Planchon and Darboux (PD) based filling tool ( and their Wang and Liu (WL) based filling tool for 6 different watersheds. (Here I only show case two sets of results - they were similar across all 6 watersheds) I say "based", ...

4

the difference between roughness and slope is a question of scale. I recommend that you think about the resolution of your raster at which you observe the slope but you don't see the roughness anymore, then you can smooth your surface (e.g. using a low pass, a mean filter or some spline) at this resolution. This will yield a new surface with zero roughness, ...

4

The question (as clarified in a comment) asks how to remove local slope to calculate relative ruggedness. There is a simple way to do this. It relies on computing the slope using the same local data as the ruggedness (which usually is a 3 by 3 square neighborhood). I recall verifying that ArcGIS computes slope (s) and aspect in exactly this manner: ...

4

One easy way of doing this would be to inverse your DEM by multiplying it by negative one (Raster Calculator) then running the Fill tool on the inverted DEM. Finally, subtract the filled DEM from the inverted and multiply by negative one again (putting it back to the original scale). This will effectively turn peaks into depressions and find the spill height ...

4

Your topomap is a SpatialLinesDataframe. geom_map is used for polygons. I suggest you use geom_path as below. It connects observations in original order. (geom_line would order by x value, which you also don't want). topo <- readOGR("public.geojson.json", layer ="OGRGeoJSON") topo <- spTransform(topo, CRS("+init=epsg:31983")) class(topo) #[1] "...

4

It is important to remember that when computing hillshading, you need to have an illumination source. Using the sun as an illumination source may mean that a cell is shaded at noon, when the sun is directly overhead, but not at 4:00 p.m. Without an illumination point, your example seems more like a color coded slope map. ESRI calculates illumination of ...

3

It may not show up under the Basemap dialog, but Esri does host a US Topo map service. The service uses scale dependent rendering with 4 levels, a colorized shaded relief, 250k topographic, 100k topographic, and 24k topographic. ArcGIS.com http://www.arcgis.com/home/item.html?id=931d892ac7a843d7ba29d085e0433465 or ArcGIS Server REST endpoint http://...

3

Another open source option which can easily be scripted using shell scripts or python is to use GDAL_Contour to generate contours from a dem file. I grabbed some example DEM data and ran this command to generate 10 m contours, saved as a shapefile: gdal_contour -b 1 -a elevation -snodata -9999 ns67ne.tif contour.shp -i 10 The switches are: -b 1 selects ...

Only top voted, non community-wiki answers of a minimum length are eligible