Categories
Други Линукс Упътвания

Преименуване на част от името на файл(ове) в Ubuntu/Debian

За да замените част от името на файл(ове) в текущата директория, използвайте следната команда:

rename -v 's/\:/-/g' *.mkv

Тази команда ще замести : (две точки) с (тире) в имената на всички файлове с разширение .mkv в текущата директория.

Използване на команда rename:

rename [ -h|-m|-V ] [ -v ] [ -0 ] [ -n ] [ -f ] [ -d ]
[ -e|-E perlexpr]*|perlexpr [ files ]

Преименуване на файлове в PowerShell

Categories
Други Упътвания

Запис на RTSP поток с ffmpeg в Ubuntu

Как да записваме видео от онлайн камера във файл с помощта на RTSP и ffmpeg.

ffmpeg -rtsp_transport tcp -i "rtsp://user:password@192.168.1.100:10554/tcp/av0_0" -acodec copy -vcodec copy "/home/user/Videos/output.mp4"
Categories
Visual C#

Програма за търсене на уникални точки във файл

Duplicate Point Finder е програма за търсене на уникални точки във файл. Има възможност да се задава толеранс за близост на точките. Програмата извежда уникалните точки във списък и дава възможност за записването им в нов файл.

Изисква .Net Framework 4.5, за да работи.

[download id=”1372″]

Categories
Visual C#

Четене на данни от Sokkia SDR33 файл

Модулът за четене на данни от измервания от файл във формат SDR (Sokkia SDR33) е завършен.

Прочитат се данни от станции, височина на сигнала и измервания.

Categories
Visual C#

Конвертиране на файлове в SDR

Програма за конвертиране на файлове с координати на точки в SDR формат

Повече за програмата:

ConvertToSDR

Връзка за сваляне:

Categories
PHP

Конвертиране от DINI21 към TXT или XML

Преобразуване на файлове от дигитален нивелир DINI21 към XML или TXT файл

Базов код на PHP:

<?php
$submit_button = "Преобразуване";
$upload_dir = "./upload";
$output_file = "";

if (
    isset($_POST["submit"], $_POST["format"]) &&
    $_POST["submit"] === $submit_button
) {
    if (is_uploaded_file($_FILES["file"]["tmp_name"])) {
        $old_filename = htmlentities(
            $_FILES["file"]["name"],
            ENT_QUOTES,
            "UTF-8"
        );
        $new_filename = sprintf(
            "%s_%s.txt",
            md5($_FILES["file"]["name"]),
            time()
        );
        if (
            move_uploaded_file(
                $_FILES["file"]["tmp_name"],
                $upload_dir . DIRECTORY_SEPARATOR . $new_filename
            )
        ) {
            $input_file = file_get_contents(
                $upload_dir . DIRECTORY_SEPARATOR . $new_filename
            );
            unlink($upload_dir . DIRECTORY_SEPARATOR . $new_filename);
            $file_formats = [
                "TXT" => "txt",
                "XML" => "xml",
            ];
            $file_format = isset($file_formats[$_POST["format"]])
                ? $file_formats[$_POST["format"]]
                : $file_formats["TXT"];
            if (
                preg_match_all(
                    "/(\d+\s+Start-Line\s+BF\s+\d+)(.*?)(\d+\s+End-Line\s+\d+)/ism",
                    $input_file,
                    $matches
                )
            ) {
                if ($file_format == "xml") {
                    $output_file = "";
                    $output_file .= "";
                    $output_file .= "1";
                    $output_file .= "";
                    $output_file .= "";
                }
                foreach ($matches[0] as $line) {
                    $line = explode("\n", $line);
                    $back_benchmark = null;
                    $forward_benchmark = null;
                    $elevation = null;
                    $length = null;
                    for ($i = 1; $i < count($line) - 3; $i++) {
                        if ($i % 3 == 0) {
                            $rb = explode(
                                " ",
                                preg_replace(
                                    "/\s\s+/",
                                    " ",
                                    trim($line[$i - 1])
                                )
                            );
                            $rf = explode(
                                " ",
                                preg_replace("/\s\s+/", " ", trim($line[$i]))
                            );
                            if ($rb[1] != "X" && $rf[1] == "X") {
                                $back_benchmark = $rb[1];
                                $elevation += $rb[5] - $rf[5];
                                $length += $rb[7] + $rf[7];
                                continue;
                            } elseif ($rb[1] == "X" && $rf[1] == "X") {
                                $elevation += $rb[5] - $rf[5];
                                $length += $rb[7] + $rf[7];
                                continue;
                            } elseif ($rb[1] == "X" && $rf[1] != "X") {
                                $forward_benchmark = $rf[1];
                                $elevation += $rb[5] - $rf[5];
                                $length += $rb[7] + $rf[7];
                            } else {
                                $back_benchmark = $rb[1];
                                $forward_benchmark = $rf[1];
                                $elevation = $rb[5] - $rf[5];
                                $length = $rb[7] + $rf[7];
                            }
                            if ($file_format == "xml") {
                                $output_file .= "";
                                $output_file .= "" . $back_benchmark . "";
                                $output_file .= "" . $forward_benchmark . "";
                                $output_file .= "" . $elevation . "";
                                $output_file .= "" . $length . "";
                                $output_file .= "0";
                                $output_file .= "";
                                $output_file .= "\n";
                            } else {
                                $output_file .= sprintf(
                                    "%s %s %1.4f %1.2f 0\n",
                                    $back_benchmark,
                                    $forward_benchmark,
                                    $elevation,
                                    $length
                                );
                            }
                            $elevation = 0;
                            $length = 0;
                        }
                    }
                }
                if ($file_format == "xml") {
                    $output_file .= "";
                    $output_file .= "";
                }
            }
        } else {
            echo "Възникнала е грешка при качването на Файла " .
                $old_filename .
                "";
        }
    } else {
        echo "Няма избран файл за качване!";
    }
}
Categories
VB.NET

