2019-06-02 23:26:28 +00:00
|
|
|
|
= Построение профиля местности в Gis
|
2019-06-01 21:08:41 +00:00
|
|
|
|
:category: Картография
|
|
|
|
|
:tags: картография, qgis, sxf, shp, gdal,
|
|
|
|
|
|
|
|
|
|
[arabic]
|
|
|
|
|
. В главном меню QGis *Слой* — *Добавить слой* — *Добавить векторный
|
|
|
|
|
слой* выбрать и открыть файл с векторным слоем, например, `map.sxf`.
|
|
|
|
|
. Среди слоёв выбрать слой с рельефом местности и типом геометрии
|
|
|
|
|
`LineString`.
|
|
|
|
|
|
|
|
|
|
image:qgis-heights/1.png[Слои карты]
|
|
|
|
|
|
|
|
|
|
[arabic, start=3]
|
2019-06-02 23:26:28 +00:00
|
|
|
|
. На панели *Панель слоёв* правой кнопкой мыши щёлкнуть на слое,
|
2019-06-01 21:08:41 +00:00
|
|
|
|
содержащем данные о высотах, и выбрать *Фильтр…*.
|
|
|
|
|
. Построить выражение выбирающие только данные с высотами, например,
|
|
|
|
|
`"CLNAME" ILIKE '%ГОРИЗОНТАЛИ ОСНОВ%'` и нажить *OK*.
|
2019-06-02 23:26:28 +00:00
|
|
|
|
. На панели *Панель слоёв* правой кнопкой мыши щёлкнуть на слое,
|
2019-06-01 21:08:41 +00:00
|
|
|
|
содержащем данные о высотах, и выбрать *Сохранить как…*. Появившийся
|
|
|
|
|
новый слой *heights* следует удалить.
|
|
|
|
|
. В появившемся диалоговом окне выбрать имя выходного файла, например,
|
|
|
|
|
`heights`.
|
|
|
|
|
|
|
|
|
|
image:qgis-heights/2.png[Имя выходного файла]
|
|
|
|
|
|
|
|
|
|
[arabic, start=7]
|
|
|
|
|
. В каталоге `/home/a/work/map` выполнить команду, которая в файле
|
|
|
|
|
`heights.shp` из слоя `heights` берёт данные о высотах из поля `SC_4` и
|
|
|
|
|
генерирует матрицу высот размером 2000 на 2000 в формате BMP. Настойки
|
2019-06-02 23:26:28 +00:00
|
|
|
|
алгоритма построения матрицы можно изменять с помощью параметра `-a`:
|
2019-06-01 21:08:41 +00:00
|
|
|
|
|
|
|
|
|
[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[Матрица высот]
|