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

|
|
||||||
|
|
||||||
3) На панели **Панель слоёв** правой кнопкой мыши щелкнуть на слое,
|
|
||||||
содержащем данные о высотах, и выбрать **Фильтр...**.
|
|
||||||
|
|
||||||
4) Построить выражение выбирающие только данные с высотами, например,
|
|
||||||
`"CLNAME" ILIKE '%ГОРИЗОНТАЛИ ОСНОВ%'` и нажить **OK**.
|
|
||||||
|
|
||||||
5) На панели **Панель слоёв** правой кнопкой мыши щелкнуть на слое,
|
|
||||||
содержащем данные о высотах, и выбрать **Сохранить как...**. Появишийся новый
|
|
||||||
слой **heights** следует удалить.
|
|
||||||
|
|
||||||
6) В появившемся диалоговом окне выбрать имя выходного файла, например, `heights`.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
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**.
|
|
||||||
После этого на карте можно строить профили местности.
|
|
||||||
|
|
||||||

|
|
@ -3,6 +3,9 @@ title: "Git: замена адреса подмодуля"
|
|||||||
category: Программирование
|
category: Программирование
|
||||||
tags: программирование, git
|
tags: программирование, git
|
||||||
summary:
|
summary:
|
||||||
|
CSS: table-100.css
|
||||||
|
documentclass: extarticle
|
||||||
|
monofont: Pragmata Pro
|
||||||
monofontoptions:
|
monofontoptions:
|
||||||
- Scale=0.7
|
- Scale=0.7
|
||||||
...
|
...
|
||||||
|
@ -3,6 +3,9 @@ title: "Git: распаковка объекта"
|
|||||||
category: Программирование
|
category: Программирование
|
||||||
tags: программирование, git
|
tags: программирование, git
|
||||||
summary:
|
summary:
|
||||||
|
CSS: table-100.css
|
||||||
|
documentclass: extarticle
|
||||||
|
monofont: Pragmata Pro
|
||||||
monofontoptions:
|
monofontoptions:
|
||||||
- Scale=0.7
|
- 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…
x
Reference in New Issue
Block a user