Добро пожаловать!

Войдите или зарегистрируйтесь сейчас!

Войти

Программа "угловая засечка" для теодолита и тахеометра

Тема в разделе "Другие программы", создана пользователем Philin, 29 ноя 2010.

  1. Philin

    Форумчанин

    Регистрация:
    1 фев 2008
    Сообщения:
    2.534
    Симпатии:
    2.072
    Адрес:
    Москва
    Лет 10 назад писал программу угловой засечки под теодолит.
    Долгое время пользовался ею. Но никогда не думал, что для тахеометров она окажется актуальной :)

    Система координат геодезическая (X вверх, Y вправо)

    Не все тахеометры могут выполнять чисто угловую засечку, существуют модели, которые засекаются только линейно-угловой засечкой. Из известных мне тахеометров это:
    - Carl ZEISS Elta R55
    - Carl ZEISS Elta R55B
    - Trimble 3305
    - Trimble 3305DR

    Скорее всего это не весь список программно "урезанных" приборов.

    Программа запускается и работает в любой версии Internet Explorer (начиная с Windows 95 и заканчивая Windows 7). Программа написана на VBS, а это значит что она не может работать правильно в Opera, Firefox и прочих браузерах.

    ВНИМАНИЕ!!!!! При выполнении угловой засечки вы должны быть абсолютно уверены что коллимация в допуске! Проведите поверку и юстировку.

    Принцип работы такой:
    - устанавливаем теодолит/тахеометр в любой точке местности
    - запускаем программу на ноутбуке
    - наводимся на первую точку опорной сети с известными координатами
    - вводим в программу координаты первой точки и значение горизонтального угла по прибору
    - наводимся на вторую точку опорной сети с известными координатами
    - вводим в программу координаты второй точки и значение горизонтального угла по прибору
    - и т.д. минимум 3, максимум 5 точек (угловая засечка на 3 точки производится БЕЗ КОНТРОЛЯ точности засечки)
    - обнулять угол на первую точку не надо, опорные точки могут располагаться в любой последовательности: против часовой стрелки, по часовой стрелке, через одну, как угодно
    - жмём кнопку "Вычислить" и получаем координаты точки стояния, а также дирекционный угол на первую опорную точку
    - что делать с координатами точки стояния тахеометра я думаю вы разберётесь сами
    - если же засечка выполняется теодолитом, то чуть ниже можно ввести программе координаты выносимой в натуру точки, нажать рядом кнопку "Вычислить" и в итоге получите от программы значение угла (по горизонтальному кругу теодолита, тот, который надо выставить чтобы получить направление на эту точку), а также расстояние (горизонтальное проложение) от точки стояния теодолита до точки выносимой в натуру.

    Выглядит это всё вот так:

    [​IMG]

    Теперь о грустном. При чисто угловой засечке используется формула, которая имеет три ограничения (вне зависимости от количества опорных точек при засечке). Почему-то в большинстве инструкций на тахеометры это опускается производителем. Формула рассчёта существует одна, поэтому эти ограничения никак не зависят от фирмы производителя тахеометра(теодолита), а также от модели(марки) прибора. Это чисто математическое ограничение. Вот эти ограничения:
    - КАТЕГОРИЧЕСКИ ЗАПРЕЩЕНО устанавливать прибор в створе двух любых базовых точек!!!
    - КАТЕГОРИЧЕСКИ ЗАПРЕЩЕНО устанавливать прибор на пересечении перпендикуляров двух базовых точек!!!
    - КАТЕГОРИЧЕСКИ ЗАПРЕЩЕНО устанавливать прибор на продлении одной окружности с базовыми точками!!!


    Вот так эти ограничения выглядят графически:

    [​IMG]

    PS Программа представляет собой в основном математику, с простейшим графическим интерфейсом к ней. Её легко портировать на любой язык программирования.
     

    Вложения:

    #1
    NickShar, Дегезист, Al Di Meola и ещё 1-му нравится это.
  2. alexkrong

    Форумчанин

    Регистрация:
    17 янв 2009
    Сообщения:
    1.086
    Симпатии:
    378
    Адрес:
    Ставрополь-Н.Уренгой
    Ув. Philin,учитывая тот факт,что тащить ноут ну перекрытие не только неудобно,но и опасно,поэтому возникло предложение использовать прогу на телефонах(JAVA)... ::rolleyes24.gif::
     
    #2
  3. Philin

    Форумчанин

    Регистрация:
    1 фев 2008
    Сообщения:
    2.534
    Симпатии:
    2.072
    Адрес:
    Москва
    alexkrong, ну так напишите её на Java :)

    Код открытый. Портировать VBS на Java или JS не сложно.

    Только если кто-то решится портировать (у меня на это нет ни времени ни желания т.к. ноут всегда с собой), то рекомендую оставить рассчёты как есть. Некоторые вещи в программе кажутся бессмысленными или ненужными, но это не так. Отладка программы происходила в полевых условиях в течение нескольких лет и "странные места" в программе были добавлены именно из-за устранений каких-то сложных условий.

    Здесь представлен расширенный вариант рассчёта. Некоторые тахеометры производят угловую засечку по упрощённой схеме (в инструкциях таких приборов настоятельно рекомендуют либо обнуляться на первую точку, либо засекаться последовательно на точки по(против) часовой стрелке).
    Можно изменить усреднение вычисленных координат на уравнивание, но я сравнивал тахеометры с возможностью угловой засечки с рассчётами при уравнивании или усреднении (при уравнивании и при усреднении разница конечных координат до 13мм при расстояниях более километра (1-2км) на каждую из опорных точек). В итоге получилось что многие тахеометры усредняют итоговые результаты, а не уравнивают их... потому здесь также оставил, чтобы у пользователей программы не возникало вопросов почему программа выдаёт один результат, а тахеометр - другой.

    Использовать угловую засечку на опорные пункты, которые находятся вне здания/сооружения, нельзя на перекрытии выше 8-го этажа, впрочем и линейно-угловую тоже.
     
    #3
  4. Philin

    Форумчанин

    Регистрация:
    1 фев 2008
    Сообщения:
    2.534
    Симпатии:
    2.072
    Адрес:
    Москва
    Подсказки по работе с программой.

    Если вы заранее знаете на какие базовые(опорные) точки будете наводиться, то можно вбить в программу их координаты заранее, а выйдя в поле только вписать в нужные строки измеренные горизонтальные углы.

    Используя клавишу TAB можно быстро перемещаться между строками ввода. Если установить курсор в самую первую строку, то при нажатии TAB курсор будет перемещаться последовательно по строкам ввода к конечной строке. Так было сделано специально чтобы не мучаться с тачскрином или мышью на коленках - клавиатура удобнее мыши в данном случае.

    Вычислив один раз координаты точки стояния прибора вы можете менять координаты выносимой точки сколько угодно раз. Нажимая кнопку "Вычислить" в поле координат выносимой точки вы никак не затрагиваете поле ввода координат опорных точек, а также вычисленные координаты точки стояния прибора.
     
    #4
  5. Джонхаб

    Форумчанин

    Регистрация:
    19 дек 2010
    Сообщения:
    139
    Симпатии:
    8
    Адрес:
    Хабаровск
    Уважаемый Philin.

    Сегодня тестировал Вашу программу, использовал в разных вариациях семь реперов для вычисления места стояния.
    Работает хорошо..., но, почему при вычислении по трем случайным точкам, при добавлении четвертой, показывает увеличение отклонения более 30мм, перебрал репера, все одно, при вводе по классике, т.е. от первого и далее по часовой все нормально, принимает и считает..... и на увеличение отклонения не ругается.
    Какие ограничения накладываются? ::unsure.gif::
     
    #5
  6. Philin

    Форумчанин

    Регистрация:
    1 фев 2008
    Сообщения:
    2.534
    Симпатии:
    2.072
    Адрес:
    Москва
    Джонхаб49, попробуйте всегда первой точкой делать самую дальнюю от прибора.

    Идеальный вариант для рассчёта угловой засечки:
    - первая точка наведения должна быть самой дальней от прибора (это относится также к 90% тахеометров при линейно-угловой и угловой засечке! Потому что внутренний софт большинства приборов автоматически берёт вычисленный дирекционный угол на первую точку засечки как начальный для всех дальнейших рассчётов при съёмке/выносе)
    - прибор желательно (но не обязательно) располагать в геометрическом центре фигуры состоящей из базовых точек
    - углы между парой ПОСЛЕДОВАТЕЛЬНЫХ базовых точек должны быть более 30 градусов
    - углы между парой ЛЮБЫХ базовых точек не должны приближаться к 90 или 180 градусам
    - для контроля всегда лучше использовать минимум 4 базовые точки, в противном случае результат не гарантирован и после засечки на 3 точки вы не будете иметь понятия насколько правильно вычислены координаты точки стояния прибора.

    Что пишет программа в "Разность конечных вычисленных координат"??? Какие там значения дельт?

    Вы произвели поверку и юстировку коллимации?

    Вы абсолютно уверены в точности координат базовых точек?

    Используете теодолит/тахеометр какой угловой точности?

    На какое количество точек наводитесь? 3 точки всегда приведут к вычислению координат якобы без ошибок, даже если наводиться на совсем другие точки или ошибиться при вводе координат/углов. 4-я и 5-я точка позволяют контролировать засечку и выводят вычисленную невязку.

    Что из себя представляют ваши репера? Это геодезические пункты и характерные точки на местности, или это светоотражающие марки для тахеометров?

    В своей практике только один раз видел невязки порядка 60мм и то это были наблюдения днём в жару на пункты расположенные до 3 километров от прибора. Тогда пришлось отказаться от работы днём и работал на рассвете и на закате, тогда всё сходилось.
     
    #6
    NickShar нравится это.
  7. Джонхаб

    Форумчанин

    Регистрация:
    19 дек 2010
    Сообщения:
    139
    Симпатии:
    8
    Адрес:
    Хабаровск
    Вот данные по реперам -угол-расстояние-х-у-
    1. 0.0.0 87,681 91,96 60,85
    2. 55.46.37 53,756 19,34 62,82
    3. 83.32.15 64,532 -10,81 65,15
    4. 143.50.00 40,231 -19,04 9,08
    5. 248.38.13 30,898 29,08 -20,78
    6. 313.11.21 62,970 83,08 -2,53
    7. 335.52.48 65,345 85,09 22,74
    8. 346.08.30 71,121 86,98 36,11

    Репера на стенах зданий-дюбель-гвоздь забитый в кирпич, к головке прикладывается минипризма, работаю на строительстве дома, по этим МОИМ реперам делаю всю разбивку.
    Вот координаты точки стояния вычисленные другой программой по трем точкам 21,187 9,102. Вот по Вашей по трем 1-4-6 21,1839 9,0905 по пяти 1-4-6-3-5 то-же, дельта 234= 4,3 123-234= 0 345= -8 234-345=5,5
    Если считать по 6-8-1-5 то дельта 234=20,9 123-234=-7,8 и по другому также.
    А программа хорошая, устойчивая к дисперсии исходных, для любого геодезиста находка.
    Спасибо.
     
    #7
  8. Philin

    Форумчанин

    Регистрация:
    1 фев 2008
    Сообщения:
    2.534
    Симпатии:
    2.072
    Адрес:
    Москва
    Точка --- угол
    6 ...
    8 --- 346,08,30
    1 --- 360,00,00
    5 ...

    Ясное дело что ничего хорошего не выйдет, два острых угла и один из них 13 градусов :) Углы менее 30 градусов дают очень некачественный результат.

    Качество опорной сети (или коллимации) легко проверить с помощью программы прямо при засечке. Достаточно выставить на первую точку угол 000-00-00, произвести засечку по 4-5 точкам, а потом указать координаты одной из точек засечки с 2 по 5 (расстояние от прибора до этой точки должно быть гораздо меньше чем расстояние до первой базовой точки). Если рассчитанный программой угол совпадёт с измеренным, то результатам засечки можно доверять. Если же не совпадет, то выставляем рассчитанный угол и смотрим в трубу прибора, на глаз определяем разворот системы и далее решаем стоит ли проводить дальнейшую работу при текущей засечке.

    Пользуйтесь на здоровье :)

    PS Забыл сказать в самом начале. Разделителем десятичной дроби при вводе кординат может быть как точка так и запятая. Можно комбинировать точки и запятые даже на одной странице.
     
    #8
    Grandpa нравится это.
  9. aquarius

    Форумчанин

    Регистрация:
    6 ноя 2009
    Сообщения:
    277
    Симпатии:
    134
    Странно, что в 2008 году, когда я проходил повышение квалификации препод из ПГТУ говорил нам, что засечка при 90 градусах самая лучшая?
     
    #9
  10. Philin

    Форумчанин

    Регистрация:
    1 фев 2008
    Сообщения:
    2.534
    Симпатии:
    2.072
    Адрес:
    Москва
    Формула рассчётов угловой засечки полностью построена на тангенсах и котангенсах (ни одного синуса и косинуса)... Возьмите тангенс 90 градусов... Если вам это удастся, то нобелевская премия в тригонометрии вам обеспечена :)
    УГЛОВАЯ засечка произведённая с углов близким к 90 градусам это полная бредятина, а при углах равным 90 градусам формула выдаст конечные координаты в предалах до сотен метров. Это одна из причин почему нельзя доверять угловой засечке с трёх точек, т.к. формула позволяет рассчитывать при любом угле (ошибок в раассчётах не будет, просто конечные значения получаются неопределёнными и для подтверждения рассчётов надо подснимать хоть одну дополнительную (четвёртую) точку).

    Это не относится к ЛИНЕЙНО-УГЛОВОЙ засечке, в которой можно контролировать расстояния и за счёт этого смещений не будет, да и формулы там без тангенсов.
     
    #10
  11. Quick Eye

    Форумчанин

    Регистрация:
    5 мар 2010
    Сообщения:
    175
    Симпатии:
    4
    Адрес:
    Москва
    он говорил про прямую угловую засечку.

    Уважаемый Philin есть алгоритм решения обратной угловой засечки, который позволяет обходить ограничения, установленные в вашей программе (разумеется, кроме "опасного круга"). Он опубликован в журнале "Известия вузов. Геодезия и аэрофотсъемка" №1 за 2008 год. Его скачать можно тут! Попробуйте этот способ ::smile24.gif::
     
    #11
  12. Philin

    Форумчанин

    Регистрация:
    1 фев 2008
    Сообщения:
    2.534
    Симпатии:
    2.072
    Адрес:
    Москва
    Quick Eye, спасибо за ссылку.

    Буду разбираться. Пока складывается представление что это теже яйца, только в профиль.
     
    #12
  13. Константиныч

    Форумчанин

    Регистрация:
    23 июн 2008
    Сообщения:
    299
    Симпатии:
    90
    Адрес:
    Балтийский берег, Невская земля
    Коллеги, а не проще ли носить с собой не ноут с этой полезной (спасибо автору ::wink24.gif:: ) прогой, а калькулятор, типа, CASIO FX-9860G (не реклама) с пакетом геодезических программ? У самого такой - не нарадуюсь. В алгоритмах рассчётов геодезических задач там пока не разбирался (думаю, что не дураки тоже писали), но в поле ОЧЕНЬ удобно! К тому же, в память можно забивать свои проги и даже игры, если скучно ::biggrin24.gif::
    Вот бы попробовать теперь Вашу прогу на VBS туда вкорячить и потестить.
     
    #13
  14. Philin

    Форумчанин

    Регистрация:
    1 фев 2008
    Сообщения:
    2.534
    Симпатии:
    2.072
    Адрес:
    Москва
    Константиныч, у меня есть такой калькулятор. Но ввиду того что в России он продаётся без кабеля, то... мог бы сделать из него хоть полевой контроллер для тахеометра с прямым соединением, а так.. просто игрушка. Лично мне не хватает его функциональности, а виноваты в этом по большому счёту продавцы, без кабеля это вещь сама в себе и не более того. Это равносильно тому что с тахеометром нет никаких кабелей, флешек и пр., работать можно, но вбивать всё вручную, а потом вручную из него переписывать - прошлый век.

    Использую эту игрушку именно как обычный инженерный калькулятор, удобен, но до этого работал гораздо более дешёвым многострочным программируемым калькулятором и работалось с ним не хуже. Геодезические программы в нём есть, но без надобности.

    Был бы кабель, разобрался нормально с его программированием, а так...

    В общем-то предложенная программа тоже прошлый век... Если бы я писал её сейчас, то писал бы под определённый прибор и для прямого кабельного соединения (электронный теодолит или тахеометр)... чтобы она сама принимала данные углов через кабель и считала. Ну или ещё что-нибудь вроде того.
     
    #14
  15. Константиныч

    Форумчанин

    Регистрация:
    23 июн 2008
    Сообщения:
    299
    Симпатии:
    90
    Адрес:
    Балтийский берег, Невская земля
    А разве с данным калькулятором для соединения его с компом используется не обычный USB/miniUSB шнурок? А уж переделать под кабель тахеометра интерфейс вообще не сложно, кмк. Но опять же, есть ли смысл? ::blink.gif::
    (Добавление)
    Кстати, к этому Касио подключается даже внешний монитор ::biggrin24.gif:: , типа, для презентаций.
     
    #15
  16. Джонхаб

    Форумчанин

    Регистрация:
    19 дек 2010
    Сообщения:
    139
    Симпатии:
    8
    Адрес:
    Хабаровск
    PS Забыл сказать в самом начале. Разделителем десятичной дроби при вводе кординат может быть как точка так и запятая. Можно комбинировать точки и запятые даже на одной странице.

    К сожалению только запятая в латинской раскладке....
     
    #16
  17. Philin

    Форумчанин

    Регистрация:
    1 фев 2008
    Сообщения:
    2.534
    Симпатии:
    2.072
    Адрес:
    Москва
    Джонхаб49, очень странно... Возможно это связано с операционной системой. Предполагаю что у вас Windows7 или Windows Vista... В Windows 98 давно не работаю и проверить не могу, но в Windows XP Rus (без SP, с SP1 и SP2) работает так как я сказал, SP3 не проверял.
     
    #17
  18. ВалераЛьвов

    Регистрация:
    15 июн 2010
    Сообщения:
    7
    Симпатии:
    0
    Адрес:
    Львов-Украина
    вопрос такого характера есть ли под виндовсмобайл, прога рабочая но при трех точках точнее координаты, а есть ли на подобии обратная линейная
     
    #18
  19. Philin

    Форумчанин

    Регистрация:
    1 фев 2008
    Сообщения:
    2.534
    Симпатии:
    2.072
    Адрес:
    Москва
    на знаю о таких

    В смыле точнее? по трём точках угловая засечка не имеет никакого контроля, поэтому неизвестно насколько точны рассчитанные координаты, запросто может быть ошибка дестяки метров.

    Для чего нужна чисто линейная засечка? Раз вы можете измерить линии, то и углы вы можете прибором измерить... и засечка будет линейно-угловой тогда.
    Задача по трём и более линиям на пункты с известными координатами решается гораздо проще чем угловая засечка.
     
    #19
  20. dann.aero

    Регистрация:
    19 июл 2011
    Сообщения:
    1
    Симпатии:
    0
    Адрес:
    Киев
    Philin, вообще-то этот калькулятор, CASIO FX-9860G, идет с кабелем для связи с таким же калькулятором или проектором.
    А юсб-кабель туда подходит стандартный.

    PS: у кого есть возможность поделиться пакетом геодезических программ для этого калькулятора? А то калькулятор есть, а программ - нема:(
     
    #20

Поделиться этой страницей

  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление