Программирование в геодезии

Тема в разделе "Общие вопросы", создана пользователем Alexyz, 11 май 2009.

  1. stout

    stout Форумчанин

    ВсёНормально.png
    Всё нормально?
    Ну и так, по-мелочи.
    p = 3600*180/Math.PI
    Комент к делта Н. ::smile24.gif::
    З.Ы. Издревле существует правило, если в начертании шрифта буква l похожа на цифру 1, то либо не использовать такой шрифт, либо, что намного лучше, отказаться от маленькой l вообще.
    З.З.Ы.
    В данной ситуации LGO не лучший выбор. Уникальность LGO в том, что используются полноценные матрицы вращения, а не усеченный вариант типа Бурша-Вольфа. Расхождения где-то в 11-12 знаке мантисы (если не подводит память)
     
  2. Alexyz

    Alexyz Форумчанин

    я думал что LGO вариант Бурша-Вольфа используется..
    [​IMG]
    Да ладно не в этом проблема. Спасибо за рекомендации по стилю, приму к сведению , но суть дела не поменяло, даже если так:
    M = a * (1 - e2) / Math.Pow((1 - e2 * Math.Pow(Math.Sin(B), 2)), 3);
    N = a / Math.Sqrt((1 - e2 * Math.Pow(Math.Sin(B), 2)));
    при том, что
    ρ = 3600 * 180 / Math.PI;
    Если с Долготой все более и менее отлично, то Широта и высоты оставляют желать лучшего..
     
  3. stout

    stout Форумчанин

    Я немножко о другом.
    3 / 2 == 1
    1 / 2 == 0
    Поэтому в первом случае степень надо записать как 1.5.
    Для второго варианта для М куда-то исчез квадратный корень.
    Возведение в дробную степень происходит через вычисление натурального логарифма и функцию exp() - довольно длительные операции. Поэтому, если степень кратна 0.5, то лучше извлечь квадратный корень и возводить в целую степень.
    Для всех современных процессоров извлечение квадратного корня по времени (по тактам) равно операции деления. Конечно, для этой задачи это совершенно всё равно.
    Скорее всего здесь под Бурша-Вольф подразумевается направление счёта углов.
    Надо будет проверить.
     
  4. Alexyz

    Alexyz Форумчанин

    Корень добавил..
    результат картину не особо изменил..
    [​IMG]
     
  5. stout

    stout Форумчанин

    Если можно, сбросьте исходные в личку - попробую набросать пример, сверимся.
     
  6. Alexyz

    Alexyz Форумчанин

    Давно не был на форуме.. недавно появилась идея сделать программку расчета данных карт.проекции... С возможностью ввода "опорных" геодезических координат так и плоских... с переводом в плоские проблем не было (через пространственно прямоугольные)... но что-то захотелось реализовать весь "инструмент" перевода, добавить метод BLHwgs84 to BLHuser.. Столкнулся с проблемкой. Зашел на сайт задал вопрос, интуитивно догадывался, что наверно только Вы и поможете.. Попутно по форуму "промчался".. нашел тему про BLAB... огорчился.. ::biggrin24.gif::.. что я не оригинален... . Практически как я и хотел сделать, только географических координат не хватает.. и анализа "плохих" опорных пунктов..
     
  7. igor kruchkovskiy

    igor kruchkovskiy Форумчанин

    Здравствуйте! Помогите кто может.Где можно добыть информацию по управлению прибором Leica ts09.В частности интересуют команды ввода вывода.Буду очень признателен за помощь.Хочу расширить функционал автокада.Написать на .net новые акад команды.Например отправляю команду замерить по блютузу в тах,он измерив отправляет координаты на комп и в акаде рисуется точка(примитивный пример конечно ).Для тахеометра sokkia уже проделываю такие фокусы.В инструкции по тахеометру sokkia set 500 описаны подробности команд ввода-вывода.Есть ли такая инструкция для тахеометра Leica?Помогите пожалуйста очень нужно,всю голову сломал не знаю где взять.
     
  8. Alexyz

    Alexyz Форумчанин

    Здрасте!
    TPS1200_GeoCOM_GettingStarted
    TPS1200_GeoCOM_Manual
    TPS1200_TS30_TM30_GeoCOM_Manual
    На приборе, если не ошибаюсь, необходима активация лицензии GeoCOM (активация интерфейса для работы с продуктами сторонних фирм).
    Вроде как, эта опция лишает пользователя фирменной гарантии. ::dry.gif::
     
    igor kruchkovskiy нравится это.
  9. igor kruchkovskiy

    igor kruchkovskiy Форумчанин

    Большое спасибо!!!А на topcon gts721,gts 313 есть чтонить?
     
  10. Alexyz

    Alexyz Форумчанин

    Не за что! Не-а... Only Leica ::cool24.gif::
     
  11. igor kruchkovskiy

    igor kruchkovskiy Форумчанин

    Спорить не буду все приборы хороши(те которые знаешь), свои плюсы минусы.Просто у меня есть как говориться, то что есть.
     
  12. Макросы с панелькой для AutoCAD. Макросы содержаться в AutoCAD1.dvb
    - для подписи и оформления исполнительных и т.д. см файл с инструкцией
    создания файла координат для Trimble c панелью от Geodimetr из файла чертежа DWG
     

    Вложения:

    • AutoCAD.Mac.rar
      Размер файла:
      760,2 КБ
      Просмотров:
      7
  13. igor kruchkovskiy

    igor kruchkovskiy Форумчанин

    Пайтон - язык сценариев в роди как, OOП, а тем более .Net не пахнет, освоить легко, да вот только не то это, не развернешься, тесно.
    --- Сообщения объединены, 13 ноя 2016, Оригинальное время сообщения: 13 ноя 2016 ---
    Немного не в тему, но вот статья для java и библиотеки для работы с DXF, может пригодится.
     
  14. trir

    trir Форумчанин

  15. Alex_Red

    Alex_Red Форумчанин

    Когда то, очень давно, нашел в инете модуль для Делфи. Сформированный dxf от очень старой версии, но все версии Автокада и Нанокада его нормально открывают (из тех что были под рукой).
    Коментарии от автора модуля (раскрыть)

    Нежельский Виктор

    Я себе сам написал ещё под Турбо Паскаль для
    Автокада 10. Модули компилируются и в любой версии Делфи, а DXF читается любым Автокадом ввиду простоты используемых примитивов.

    Модуль TP_ACAD
    ----------------
    Модуль TP_ACAD реализует возможность обмена графической информацией
    с графическим редактором AutoCAD (версия 10.0 и выше) посредством создания
    dxf-файлов и ориентирован на создание двумерных чертежей.

    Переменные модуля TP_ACAD
    --------------------------
    Определены следующие переменные:
    BAZX, BAZY : double=0.0 координаты точки начала отсчета локальной системы координат;
    LAYER:string[12]='0' наименование текущего слоя;
    COLOR:byte=10 номер текущего цвета графических примитивов;
    TIPLINE:string[12]='CONTINUOUS' текущий тип линий;
    TIPTXT:string[12]='STANDARD' текущий стиль текста;
    ALFTXT:double=0.0 текущий угол поворота текстовой строки;
    BETTXT:double=0.0 текущий угол наклона букв в тексте;
    HTXT:double=2.5 текущая высота текста;
    BTXT:double=1.0 текущий коэффициент соотношения ширины букв к их высоте в тексте;

    Основные процедуры модуля TP_ACAD
    ---------------------------------
    ARC - Запись дуги.
    CIRCLE - Запись окружности.
    RING - Запись кольца заданного двумя диаметрами.
    LINE - Запись линии.
    POLYLINE - Запись признака начала полилинии.
    VERTEX - Запись вершин полилинии.
    END_POLI - Запись признака конца полилинии.
    TXT - Запись текста.
    OPEN_DXF - Открытие dxf-файла и запись признака начала dxf-файла.
    CLOSE_DXF - Запись признака конца dxf-файла и закрытие файла.

    Пример программы построения квадрата 10х10 полилинией толщиной 0.5:

    Program ROOT;
    uses TpAcad;
    begin
    OPEN_DXF('ROOT');
    POLYLINE(0.5);
    VERTEX(0,0);
    VERTEX(10,0);
    VERTEX(10,10);
    VERTEX(0,10);
    VERTEX(0,0);
    END_POLI;
    CLOSE_DXF;
    end.

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

    Вложения:

    • Tp_Acad.rar
      Размер файла:
      3,4 КБ
      Просмотров:
      12
    igor kruchkovskiy нравится это.
  16. Alex_Red, а этот модуль создает DXF файл я так понимаю?
     
  17. Alex_Red

    Alex_Red Форумчанин

    Да. В процедуру OPEN_DXF(S:string) передается имя файла (переменная S), и все дальнейшие команды дописывают к нему примитивы чертежа. Простейший пример дан в описании от автора модуля.

    Вот так упрощенно выглядит код формирования файла dxf в одной из моих программ, в которой из некоторого массива формируются полилинии на определенном слое, а на другом слое формируются текстовые надписи к этим полилиниям:
    Код:
     
     OPEN_DXF('E:\WORK\Sample.dxf'));
     HTXT:= 1.0;
     
    For i:=0 To nEntities-1 Do
    Begin
     
    LAYER:= 'Polylines';
    POLYLINE(0.0,true);
     
    For j:=0 To nVertices-1 Do
      Begin
        VERTEX(X[j], Y[j]);
      End;
     
    LAYER:= 'Text';
    TXT('SampleText', X, Y,0,0,0);
     
    End;
     
    CLOSE_DXF;
    
     
    sanya1980 нравится это.
  18. zeon111

    zeon111 Форумчанин

    1. Подскажите какой язык программирования лучше подходит для автокад? Наиболее функционален и прост.
    Допустим для написания программ - которые смогли бы нарисовать профиль полилиниями(или отрезками) в автокаде (который можно потом вручную редактировать как хочется) - чтобы пользователь программы - только щелкал точки на плане и вводил отметки запрашиваемые и др...
     
  19. stout

    stout Форумчанин

    Есть подозрение, переходящие в уверенность, что лучше всего подходит язык обработки списков.
     
  20. igor kruchkovskiy

    igor kruchkovskiy Форумчанин

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