Нефть и песок О стали Компрессор - подбор и ошибки Из истории стандартизации резьб Соперник ксерокса - гектограф Новые технологии производства стали Экспорт проволоки из России Прогрессивная технологическая оснастка Цитадель сварки с полувековой историей Упрочнение пружин Способы обогрева Назначение, структура, характеристики анализаторов Промышленные пылесосы Штампованные гайки из пружинной стали Консервация САУ Стандарты и качество Технология производства Водород Выбор материала для крепежных деталей Токарный резец в миниатюре Производство проволоки Адгезия резины к металлокорду Электролитическое фосфатирование проволоки Восстановление корпусных деталей двигателей Новая бескислотная технология производства проката Синие кристаллы Автоклав Нормирование шумов связи Газосварочный аппарат для тугоплавких припоев
Главная --> Промиздат -->  Map principle 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 ( 100 ) 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127

smaller sub-watersheds and half-watersheds using the r.watershed option half.basin for this purpose.

To derive a spatial better description of overland flow, we can use r.flow. The module uses the vector-grid (D-infinite) algorithm; therefore, it can better handle flow routing at high resolution. First, we set the region to our 6 ft resolution DEM el.GtlQ; then we use r.flow to compute raster maps of flow accumulation and flow path length as well as flow lines vector map:

g.region rast=el.6tl0

r.flow el.6tl0 flout=flowline.6 lgout=flowlg.6 dsout=flowacc.6 d.rast flowacc.6

When comparing the flow accumulation flowacc.6 with accum.6 derived from r.watershed, we can quickly see the more realistic and more detailed description of flow in our new result (Figure 12.5 c). The flow path length map flowlg.6 provides information about the length of the flowline drawn from each cell. It can be used to compute the longest flow path for a given watershed, a parameter needed in hydrologic models for estimation of time to steady state (how long it will take for all water in the watershed to reach the outlet). For our study subarea, we can estimate this distance by displaying the flowlg.6 map overlayed with the vector flowline.6 map and using d.what.rast to find the flowline length values at the monitoring station and at the farthest point of the watershed and then subtract those two values:

d.rast flowlg.6 d.vect flowline.6 col=black d.what.rast [. . .]

2095676.48172339(E) 722 5 92.198 67314(N)

flowlg.6 in lakewheeler hm, actual (1197.761963)

20 94 64 4.24811718 (E) 724218.56702265 (N)

flowlg.6 in lakewheeler hm, actual (3213.695557)

After subtraction, the value is 2016 ft (about 600 m). When using the output from r.flow, it is important to know that the module stops flow routing when slope is 0.0, so it is suitable for estimation of flow on hillslopes, smaller watersheds, or DEMs without pits or flat areas. To see where the flow stopped, it is useful to display the flow accumulation as a surface using nviz flowacc.6. For comparison, we can also extract the flow accumulation map from the saturated flow index generated by the module r.topidx, which uses the multiple directions flow algorithm capable of representing dispersal flow (Figure 12.5 d).



12.2.3 Land use analysis, problems and solutions

We will use our baseline data and derived parameters to answer some questions that are relevant to land use planning. Because there is a large number of possibilities for combining the data to get answers to specific problems, we show only few examples.

Locate areas unsuitable for crop production. With input from our agriculture engineering colleagues we define the areas unsuitable for selected crops using the following conditions:

slope greater than 7°;

distance to streams and ponds less than 60 ft, to prevent the pollution of water with nutrients and chemicals applied to the fields;

distance to roads 15 ft to provide space for road maintenance and prevent pollution of crops from traffic.

After transforming the vector representation of roads and streams to raster we use a combination of r.buffer and r.mapcalc to identify the areas that fulfill the above conditions:


Note that the result of r.buffer is a category map with categories 1 (original data) and 2 (buffers), while the distance values are stored as category labels. We use r.null to change unclassed NULL values to zeros, because NULL would override everything else in our map algebra operations:

r.mapcalc noagrlanduse=if(si.6tl0 >= 7 lw hydro.buff60 \

II lw roads.buff15, lw landcov.type, 0) r.colors noagrlanduse rast=lw landcov.type d.rast noagrlanduse r.report noagrlanduse unit=p,a

The resulting map layer shows the land use which is in the areas that are not suitable for agriculture, that is on steeper slopes or too close to roads and water. We can see that most of these areas are already forested or covered by grass, except for small patches along the roads and on steeper slope. The report provides us with information about the number of acres in different land use classes that are in these locations. For example, we can find that we have only



about 3 acres of agricultural land in unsuitable locations, if the above criteria are used.

You can further explore the effects of various stream buffer widths by using multiple distances for the buffer map layer:

r.buffer lw hydro out=lw hydro.buff dist=30,60,120,180 uni=feet

resulting in a raster map with 5 categories (one for original data and 4 for distances). Use r.mapcalc to find out how much of the current agricultural land we may lose if we increase the size of buffers. We can also explore the impact of various definitions of stream. For example, the map layer lw hydro includes only the permanent streams large enough to be included on a map. It does not capture intermittent streams and concentrated flow areas. To include them, we can create an alternative map layer representing all areas with concentrated flow using the flow accumulation map from r.flow, repeat the analysis, and compare the results.

Locations suitable for a specific crop. To find the best locations for a specific type of plant within the areas designated as agricultural fields, we need to consider additional conditions, such as soil properties, soil moisture, and solar radiation. While there are complex plant growth models available as external software tools, a quick assessment can be performed using the GRASS modules. For example, the properties of a location suitable for a given crop can be defined as follows:

land suitable for agriculture (as derived above), within the existing agricultural fields;

location receives total of at least 2100 kWh/m of global radiation during the growing season;

location has suitable soil properties, such as pH, and soil texture.

We can review various soil properties by inspecting the related soil attributes stored in the files in the vector categories subdirectory (see the previous Section 12.2.1), and see that many properties, such as pH and texture are spatially homogeneous in our area and their distribution will not affect the selection of a particular location. Therefore, we will focus our analysis on spatial distribution of insolation and the conditions defined as suitable for agriculture in the previous paragraph.

To find the spatial distribution of potentially available global solar radiation we can compute all of its three components: direct, diffuse, and reflected using the module r.sun. We will use the latitude 35.5° N found by g.region -l and the elevation, slope, and aspect maps computed in the Section 12.2.1 as



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 ( 100 ) 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127