--- title: "Построение профиля местности в QGis" category: Картография tags: картография, qgis, sxf, shp, gdal, summary: ... 1) В главном меню QGis **Слой** — **Добавить слой** — **Добавить векторный слой** выбрать и открыть файл с векторным слоем, например, `map.sxf`. 2) Среди слоёв выбрать слой с рельефом местности и типом геометрии `LineString`. ![Слои карты](images/qgis-heights/1.png) 3) На панели **Панель слоёв** правой кнопкой мыши щелкнуть на слое, содержащем данные о высотах, и выбрать **Фильтр...**. 4) Построить выражение выбирающие только данные с высотами, например, `"CLNAME" ILIKE '%ГОРИЗОНТАЛИ ОСНОВ%'` и нажить **OK**. 5) На панели **Панель слоёв** правой кнопкой мыши щелкнуть на слое, содержащем данные о высотах, и выбрать **Сохранить как...**. Появившийся новый слой **heights** следует удалить. 6) В появившемся диалоговом окне выбрать имя выходного файла, например, `heights`. ![Имя выходного файла](images/qgis-heights/2.png) 7) В каталоге `/home/a/work/map` выполнить команду, которая в файле `heights.shp` из слоя `heights` берёт данные о высотах из поля `SC_4` и генерирует матрицу высот размером 2000 на 2000 в формате BMP. Настойки алгоритма посторения матрицы можно изменять с помощью параметра `-a`: ```sh gdal_grid -a invdist:power=3.0:smoothing=1.0 -outsize 2000 2000 -of BMP -ot Byte -zfield SC_4 -l heights heights.shp heights.bmp ``` 8) После построения матрицы её можно импортировать в QGis как растровый слой, для этого в главном меню QGis **Слой** — **Добавить слой** — **Добавить растровый слой** нужно выбрать и открыть файл `heights.bmp`. В результате на панели **Панель слоёв** появится растровый слой **heights**. 9) С помощью модуля Profile Tool можно построить профиль местности. В главном меню нужно выбрать **Модуль** — **Profile Tool** — **Terrain profile**. 10) На панели **Панель слоёв** нужно перенести растровый слой **heights** в конец списка, выделить его и на панели **Profile Tool** нажать **Add Layer**. После этого на карте можно строить профили местности. ![Матрица высот](images/qgis-heights/3.png)