Четене на файл във Visual Basic

Четене на файлове във VB.NET чрез използване на StreamReader класа.

Categories
VB.NET

Софтуер за сваляне на файлове

File Downloader е примерен проект на софтуер за сваляне на файлове, написан на VB.NET, използващ класовете DownloadFileAsyncExtended.vb и ListViewExtended.vb.

Функционалност:

  • Добавяне на файлове за сваляне;
  • Прекъсване свалянето на един, няколко или всички файлове;
  • Възобновяване свалянето на един, няколко или всички файлове;
  • Премахване на един, няколко или всички файлове от списъка със задачи;
  • Прогрес в проценти и килобайти, скорост на сваляне в килобайти, оставащо време, изминало време, размер на файла, състояние на сваляне.

Интерфейс:

File Downloader
Categories
VB.NET

Софтуер за отваряне на shape файлове

Shapefile Viewer е софтуер за отваряне и визуализиране на ESRI Shape файлове (*.shp).

Софтуерът използва библиотеката MapWinGIS.

Основни функции на програмата:

  • Приближаване (Zoom In);
  • Отдалечаване (Zoom Out);
  • Движение (Pan);
  • Пълен обхват (Full Extent);
  • Отваряне на Shape файл;
  • Показване на атрибути;
  • Търсене и визуализиране по поле и стойност.

Интерфейс:

Shapefile Viewer
Categories
Упътвания

Софтуер за изравнение на нивелачни мрежи

Параметрично изравнение на нивелачни мрежи с прорамата ПИНМ

Структура на входния файл с измервания

Всеки ред от файла трябва да има следната структура:

нр100 нр200 5 100 10
  • нр100 – от нивелачен репер;
  • нр200 – до нивелачен репер;
  • 5 – измерено превишение;
  • 10 – брой станции (незадължителен параметър).

Структура на входния файл с нивелачни репери

Всеки ред от файла трябва да има следната структура:

нр100 500.25
  • нр100 – име на репер;
  • 500.25 – височина на репера.

Тежести

Предлагат се три модела на тежестите:

  • Тежест P = средна дължина на нивелачен ход S ср. / дължина на нивелачен ход S;
  • Тежест P = 1 / брой станции за нивелачен ход n;
  • Тежест P = 1 / абсолютна стойност на измерено превишение |h|.

Анализ

Показва следните параметри:

  • Коефициентите пред неизвестните в уравненията на поправките;
  • Свободните членове в уравненията на поправките;
  • Коефициентите пред неизвестните в нормалните уравнения;
  • Неизвестните при решаване на Система нормални уравнения.

Приблизителни височини

  • Ръчно въвеждане на приблизителни височини;
  • Автоматично изчисляване на приблизителни височини.