Извините, пожалуйста, если не совсем в той ветке. Суть вопроса: Задача: 1. есть электронная карта в равноугольной цилиндрической проекции; 2. центр окружности задан (известны его широта и долгота); 3. радиус окружности 3000 км (может меняться); Необходимо рассчитать координаты точек окружности (с какой-нибудь дискретностью) для того, чтобы вывести впоследствии на карту. Буду благодарен всем откликнувшимся, так как все нужно еще вчера! (если направите на код на любом языке (Дельфи )-молиться за Вас буду каждый день)
Вам необходимо в 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, может уже и добавили фнкцию вычисления прирощения координат по углу и расстоянию в стандартные - надо читать.
MaksNik, спасибо за ответ. Надо не для MapInfo. Проблема с алгоритмом расчета координат точек окружности. Пробовал формулы прямоугольного сферического треугольника-пока, увы, не получается. Надо что-то подобное этому (пример первый попавшийся).
Так по сути Вам необходимо вычислить координаты точки на окружности, где центр окружности имеет географические координаты? Посмотрите ЭТУ ССЫЛКУ, там расписано как по координатам 2-х точек вычислить угол и расстояние на сфере. Если я правильно понял ваше задачу, то из привелденных там формул можно будет вычислить координаты второй точки указав координаты 1-й точки, расстояние (радиус Вашей окружности), угол. P.S. реализовать алгоритм приведенный в виде скрипта на Delphi реализовать будет не проблема.
Посмотрите эту тему: http://geodesist.ru/forum/threads/p...a-koordinat-iz-odnoj-sistemy-v-druguju.41639/
Простите, но если Вы собрались делать что-то значительное, то не стоит хотя бы экономить время на пустяки. Вы видели формулы прямой задачи?
Вы планируете рачситывать координаты точек на окружности без учета кривизны поверхности земли? Т.е. откладывая расстояние в 3000 км от центра окружности все же стоит учитывать то что наша планета не есть диск на трех слонах.... аапперируя такими растояниями да еще и в географических координатах, рекомендую учесть кривизну поверхности. А еже ли стоит острая необходимость в написаниии процедуры расчета примой геодезической задачи, так там дел на 5 мин. P.S. вот наткнулся на решение прямой геодезической задачи на сфере
MaksNik указал верное направление, но смотреть лучше здесь. Единственный нюанс, если даны геодезические координаты (геодезическая широта и долгота), то для вычисления на сфере их надо преобразовать в геоцентрические, а после вычисления на сфере, опять в геодезические. Равноугольная цилиндрическая проекция – это проекция Меркатора? --- Сообщения объединены, 7 фев 2017, Оригинальное время сообщения: 7 фев 2017 --- Опа. Пока писал, MaksNik дал верную ссылку. --- Сообщения объединены, 7 фев 2017 --- Геоцентрическую ψ широту по геодезической φ находим так (формулы строгие) Испр. формулы даны ниже.
Огромное спасибо откликнувшимся. Вы правы. Я-не геодезист. и задача вывода на карту окружности в моем приложении второстепенна - этим объясняется "гаденькое" желание получить готовое решение. Попробовал по ссылкам написать код на Дельфи - пока не получается правильный результат (сравниваю с http://www.ga.gov.au/geodesy/datums/vincenty_direct.jsp).
Оффтоп (Move your mouse to the spoiler area to reveal the content) Ничего себе, нарисовали окружность на пол Евразии, первый попавший пример. Для общего развития, а для чего это вам? Не геодезисту
Да и написали бы, зачем всё это надо? Может оказаться, что либо существуют готовые решения, либо это несбыточные идеи.
А что это про "подводные камни" в виде проверки на попадание четвертей никто не намекает? И уже "готовая" (заранее выстроенная в проекции) карта, где многоконтурные объекты уже выверены, вызывает особое подозрение...