50 lines
3.1 KiB
Plaintext
50 lines
3.1 KiB
Plaintext
= Построение профиля местности в Gis
|
||
:category: Картография
|
||
:tags: картография, qgis, sxf, shp, gdal,
|
||
|
||
[arabic]
|
||
. В главном меню QGis *Слой* — *Добавить слой* — *Добавить векторный
|
||
слой* выбрать и открыть файл с векторным слоем, например, `map.sxf`.
|
||
. Среди слоёв выбрать слой с рельефом местности и типом геометрии
|
||
`LineString`.
|
||
|
||
image:qgis-heights/1.png[Слои карты]
|
||
|
||
[arabic, start=3]
|
||
. На панели *Панель слоёв* правой кнопкой мыши щёлкнуть на слое,
|
||
содержащем данные о высотах, и выбрать *Фильтр…*.
|
||
. Построить выражение выбирающие только данные с высотами, например,
|
||
`"CLNAME" ILIKE '%ГОРИЗОНТАЛИ ОСНОВ%'` и нажить *OK*.
|
||
. На панели *Панель слоёв* правой кнопкой мыши щёлкнуть на слое,
|
||
содержащем данные о высотах, и выбрать *Сохранить как…*. Появившийся
|
||
новый слой *heights* следует удалить.
|
||
. В появившемся диалоговом окне выбрать имя выходного файла, например,
|
||
`heights`.
|
||
|
||
image:qgis-heights/2.png[Имя выходного файла]
|
||
|
||
[arabic, start=7]
|
||
. В каталоге `/home/a/work/map` выполнить команду, которая в файле
|
||
`heights.shp` из слоя `heights` берёт данные о высотах из поля `SC_4` и
|
||
генерирует матрицу высот размером 2000 на 2000 в формате BMP. Настойки
|
||
алгоритма построения матрицы можно изменять с помощью параметра `-a`:
|
||
|
||
[source,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
|
||
----
|
||
|
||
[arabic, start=8]
|
||
. После построения матрицы её можно импортировать в QGis как растровый
|
||
слой, для этого в главном меню QGis *Слой* — *Добавить слой* — *Добавить
|
||
растровый слой* нужно выбрать и открыть файл `heights.bmp`. В результате
|
||
на панели *Панель слоёв* появится растровый слой *heights*.
|
||
. С помощью модуля Profile Tool можно построить профиль местности. В
|
||
главном меню нужно выбрать *Модуль* — *Profile Tool* — *Terrain
|
||
profile*.
|
||
. На панели *Панель слоёв* нужно перенести растровый слой *heights* в
|
||
конец списка, выделить его и на панели *Profile Tool* нажать *Add
|
||
Layer*. После этого на карте можно строить профили местности.
|
||
|
||
image:qgis-heights/3.png[Матрица высот]
|