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