Майки от BearDyugin shop ;)

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

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

Войти

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

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

  1. stout

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

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

    Форумчанин

    Регистрация:
    24 янв 2009
    Сообщения:
    250
    Симпатии:
    11
    Адрес:
    Россия
    я думал что 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;
    Если с Долготой все более и менее отлично, то Широта и высоты оставляют желать лучшего..
     
    #42
  3. stout

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

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

    Форумчанин

    Регистрация:
    24 янв 2009
    Сообщения:
    250
    Симпатии:
    11
    Адрес:
    Россия
    Корень добавил..
    результат картину не особо изменил..
    [​IMG]
     
    #44
  5. stout

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

    Регистрация:
    5 янв 2008
    Сообщения:
    3.268
    Симпатии:
    9.011
    Адрес:
    Златоглавая и Белокаменная
    Если можно, сбросьте исходные в личку - попробую набросать пример, сверимся.
     
    #45
  6. Alexyz

    Форумчанин

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

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

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

    Форумчанин

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

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

    Регистрация:
    10 июн 2012
    Сообщения:
    1.854
    Симпатии:
    947
    Адрес:
    Астрахань
    Большое спасибо!!!А на topcon gts721,gts 313 есть чтонить?
     
    #49
  10. Alexyz

    Форумчанин

    Регистрация:
    24 янв 2009
    Сообщения:
    250
    Симпатии:
    11
    Адрес:
    Россия
    Не за что! Не-а... Only Leica ::cool24.gif::
     
    #50
  11. igor kruchkovskiy

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

    Регистрация:
    10 июн 2012
    Сообщения:
    1.854
    Симпатии:
    947
    Адрес:
    Астрахань
    Спорить не буду все приборы хороши(те которые знаешь), свои плюсы минусы.Просто у меня есть как говориться, то что есть.
     
    #51
  12. sanya1980

    Регистрация:
    25 ноя 2010
    Сообщения:
    8
    Симпатии:
    0
    Адрес:
    Мурманск
    Макросы с панелькой для AutoCAD. Макросы содержаться в AutoCAD1.dvb
    - для подписи и оформления исполнительных и т.д. см файл с инструкцией
    создания файла координат для Trimble c панелью от Geodimetr из файла чертежа DWG
     

    Вложения:

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

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

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

    Форумчанин

    Регистрация:
    25 ноя 2014
    Сообщения:
    1.827
    Симпатии:
    477
    Адрес:
    gnomtrir@mail.ru
  15. Alex_Red

    Форумчанин

    Регистрация:
    26 фев 2014
    Сообщения:
    45
    Симпатии:
    13
    Когда то, очень давно, нашел в инете модуль для Делфи. Сформированный 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 КБ
      Просмотров:
      7
    #55
    igor kruchkovskiy нравится это.
  16. sanya1980

    Регистрация:
    25 ноя 2010
    Сообщения:
    8
    Симпатии:
    0
    Адрес:
    Мурманск
    Alex_Red, а этот модуль создает DXF файл я так понимаю?
     
    #56
  17. Alex_Red

    Форумчанин

    Регистрация:
    26 фев 2014
    Сообщения:
    45
    Симпатии:
    13
    Да. В процедуру 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;
    
     
    #57
    sanya1980 нравится это.
  18. zeon111

    Форумчанин

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

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

    Регистрация:
    5 янв 2008
    Сообщения:
    3.268
    Симпатии:
    9.011
    Адрес:
    Златоглавая и Белокаменная
    Есть подозрение, переходящие в уверенность, что лучше всего подходит язык обработки списков.
     
    #59
  20. igor kruchkovskiy

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

    Регистрация:
    10 июн 2012
    Сообщения:
    1.854
    Симпатии:
    947
    Адрес:
    Астрахань
    C#, хотя лучше сразу на C++,так как в первом случае используются классы обертки написанные на C++,то есть на C# функционал ограничен.
     
    #60

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

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