Научная статья на тему 'РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ ГЕОДИНАМИЧЕСКОГО И ГЕОТЕХНИЧЕСКОГО ГНСС МОНИТОРИНГА'

РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ ГЕОДИНАМИЧЕСКОГО И ГЕОТЕХНИЧЕСКОГО ГНСС МОНИТОРИНГА Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
92
20
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
PYTHON / SQLITE / ГНСС МОНИТОРИНГ / ДЕФОРМАЦИЯ / PYCHARM / QT DESIGNER / ГНСС ПРИЕМНИК / RTKLIB / RINEX / ОТКРЫТЫЙ ПРОЕКТ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Мамаев Даниил Станиславович, Бугаков Петр Юрьевич

В статье представлены этапы разработки программного обеспечения для геодинамического и геотехнического ГНСС мониторинга. Продемонстрирован этап анализа предметной области, анализ существующих разработок в данной сфере, произведен выбор инструментальных средств разработки. Показан этап разработки базы данных и графического интерфейса. Продемонстрирована работа разработанного ПО. Представлена новизна и особенность разрабатываемого ПО.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Мамаев Даниил Станиславович, Бугаков Петр Юрьевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

SOFTWARE DEVELOPMENT FOR GEODYNAMIC AND GEOTECHNICAL GNSS MONITORING

This article presents the stages of software development for geodynamic and geotechnical GNSS monitoring. The stage of the analysis of the subject area, the analysis of existing developments in this area, the selection of development tools were demonstrated. The development stage of the database and the GUI is shown. The work of the developed software was demonstrated. The novelty and feature of the developed software is presented.

Текст научной работы на тему «РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ ГЕОДИНАМИЧЕСКОГО И ГЕОТЕХНИЧЕСКОГО ГНСС МОНИТОРИНГА»

УДК 004:528.3

РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

ДЛЯ ГЕОДИНАМИЧЕСКОГО И ГЕОТЕХНИЧЕСКОГО ГНСС МОНИТОРИНГА

Даниил Станиславович Мамаев

Сибирский государственный университет геосистем и технологий, 630108, Россия, г. Новосибирск, ул. Плахотного, 10, обучающийся, тел. (913)759-91-05, e-mail: Mamaev-DS2017@sgugit.ru

Пётр Юрьевич Бугаков

Сибирский государственный университет геосистем и технологий, 630108, Россия, г. Новосибирск, ул. Плахотного, 10, доцент кафедры прикладной информатики и информационных систем, тел. (993)025-80-25, e-mail: peter-bugakov@yandex.ru

В статье представлены этапы разработки программного обеспечения для геодинамического и геотехнического ГНСС мониторинга. Продемонстрирован этап анализа предметной области, анализ существующих разработок в данной сфере, произведен выбор инструментальных средств разработки. Показан этап разработки базы данных и графического интерфейса. Продемонстрирована работа разработанного ПО. Представлена новизна и особенность разрабатываемого ПО.

Ключевые слова: python, SQLite, ГНСС мониторинг, деформация, pycharm, qt designer, ГНСС приемник, RTKLib, rinex, открытый проект

SOFTWARE DEVELOPMENT FOR GEODYNAMIC AND GEOTECHNICAL GNSS MONITORING

Daniil S. Mamaev

Siberian State University of Geosystems and Technologies, 10, Plakhotnogo St., Novosibirsk, 630108, Russia, Student, phone: (913)759-91-05, e-mail: Mamaev-DS2017@sgugit.ru

Peter Yu. Bugakov

Siberian State University of Geosystems and Technologies, 10, Plahotnogo St., Novosibirsk, 630108, Russia, Docent, Department of Applied Informatics and Information Systems, phone: (993)025-80-25, e-mail: peter-bugakov@yandex.ru

This article presents the stages of software development for geodynamic and geotechnical GNSS monitoring. The stage of the analysis of the subject area, the analysis of existing developments in this area, the selection of development tools were demonstrated. The development stage of the database and the GUI is shown. The work of the developed software was demonstrated. The novelty and feature of the developed software is presented.

