Расчет расстояния между географическими точками, определение вхождения географической точки в окружность, на карте яндекса средствами 1С

25.12.15

Интеграция - WEB-интеграция

Обработка позволяет рассчитывать расстояния между двумя географическими координатами средствами 1С.
Также показан пример определения попадания точки на карте в круглую область с заданным радиусом.
Для наглядности все это выведено на яндекс карты.

Скачать исходный код

Наименование Файл Версия Размер
Определение расстояния между точками на карте яндекса средствами 1с v1
.epf 10,56Kb
102
.epf 1 10,56Kb 102 Скачать

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

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

Долгие поиски в интернете не давали достойного ответа на решение такой, с первого взгляда простой, задачи. 
А задача оказалась совсем не простой.

Земля может быть описана как сфера, поэтому для вычисления расстояния между точками на поверхности земли мы можем использовать уравнения для расчета сферического расстояния большого круга.  При расчете мы берем сферу радиусом 6372795 метров. Ввиду того что земля на самом деле не сфера, а эллипсоид, - пограшность вычисления расстояния может составлять около 0.5%.

Для расчета использована модифицированная формула гаверсинусов.

Для расчета расстояния между двумя координатами не требуется подключение никаких картографических сервисов, все расчеты выполняются локально средствами 1С. Яндекс карта в данной обработке используется только для наглядного отоборажения возможностей формулы, а также для ее тестирования.

Определение (расчет) расстояния между географическими точками а также вхождение географической точки в окружность на карте яндекса средствами 1С

См. также

Интеграция Альфа Авто 5 / Альфа Авто 6 и AUTOCRM / Инфотек

Сайты и интернет-магазины WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    15955    13    18    

13

SALE! 10%

Автоматическая загрузка файлов (например, прайс-листов) из электронной почты, FTP, HTTP, их обработка и выгрузка на FTP (на сайт) и для других целей

Прайсы WEB-интеграция Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Автомобили, автосервисы Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Программа с заданным интервалом времени (или по ручной команде) скачивает файлы (например, прайс-листы поставщиков) из различных источников: письма электронной почты, FTP или HTTP-адреса, и сохраняет их в каталог упорядоченной структуры. При этом извлекает файлы из архивов, может переименовывать файлы и менять их формат (csv, xls, txt). Можно настроить выгрузку обработанных файлов на сайт (через FTP-подключение). Программа будет полезна компаниям, у которых есть большое количество поставщиков и/или прайс-листы поставщиков обновляются часто (необязательно прайс-листы, файлы могут быть любого назначения). Собранные таким образом актуальные версии прайс-листов можно выгрузить с помощью программы себе на сайт (или на любой FTP-сервер) или выполнить другие необходимые задачи.

28000 25200 руб.

28.05.2015    84905    26    51    

50

Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС

Обмен с ГосИС WEB-интеграция Платформа 1С v8.3 Управляемые формы 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:Документооборот 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Обработка является альтернативой механизму, разработанному фирмой 1С и заполняющему реквизиты контрагента по ИНН или наименованию. Не требуется действующей подписки ИТС. Вызывается как внешняя дополнительная обработка, т.е. используется, непосредственно, из карточки контрагента. Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС (egrul.nalog.ru) для БП 2.0, БП 3.0, БГУ 1.0, БГУ 2.0, УТ 10.3, УТ 11.x, КА 1.1, КА 2.x, УПП 1.x, ERP 2.x, УНФ 1.5, УНФ 1.6, УНФ 3.0, ДО 2.1

2400 руб.

28.04.2016    89037    163    216    

318

[Расширение] БОР-Навигатор.Культура

Зарплата Бюджетный учет WEB-интеграция Обмен с ГосИС Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Расширение конфигурации, включающее в себя объекты, необходимые для подготовки и сдачи отчета "Штатная численность" системы "БОР-Навигатор.Культура" в программе "1С:Зарплата и кадры государственного учреждения", редакция 3.1.

8400 руб.

01.02.2019    25893    9    0    

7

Интеграция с сервисом vetmanager

WEB-интеграция Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Внешняя обработка разрабатывалась для загрузки документов из Ветменеджер в 1С: Бухгалтерия 3.0

12000 руб.

02.02.2021    16500    42    49    

23
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. i.d.Kravchenko 25.12.15 09:46 Сейчас в теме
2. olegsmall 32 25.12.15 11:47 Сейчас в теме
3. Andris_infostart 30.12.15 10:44 Сейчас в теме
"рассчитывать расстояния между двумя географическими координатами средствами 1С"
olegsmall, Вы определяете расстояние по прямой от А до Б?
4. olegsmall 32 30.12.15 11:35 Сейчас в теме
Да, по прямой, по поверхности шара (Земли).
У меня она используется для двух задач:
1. Попадание точки в определенную область, описанную окружностью (в данном случае точка попадает в окружность если расстояние от точки до центра окружности меньше радиуса окружности);
2. В алгоритме определения мест остановки транспортных средств (тут сверяются все рядом стоящие точки маршрута и если расстояние от Точки1 до слудующей точки "Точка2" меньше 10 метров тогда считается что движения небыло и Точка2 есть точкой остановки. Шаг регистрации точек в базе данных 30 сек)
5. Andris_infostart 30.12.15 11:57 Сейчас в теме
(4) спасибо.
В своё время была необходимость вычислять расстояние ближайшего реального пути (автодороги, а не пешехода) до точки, зная координаты. Подумал, что у Вас такое реализовано, а тут всё проще :)

6. olegsmall 32 30.12.15 12:07 Сейчас в теме
В вашей задаче не обойтись без картографических сервисов. Вот к примеру построитель маршрута от яндекса Яндекс API
7. Alexander.Shvets 221 30.12.15 12:36 Сейчас в теме
8. V.Nikonov 120 30.12.15 14:31 Сейчас в теме
Круто! Учет сферичности Земли! При расстояниях между точками около 100 км, какова разница между плоским и сферическим представлением поверхности? А координаты вы наверное обрабатываете которые получены с Военных систем определения позиционирования? ;-)
9. Alexander.Shvets 221 30.12.15 15:15 Сейчас в теме
 &НаСервере
Процедура ПросчитатьРастояниеОтДо(Координаты1,Координаты2)
	
//	cos(d) = sin(φА)*sin(φB) + cos(φА)*cos(φB)*cos(λА − λB),
//	где φА и φB — широты, λА, λB — долготы данных пунктов, d — расстояние между пунктами, измеряемое в радианах 
//      длиной дуги большого круга земного шара. 
//	Расстояние между пунктами, измеряемое в километрах, определяется по формуле:
//	L = d·R,
//	где R = 6371 км — средний радиус земного шара.

	Возврат (ASin(sin(Широта(Координаты1))*sin(Широта(Координаты2)) + cos(Широта(Координаты1))*
	cos(Широта(Координаты2))*cos(Долгота(Координаты1) - Долгота(Координаты2))))*6571
	
КонецПроцедуры 
Показать


Погрешность на 100 км составляет +/- 0,1 км
10. Andris_infostart 30.12.15 17:03 Сейчас в теме
(9) Alexander.Shvets, R = 6371 км — средний радиус земного шара
как раз "играя" этим коэффициентом, в зависимости от реальных координат можно добиться уменьшения погрешности.
11. PLAstic 295 31.01.19 18:03 Сейчас в теме
(10) Коэффициентом надо не играть, а вычислять его длину по углу от экватора. Это же геоид, а не сфера.
Продолжаю поиски расчёта расстояния между двумя точками на геоиде...
https://habr.com/ru/post/143898/
Оставьте свое сообщение