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

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

Войти

Необходимо рассчитать координаты точек окружности для того, чтобы вывести в последствии на карту

Тема в разделе "MapInfo", создана пользователем leemaster, 6 фев 2017.

  1. leemaster

    Регистрация:
    6 фев 2017
    Сообщения:
    10
    Симпатии:
    0
    Извините, пожалуйста, если не совсем в той ветке.
    Суть вопроса:

    Задача: 1. есть электронная карта в равноугольной цилиндрической проекции;
    2. центр окружности задан (известны его широта и долгота);
    3. радиус окружности 3000 км (может меняться);

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

    Буду благодарен всем откликнувшимся, так как все нужно еще вчера!
    (если направите на код на любом языке (Дельфи [​IMG] )-молиться за Вас буду каждый день)
     
    #1
  2. MaksNik

    Форумчанин

    Регистрация:
    3 июн 2013
    Сообщения:
    64
    Симпатии:
    30
    Вам необходимо в MapInfo это сделать? Если да то:
    1.ИМХО Для этой задачи лучше использовать не Delphi а MapBasic. К MapInfo из Delphi подключиться можно либо через COM объект, либо создавать библиотеку в Delphi и подключаться к ней из MapBasic.
    2. Алгоритм программы будет следующим:
    - к примеру выбираете окружность на карте (пусть указывает объект пользователь);
    - устанавливаем прямоугольныю систему координат в нашей программе (система координат карты при этом не меняется! ) функция Set CoordSys;
    - получаем координаты центра указанной окружности (функцияObjectGeography( ) function ObjectGeography);
    - а далее пишем функцию которая будет вычислять координаты методом полрной засечки (приращение координат по углу и расстоянию).
    - создаем точечный объект в переменной ( Create Point Into _Variable);
    - меняем систему координат на начальную (Set CoordSys);
    - получаем координаты созданного точечного объекта ( ObjectGeography).
    Create Point statemen



    Надеюсь ход моих мыслей вполне понятен.

    P.S. Давненько я не писал на MapBasic, может уже и добавили фнкцию вычисления прирощения координат по углу и расстоянию в стандартные - надо читать.
     
    #2
    Qvinto и leemaster нравится это.
  3. leemaster

    Регистрация:
    6 фев 2017
    Сообщения:
    10
    Симпатии:
    0
    MaksNik, спасибо за ответ.
    Надо не для MapInfo. Проблема с алгоритмом расчета координат точек окружности. Пробовал формулы прямоугольного сферического треугольника-пока, увы, не получается. Надо что-то подобное этому (пример первый попавшийся).[​IMG]
     
    #3
  4. MaksNik

    Форумчанин

    Регистрация:
    3 июн 2013
    Сообщения:
    64
    Симпатии:
    30
    Так по сути Вам необходимо вычислить координаты точки на окружности, где центр окружности имеет географические координаты?
    Посмотрите ЭТУ ССЫЛКУ, там расписано как по координатам 2-х точек вычислить угол и расстояние на сфере. Если я правильно понял ваше задачу, то из привелденных там формул можно будет вычислить координаты второй точки указав координаты 1-й точки, расстояние (радиус Вашей окружности), угол.
    P.S. реализовать алгоритм приведенный в виде скрипта на Delphi реализовать будет не проблема.
     
    #4
    leemaster нравится это.
  5. В.Шуфотинский

    В.Шуфотинский Модератор
    Команда форума Форумчанин

    Регистрация:
    10 дек 2008
    Сообщения:
    17.297
    Симпатии:
    4.952
  6. leemaster

    Регистрация:
    6 фев 2017
    Сообщения:
    10
    Симпатии:
    0
    Первая геодезическая задача. Если кто может поделться кодом - это очень поможет.
     
    #6
  7. В.Шуфотинский

    В.Шуфотинский Модератор
    Команда форума Форумчанин

    Регистрация:
    10 дек 2008
    Сообщения:
    17.297
    Симпатии:
    4.952
    Прямая геодезическая задача? Если так, то это минутное дело для написания кода.
     
    #7
    leemaster нравится это.
  8. leemaster

    Регистрация:
    6 фев 2017
    Сообщения:
    10
    Симпатии:
    0
    Уважаемый В.Шуфотинский!
    Уделите эту минуту Вашего времени, пожалуйста.
     
    #8
  9. В.Шуфотинский

    В.Шуфотинский Модератор
    Команда форума Форумчанин

    Регистрация:
    10 дек 2008
    Сообщения:
    17.297
    Симпатии:
    4.952
    Простите, но если Вы собрались делать что-то значительное, то не стоит хотя бы экономить время на пустяки. Вы видели формулы прямой задачи?
     
    #9
    leemaster нравится это.
  10. MaksNik

    Форумчанин

    Регистрация:
    3 июн 2013
    Сообщения:
    64
    Симпатии:
    30
    Вы планируете рачситывать координаты точек на окружности без учета кривизны поверхности земли? Т.е. откладывая расстояние в 3000 км от центра окружности все же стоит учитывать то что наша планета не есть диск на трех слонах.... аапперируя такими растояниями да еще и в географических координатах, рекомендую учесть кривизну поверхности. А еже ли стоит острая необходимость в написаниии процедуры расчета примой геодезической задачи, так там дел на 5 мин.

    P.S. вот наткнулся на решение прямой геодезической задачи на сфере
     
    #10
    Последнее редактирование: 7 фев 2017
    leemaster нравится это.
  11. stout

    Форумчанин

    Регистрация:
    5 янв 2008
    Сообщения:
    4.172
    Симпатии:
    11.936
    Адрес:
    Златоглавая и Белокаменная
    MaksNik указал верное направление, но смотреть лучше здесь.::biggrin24.gif::
    Единственный нюанс, если даны геодезические координаты (геодезическая широта и долгота), то для вычисления на сфере их надо преобразовать в геоцентрические, а после вычисления на сфере, опять в геодезические.
    Равноугольная цилиндрическая проекция – это проекция Меркатора?
    --- Сообщения объединены, 7 фев 2017, Оригинальное время сообщения: 7 фев 2017 ---
    Опа. ::biggrin24.gif::
    Пока писал, MaksNik дал верную ссылку.
    --- Сообщения объединены, 7 фев 2017 ---
    Геоцентрическую ψ широту по геодезической φ находим так (формулы строгие)
    Испр. формулы даны ниже.
     
    #11
    Последнее редактирование: 8 фев 2017
    leemaster нравится это.
  12. leemaster

    Регистрация:
    6 фев 2017
    Сообщения:
    10
    Симпатии:
    0
    Огромное спасибо откликнувшимся. Вы правы. Я-не геодезист. и задача вывода на карту окружности в моем приложении второстепенна - этим объясняется "гаденькое" желание получить готовое решение. Попробовал по ссылкам написать код на Дельфи - пока не получается правильный результат (сравниваю с http://www.ga.gov.au/geodesy/datums/vincenty_direct.jsp).
     
    #12
  13. Элен

    Форумчанин

    Регистрация:
    10 дек 2010
    Сообщения:
    2.218
    Симпатии:
    1.802
    Оффтоп

    Ничего себе, нарисовали окружность на пол Евразии, первый попавший пример. Для общего развития, а для чего это вам? Не геодезисту
     
    #13
    leemaster нравится это.
  14. Артем Скурихин

    Форумчанин

    Регистрация:
    24 фев 2010
    Сообщения:
    942
    Симпатии:
    1.273
    Адрес:
    Минск. Республика Беларусь
    Это явно не для моднючих "калибров"... Зона поражения для кой-чего помассивней..
     
    #14
    leemaster и stout нравится это.
  15. leemaster

    Регистрация:
    6 фев 2017
    Сообщения:
    10
    Симпатии:
    0
    Ой, калибры то причем? Картинку нагуглил.
     
    #15
  16. stout

    Форумчанин

    Регистрация:
    5 янв 2008
    Сообщения:
    4.172
    Симпатии:
    11.936
    Адрес:
    Златоглавая и Белокаменная
    Вы бы привели ваш контрольный пример, что дано и что получаете.
     
    #16
    leemaster нравится это.
  17. В.Шуфотинский

    В.Шуфотинский Модератор
    Команда форума Форумчанин

    Регистрация:
    10 дек 2008
    Сообщения:
    17.297
    Симпатии:
    4.952
    Да и написали бы, зачем всё это надо? Может оказаться, что либо существуют готовые решения, либо это несбыточные идеи.
     
    #17
    leemaster нравится это.
  18. stout

    Форумчанин

    Регистрация:
    5 янв 2008
    Сообщения:
    4.172
    Симпатии:
    11.936
    Адрес:
    Златоглавая и Белокаменная
    Ошибся и исправил
    The Geocentric Latitude.png
     
    #18
    leemaster нравится это.
  19. Артем Скурихин

    Форумчанин

    Регистрация:
    24 фев 2010
    Сообщения:
    942
    Симпатии:
    1.273
    Адрес:
    Минск. Республика Беларусь
    А что это про "подводные камни" в виде проверки на попадание четвертей никто не намекает?
    И уже "готовая" (заранее выстроенная в проекции) карта, где многоконтурные объекты уже выверены, вызывает особое подозрение...
     
    #19
    leemaster нравится это.
  20. stout

    Форумчанин

    Регистрация:
    5 янв 2008
    Сообщения:
    4.172
    Симпатии:
    11.936
    Адрес:
    Златоглавая и Белокаменная
    Какие такие подводные камни?
     
    #20
    leemaster нравится это.

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

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