Keywords: python, SQLite, GNSS monitoring, warp, pycharm, qt designer, GNSS receiver, RTKLib, rinex, open source

Современные сложные инженерные сооружения в результате влияния природных воздействий различного характера, таких как ветер, большие перепады температур и подвижки грунта, могут испытывать значительные статические и динамические нагрузки, вызывающие перенапряжение и деформацию несущих конструктивных элементов. Указанные причины могут привести к нарушению

целостности и разрушению сооружения. Подобные воздействия также сопровождаются перемещением сооружения в пространстве.

Современные геодезические ОРБ/ОКЗБ приёмники позволяют измерять с высокой точностью расстояния между опорным и контролируемым пунктами. Они способны осуществлять измерения с высокой периодичностью в реальном масштабе времени. Это делает возможным определять деформации и колебания высотных зданий, вышек, мостов, а также подвижек земной поверхности, предшествующих оползням, разрушениям гидросооружений и т. п. [2].

Система, реализующая этот метод, состоит из двух идентичных измерительных станций, одна из которых является опорной (ОИС) и устанавливается в неподвижной точке, а другая, называемая навигационной (НИС) - на инженерном сооружении. В систему также входит автоматизированное рабочее место (АРМ), расположенное на объектовом центре мониторинга. Объектовый центр мониторинга может совмещаться с НИС или ОИС. Связь между элементами системы осуществляется через модем по радио либо проведенному каналу связи [9].

Геодезический мониторинг инженерных сооружений до сих пор не получил широкого распространения из-за высокой стоимости оборудования и программ. На большинстве существующих уникальных инженерных сооружениях мониторинг выполняется вручную. Чаще всего мониторинг проводится сезонно с большими перерывами между сеансами наблюдений, где люди с нивелирами или тахеометрами ходят и делают вручную замеры. Данный методы не подходит с точки зрения оперативности, в отличии он ГНСС мониторинга, где можно конкретно увидеть тренд вертикальных перемещений (осадок), горизонтальных перемещений (сдвигов) и отклонений от вертикали (кренов) с целью предупреждения риска появления деформаций, обрушений и несчастных случаев. В связи с этим разработка программного обеспечения для геодинамического и геотехнического ГНСС мониторинга является актуальным направлением в наше время.

Целью работы авторов является разработка программного обеспечения для геодинамического и геотехнического ГНСС мониторинга. Для достижения поставленной цели необходимо было решить следующие задачи:

- произвести анализ предметной области;

- проанализировать существующие разработки;

- выбрать инструментальные средства для его реализации;

- создать интерфейс приложения;

- реализовать функциональную часть приложения;

- выполнить сборку проекта в исполняемый файл и провести тестирование.

Для постобработки ГНСС-измерений существует широкий спектр различного программного обеспечения (ПО), которое может быть условно разделено на следующие категории:

- коммерческие программы;

- научные программы;

- некоммерческие программы.

Коммерческое программное обеспечение, как правило, служит для обработки измерений приёмников определенного производителя. Перекрестная совместимость с другой аппаратурой при этом реализуется посредством универсального формата RINEX. Алгоритмы функционирования таких программ, как правило, скрыты от пользователя и защищаются законами об авторском праве. Примерами коммерческих программ могут служить: Trimble Business Center, Topcon/Magnet Tools, WayPoint GrafNav, Leica Geo Office, Pinnacle/Justin [8].

Научные программы зачастую имеют открытые алгоритмы. Над такими программами трудятся научные коллективы. Такие программы обычно имеют сложный (особенно, для неподготовленного пользователя) интерфейс, а их функционал позволяет решать ряд дополнительных научно-исследовательских задач. Примерами научного ПО являются: Bernese, GAMIT/GLOBK, GIBSYOASIS II, GEONAP [10].

Некоммерческое программное обеспечение - относительно недавнее явление. Данные программы распространяются бесплатно, на основе свободных лицензий, их программный код как правило, открыт и может редактироваться пользователем. Примерами некоммерческих программ могут служить GPSToolkit и RTKLib.

