Compare commits
No commits in common. "ce481c7e3048ce40f7c48655822d244449bdf067" and "a228b612fe1f348053d6a24acf9f2f7886892156" have entirely different histories.
ce481c7e30
...
a228b612fe
@ -90,20 +90,15 @@ PANDOC_OUTPUTS = {
|
||||
}
|
||||
|
||||
PANDOC_EXTRA_OPTIONS = [
|
||||
"-V", "documentclass:extarticle",
|
||||
"--toc",
|
||||
"-V", "toc-title:Содержание",
|
||||
"-F", "skip-toc-tag",
|
||||
"--highlight-style=tango",
|
||||
"--resource-path=wiki",
|
||||
"--template=wiki",
|
||||
"--pdf-engine=xelatex"
|
||||
]
|
||||
|
||||
PANDOC_MARKDOWN_EXTENSIONS = [
|
||||
"+smart",
|
||||
"+backtick_code_blocks",
|
||||
"+fenced_code_blocks",
|
||||
"+fenced_code_attributes"
|
||||
"+smart"
|
||||
]
|
||||
|
||||
#YUICOMPRESSOR_EXECUTABLE = "yui-compressor"
|
||||
|
@ -4,9 +4,10 @@ category: Программирование
|
||||
tags: программирование, cmake
|
||||
summary: ""
|
||||
CSS: table-100.css
|
||||
toc: yes
|
||||
documentclass: extarticle
|
||||
monofont: Pragmata Pro
|
||||
monofontoptions:
|
||||
- Scale=0.6
|
||||
- Scale=0.7
|
||||
...
|
||||
|
||||
|
||||
@ -126,7 +127,7 @@ ORG, Inc.
|
||||
```
|
||||
|
||||
В файле `cmake/etc/cpack_ignore.txt` перечислить шаблоны
|
||||
для исключения из архива, создаваемого целью `dist`. Например:
|
||||
для исключения из создаваемого целью `dist` архива. Например:
|
||||
|
||||
```
|
||||
cmake/lib/.git$
|
||||
@ -212,7 +213,7 @@ add_subdirectory(src/libcmex)
|
||||
|
||||
В каталоге `cmex/src/libcmex` нужно создать файл `cmex.hpp`:
|
||||
|
||||
```cpp
|
||||
```c
|
||||
#ifndef LIBCMEX_CMEX_HPP_
|
||||
#define LIBCMEX_CMEX_HPP_
|
||||
|
||||
@ -225,7 +226,7 @@ int32_t cmex_init(int32_t i);
|
||||
|
||||
файл `cmex.cpp`:
|
||||
|
||||
```cpp
|
||||
```c
|
||||
#include "cmex.hpp"
|
||||
|
||||
int32_t cmex_init(int32_t i = 0) {
|
||||
@ -429,24 +430,12 @@ target_link_libraries(${current_target} ${CMAKE_BINARY_DIR}/lib/libcmext.a)
|
||||
|
||||
#include "cmex.hpp"
|
||||
|
||||
QTextStream& qStdOut()
|
||||
{
|
||||
static QTextStream ts(stdout);
|
||||
return ts;
|
||||
}
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
// Значение из compiler_features.hpp
|
||||
qStdOut() << QObject::tr("Compiler version: ") << CMEX_COMPILER_VERSION_MAJOR << endl;
|
||||
// Значение из config.hpp
|
||||
qStdOut() << QObject::tr("Project version: ") << CMEX_VERSION_STR << endl;
|
||||
// Значение из config.hpp
|
||||
qStdOut() << QObject::tr("Build type: ") << BUILD_TYPE << endl;
|
||||
// Функция из внутренней библиотеки
|
||||
qStdOut() << QObject::tr("libcmex function call: ") << cmex_init(4) << endl;
|
||||
// Функция из внешней библиотеки
|
||||
qStdOut() << QObject::tr("libcmext function call: ") << cmext_init(9) << endl;
|
||||
|
||||
std::cout << CMEX_COMPILER_VERSION_MAJOR << std::endl; // Значение из compiler_features.hpp
|
||||
std::cout << BUILD_TYPE << std::endl; // Значение из config.hpp
|
||||
std::cout << CMEX_VERSION_STR << std::endl; // Значение из config.hpp
|
||||
std::cout << cmex_init(4) << std::endl; // Функция из внутренней библиотеки
|
||||
std::cout << cmext_init(9) << std::endl; // Функция из внешней библиотеки
|
||||
return 0;
|
||||
}
|
||||
```
|
||||
@ -493,12 +482,6 @@ target_link_libraries(${current_target} Qt5::Core)
|
||||
|
||||
#include "cmex.hpp"
|
||||
|
||||
QTextStream& qStdOut()
|
||||
{
|
||||
static QTextStream ts(stdout);
|
||||
return ts;
|
||||
}
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
QCoreApplication app(argc, argv);
|
||||
QTranslator translator;
|
||||
@ -507,17 +490,11 @@ int main(int argc, char **argv) {
|
||||
{
|
||||
app.installTranslator(&translator);
|
||||
}
|
||||
// Значение из compiler_features.hpp
|
||||
qStdOut() << QObject::tr("Compiler version: ") << CMEX_COMPILER_VERSION_MAJOR << endl;
|
||||
// Значение из config.hpp
|
||||
qStdOut() << QObject::tr("Project version: ") << CMEX_VERSION_STR << endl;
|
||||
// Значение из config.hpp
|
||||
qStdOut() << QObject::tr("Build type: ") << BUILD_TYPE << endl;
|
||||
// Функция из внутренней библиотеки
|
||||
qStdOut() << QObject::tr("libcmex function call: ") << cmex_init(4) << endl;
|
||||
// Функция из внешней библиотеки
|
||||
qStdOut() << QObject::tr("libcmext function call: ") << cmext_init(9) << endl;
|
||||
|
||||
std::cout << QObject::tr("Compiler version: ").toStdString() << CMEX_COMPILER_VERSION_MAJOR << std::endl; // Значение из compiler_features.hpp
|
||||
std::cout << QObject::tr("Project version: ").toStdString() << CMEX_VERSION_STR << std::endl; // Значение из config.hpp
|
||||
std::cout << QObject::tr("Build type: ").toStdString() << BUILD_TYPE << std::endl; // Значение из config.hpp
|
||||
std::cout << QObject::tr("libcmex function call: ").toStdString() << cmex_init(4) << std::endl; // Функция из внутренней библиотеки
|
||||
std::cout << QObject::tr("libcmext function call: ").toStdString() << cmext_init(9) << std::endl; // Функция из внешней библиотеки
|
||||
return 0;
|
||||
}
|
||||
```
|
||||
@ -612,12 +589,6 @@ MyMainWindow::~MyMainWindow() {
|
||||
#include "cmex.hpp"
|
||||
#include "my_main_window.hpp"
|
||||
|
||||
QTextStream& qStdOut()
|
||||
{
|
||||
static QTextStream ts(stdout);
|
||||
return ts;
|
||||
}
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
QApplication app(argc, argv);
|
||||
QTranslator translator;
|
||||
@ -626,17 +597,11 @@ int main(int argc, char **argv) {
|
||||
{
|
||||
app.installTranslator(&translator);
|
||||
}
|
||||
|
||||
// Значение из compiler_features.hpp
|
||||
qStdOut() << QObject::tr("Compiler version: ") << CMEX_COMPILER_VERSION_MAJOR << endl;
|
||||
// Значение из config.hpp
|
||||
qStdOut() << QObject::tr("Project version: ") << CMEX_VERSION_STR << endl;
|
||||
// Значение из config.hpp
|
||||
qStdOut() << QObject::tr("Build type: ") << BUILD_TYPE << endl;
|
||||
// Функция из внутренней библиотеки
|
||||
qStdOut() << QObject::tr("libcmex function call: ") << cmex_init(4) << endl;
|
||||
// Функция из внешней библиотеки
|
||||
qStdOut() << QObject::tr("libcmext function call: ") << cmext_init(9) << endl;
|
||||
std::cout << QObject::tr("Compiler version: ").toStdString() << CMEX_COMPILER_VERSION_MAJOR << std::endl; // Значение из compiler_features.hpp
|
||||
std::cout << QObject::tr("Project version: ").toStdString() << CMEX_VERSION_STR << std::endl; // Значение из config.hpp
|
||||
std::cout << QObject::tr("Build type: ").toStdString() << BUILD_TYPE << std::endl; // Значение из config.hpp
|
||||
std::cout << QObject::tr("libcmex function call: ").toStdString() << cmex_init(4) << std::endl; // Функция из внутренней библиотеки
|
||||
std::cout << QObject::tr("libcmext function call: ").toStdString() << cmext_init(9) << std::endl; // Функция из внешней библиотеки
|
||||
|
||||
MyMainWindow* mmw = new MyMainWindow();
|
||||
mmw->show();
|
||||
|
@ -1,47 +0,0 @@
|
||||
---
|
||||
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)
|
@ -3,6 +3,9 @@ title: "Git: замена адреса подмодуля"
|
||||
category: Программирование
|
||||
tags: программирование, git
|
||||
summary:
|
||||
CSS: table-100.css
|
||||
documentclass: extarticle
|
||||
monofont: Pragmata Pro
|
||||
monofontoptions:
|
||||
- Scale=0.7
|
||||
...
|
||||
|
@ -3,6 +3,9 @@ title: "Git: распаковка объекта"
|
||||
category: Программирование
|
||||
tags: программирование, git
|
||||
summary:
|
||||
CSS: table-100.css
|
||||
documentclass: extarticle
|
||||
monofont: Pragmata Pro
|
||||
monofontoptions:
|
||||
- Scale=0.7
|
||||
...
|
||||
|
@ -1,4 +0,0 @@
|
||||
table {
|
||||
width: 100%
|
||||
}
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 32 KiB |
Binary file not shown.
Before Width: | Height: | Size: 61 KiB |
Binary file not shown.
Before Width: | Height: | Size: 603 KiB |
Loading…
Reference in New Issue
Block a user