48 lines
3.2 KiB
Markdown
48 lines
3.2 KiB
Markdown
|
---
|
|||
|
title: "Построение профиля местности в QGis"
|
|||
|
category: Картография
|
|||
|
tags: картография, qgis, sxf, shp, gdal
|
|||
|
summary: ""
|
|||
|
...
|
|||
|
|
|||
|
|
|||
|
1) В главном меню QGis **Слой** - **Добавить слой** - **Добавить векторный слой** выбрать и открыть файл с векторным слоем, например, `map.sxf`.
|
|||
|
|
|||
|
2) Среди слоёв выбрать слой с рельефом местности и типом геометрии `LineString`.
|
|||
|
|
|||
|
![Слои карты](files/qgis-heights1.png)
|
|||
|
|
|||
|
3) На панели **Панель слоёв** правой кнопкой мыши щелкнуть на слое,
|
|||
|
содержащем данные о высотах, и выбрать **Фильтр...**.
|
|||
|
|
|||
|
4) Построить выражение выбирающие только данные с высотами, например,
|
|||
|
`"CLNAME" ILIKE '%ГОРИЗОНТАЛИ ОСНОВ%'` и нажить **OK**.
|
|||
|
|
|||
|
5) На панели **Панель слоёв** правой кнопкой мыши щелкнуть на слое,
|
|||
|
содержащем данные о высотах, и выбрать **Сохранить как...**. Появишийся новый
|
|||
|
слой **heights** следует удалить.
|
|||
|
|
|||
|
6) В появившемся диалоговом окне выбрать имя выходного файла, например, `heights`.
|
|||
|
|
|||
|
![Имя выходного файла](files/qgis-heights2.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**.
|
|||
|
После этого на карте можно строить профили местности.
|
|||
|
|
|||
|
![Матрица высот](files/qgis-heights3.png)
|