Разрабатываемое программное обеспечение должно удовлетворять следующим требованиям:

- наличие графического интерфейса;

- работа в операционной системе Linux;

- подключение к ГНСС приёмникам с помощью протокола TCP/IP;

- подключение к ГНСС приёмникам с помощью протокола NTRIP;

- подключение к ГНСС приёмникам с помощью COM-порта;

- запись полученных данных с ГНСС приёмников в бинарные файлы;

- возможность одновременного подключения ко множеству ГНСС приёмникам;

- конвертирование исходных файлов в общий формат данных - RINEX с возможностью различного конфигурирования;

- обработка спутниковых измерений (постобработка) с возможностью различного конфигурирования;

- автоматизация таких процессов как подключение к ГНСС приёмникам, запись данных в бинарные файлы и их дальнейшее конвертирование в RINEX, обработка спутниковых измерений и внесение решения навигационной задачи в базу данных;

- структурирование файлов по каталогам, в названии которых записана текущая дата измерений и название ГНСС приёмника;

- сохранение настроек для автоматизированного подключения к ГНСС приёмникам, для конвертирования и постобработки в базе данных. Там же должна находиться информация о примерном расположении ГНСС приёмника, информация о базовых линиях и результаты навигационных решений по каждому ГНСС приёмнику;

- управление ГНСС приёмником через COM порт;

- отправка на указанный e-mail результатов навигационных решений, различных ошибок в работе программы и оповещение о том, что заканчивается память на диске;

- резервное копирование бинарных файлов и базу данных на FTP сервер, Яндекс. Диск и Google Drive с структурирование файлов по каталогам, в названии которых записана текущая дата измерений и название ГНСС приёмника;

- отображение различных этапов работы программы в виде логов;

- сохранение и выставление настроек программы при каждом ее запуске.

Учитывая сформулированные требования, был проведен анализ современных инструментальных средств разработки программного обеспечения. В результате был сформирован следующий стек технологий [6]: язык программирования Python [1, 3], среда разработки PyCharm, Браузер баз данных для SQLite [4], RTKLib для стандартного и точного GNSS позиционирования. Qt Designer [7] для разработки графических интерфейсов.

Одним из важнейших этапов при разработке базы данных является проектирование концептуальной, логической и физической модели базы данных. Ограничения, имеющиеся в логической модели данных, реализуются различными средствами СУБД, например, при помощи индексов, декларативных ограничений целостности, триггеров, хранимых процедур. Физическая модель данных должна быть представлена средствами конкретной СУБД.

Для описания физической структуры базы данных была использована методология IDEFlx. Данная база данных, далее БД, (рис. 1) необходима для автоматизированной работы программы. В БД хранится информация о ГНСС приёмниках, базовых линиях, конфигурациях конвертора и постобработки, которая в последствии считывается программой. Получив данную информацию, программа запускает процесс автоматизации таких процессов, как подключение к ГНСС приёмникам, запись данных в бинарные файлы и их дальнейшее конвертирование в RINEX файлы, обработка спутниковых измерений и внесение решения навигационной задачи в базу данных (рис. 2).

Основное требование к графическому интерфейсу заключается в том, чтобы основные функциональные элементы располагались в каждой отдельной вкладке, элементы интерфейса имели одинаковый размер.

Созданные через редактор форм интерфейсы хранятся в файлах формата UI с расширением имени «.ui», имеющих XML структуру. Конечно, можно использовать .ui-файлы напрямую из Python-кода, однако есть и другой путь, который может показаться легче. Можно конвертировать код .ui-файла в Python-файл, который можно импортировать и использовать. Для этого используется команда "pyuic5 path/to/design.ui -o output/path/to/design.py".

Разработанный графический интерфейс (рис. 3) включает в себя следующие компоненты: Main Window, Menu, Push Button, Check Box, Tab Widget, Combo Box, Line Edit, Date/Time Edit, Label [5].

CONV_CONF0 id conv INTEGER <pk> name CHAR format CHAR freq INTEGER rinex CHAR satellite CHAR obs INTEGER nav INTEGER comment CHAR

Имеет

FK_SOLUHONJ*ETJ_POINTS

id sol INTEGER <Dk>

i d_l i n e INTEGER <fM>

date CHAR

time CHAR

coord_1 REAL

coord_2 REAL

coord_3 REAL

q INTEGER

ns INTEGER

sdx REAL

sdy REAL

sdz REAL

sdxy REAL

sdyz REAL

sdzx REAL

age REAL

rario REAL

id_r INTEGER <fk2

id_poi INTEGER <fk3>

work_time CHAR

comment CHAR

Рис. 1. Физическая модель базы данных

Database Structure Browse Data Eclt Pragmas -xecuteSOL

Table: □SOLUTIONS

New Recorc Delete Record

idsol id line date time coordl coord_2 coord_3 q ns sdx sdy 5

Filter Fife... Filter Filter Filter Filter Filter Filter Filter Filter Filter Filter

120 120 2020/11/22 04:34:50.000 455570.7665 3639414.75... 5200662.87... 10 0.0054 0.0093 0.0112

121 121 2020/11/21 19:14:08.000 455584.5211 3639406.15... 5200667.99,., 9 0.0056 0.0085 0.0107

122 122 2020/11/22 04:34:50.000 455570.7665 3639414.75... 5200662.87,., 10 0.0054 0.0093 0.0112

123 123 2020/11/21 19:14:08.000 455584.5211 3639406.15... 5200667.99... 9 0.0056 0.0085 0.0107

124 124 2020/11/23 06:08:23.000 455570.7705 3639414.751 5200662.87,., 10 0.0065 0.0085 0.012

125 125 2020/11/22 19:05:54.000 455584,5191 3639406.15,.. 5200667.99,., 9 0.0053 0.0085 0.010S

126 126 2020/11/23 06:08:23.000 455570.7705 3639414.751 5200662.87... 10 0.0065 0.0085 0.012

127 127 2020/11/22 19:05:54.000 455584.5191 3639406.15... 5200667.99... 9 0.0053 0.0085 0.010E

128 128 2020/11/24 06:05:55.000 455570.7712 3639414.75... 5200662.87... 10 0.0066 0.0087 o.ong

129 129 2020/11/23 19:01:38.000 455584.5206 3639406.15... 5200667.98,., 9 0.0055 0.0085 0.010S

130 130 2020/11/24 06:05:55.000 455570.7712 3639414.75... 5200662.87... 10 0.0066 0.0087 o.ong

131 131 2020/11/23 19:01:38.000 455584.5206 3639406.15... 5200667 98,., 9 0.0055 0.0085 0.010S

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

132 132 2020/11/25 06:01:35.000 455570.7689 3639414.75... 5200662.87... 10 0.0066 0.0087 0.012

133 133 2020/11/24 18:56:06.000 455584.5195 3639406.15... 5200667.984 9 0.0055 0.0085 0.010S

134 134 2020/11/25 06:01:35.000 455570,7689 3639414.75... 5200662.87,., 10 0.0066 0.0087 0.012

135 135 2020/11/24 18:56:06.000 455584.5195 3639406.15... 5200667.984 9 0.0055 0.0085 0.010S

136 136 2020/11/26 04:24:23.000 455570,7655 3639414.74... 5200662.87... 10 0.0055 0.0094 0.011G

137 137 2020/11/25 18:57:44.000 455584.5213 3639406.15... 5200667.98... 9 0.0056 0.0084 0.010S

138 138 2020/11/26 04:24:23.000 455570,7655 3639414.74,-. 5200662.87... 10 0.0055 0.0094 0.011E

139 139 2020/11/25 18:57:44.000 455584,5213 3639406.15... 5200667.98... 9 0.0056 0.0084 0.010S

140 140 2020/11/27 06:19:43.000 455570,7723 3639414.75... 5200662.88,., 8 0,0061 0.0106 0.0125I

141 141 3 2020/11/26 18:51:01.000 455584,5202 3639406.15... 5200667.99,., 9 0.0055 0.0085 0.0107,

Рис. 2. Пример таблицы SOLUTIONS

Рис. 3. Спроектированный интерфейс с помощью редактора форм

В итоге, данное программное обеспечение обладает следующими особенностями и новизной:

- импортозамещение. Сегодня на рынке устройств и программ для геодинамического мониторинга доминируют швейцарская компания Leica Geosystems, американская компания Trimble Navigation и немецкое программное обеспечение GOCA. Российского программного обеспечения с функцией автоматизированного сбора, обработки и выдачи результата, с последующим анализом и прогнозированием деформации геотехнического и геодинамического объекта на рынке не представлено;

- развитие индустрии мониторинга инженерных сооружений. В отличии от компаний Leica Geosystems и Trimble Navigation, у которых стоимость программ для постоянного геодезического мониторинга высока даже для самых крупных российский компаний, данное программное обеспечение рассчитано на малобюджетный сегмент рынка. Известных малобюджетных и открытых проектов на мировом рынке пока не наблюдается;

- развиваемый проект является открытым (open source). Это позволит расширить сферу ГНСС-мониторинга, поскольку коммерческие программы очень дороги и полностью закрыты, вследствие чего идет медленное развитие индустрии геодинамического мониторинга инженерных сооружений и природной среды.

На данный момент времени разработка проходит стадию технического проекта, в рамках которого проводятся консультации со специалистами в сфере мо-

ниторинга и прогнозирования деформаций объекта для того, чтобы внедрить данные функции в разработанное программное обеспечение.

Сейчас программа используется для тестирования макета ГНСС датчика для мониторинга природной среды. В перспективе данное ПО будет использоваться в составе системы деформационного мониторинга техногенных объектов и природной среды.

Работа выполнена в рамках проектной деятельности центра трансфера технологий, при поддержке НИР кафедры прикладной информатики и информационных систем СГУГиТ.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Бэрри, Пол Изучаем программирование на Python / Пол Бэрри. - М.: Эксмо, 2016. -

332 с.

2. Волков, Н. М. Глобальная спутниковая радионавигационная система ГЛОНАСС / Н. М. Волков // Успехи современной радиоэлектроники. - 1997. -№ 1.

3. Гуриков, С.Р. Основы алгоритмизации и программирования на Python / С.Р. Гуриков. -М.: Форум, 2018. - 991 с.

4. Грабер, Мартин SQL для простых смертных / Мартин Грабер. - М.: ЛОРИ, 2014. -

378 с.

5. Земсков, Ю.В. Qt 4 на примерах (+ CD-ROM) / Ю.В. Земсков. - Москва: Огни, 2008. -

344 с.

6. Клименко, И. В. Метод выбора инструментального средства для разработки программного обеспечения / И. В. Клименко // Известия высших учебных заведений. Северо-Кавказский регион. Технические науки. - 2011. - № 4(162). - С. 3-6.

7. М. Шлее «Qt 5.3. Профессиональное программирование на C++», БХВ-Петербург,

2015.

8. Малютина, К. И. Сравнение бесплатной программы RTKLIB с коммерческим программным обеспечением для постобработки ГНСС-измерений / К. И. Малютина, С. О. Шевчук // Интерэкспо Гео-Сибирь. - 2017. - Т. 1. - № 2. - С. 113-124.

9. Чмых, М. К. Расширение функциональных возможностей глобальной навигационной спутниковой системы ГЛОНАСС на основе фазовых методов / М. К. Чмых // Спутниковые системы связи и навигации : сб. тр. междунар. науч.-техн. конф. - Красноярск, 1997. - Т. 1. — С. 92-99.

10. Шевчук, С. О. Перспективы использования свободного программного обеспечения для постобработки ГНСС-измерений / С. О. Шевчук, К. И. Малютина, Л. А. Липатников // Интерэкспо Гео-Сибирь. - 2017. - № S. - С. 74-89.

© Д. С. Мамаев, П. Ю. Бугаков, 2021

i Надоели баннеры? Вы всегда можете отключить рекламу.