Свяжитесь с нами

Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
  Войти      Регистрация





Некорректная работа конвертера
Страницы: 1
Некорректная работа конвертера
 
Некорректная работа конвертера с координатами точек где в значениях долей метра и градуса в последних единицах присутствует (ноль), в любой степени точности!

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

Пулково 1942 зона 19 ГОСТ 51794-2008 --- МСК-75 зона 3 Забайкальский край
=========================================================================

№1).
18-60;5678750.471;19686132.371;794.500
67-32;5675339.671;19687348.231;783.200
67-28;5675347.121;19687308.491;783.400
67-88;5682526.090;19688819.070;762.100
18-54;5678830.030;19686158.160;794.500
18-56;5678811.980;19686150.320;794.400
= преобразование:

18-60;565211.251;3154283.986;794.500
67-32;561740.005;3155310.642;783.200
67-28;561749.619;3155271.382;783.400
67-88;568832.61;3157172.856;762.100
18-54;565289.251;3154314.091;794.500
18-56;565271.664;3154305.275;794.400
- всё сработало!
______________________________________

№2).
67-88;5682526.090;19688819.070;762.100
18-54;5678830.030;19686158.160;794.500
18-56;5678811.980;19686150.320;794.400
18-60;5678750.471;19686132.371;794.500
67-32;5675339.671;19687348.231;783.200
67-28;5675347.121;19687308.491;783.400
= преобразование:

67-88;5682526.090;19688819.070;762.100
18-54;5678830.030;19686158.160;794.500
18-56;5678811.980;19686150.320;794.400
18-60;565211.251;3154283.986;794.500
67-32;561740.005;3155310.642;783.200
67-28;561749.619;3155271.382;783.400
- не сработали первые три координаты, с - (0)!!!
______________________________________

№3).
- то же самое, что и №2), но в первой строчке добавляем координаты с отличными от (0) значениями
+ 67-28;5675347.121;19687308.491;783.400

67-88;5682526.090;19688819.070;762.100
18-54;5678830.030;19686158.160;794.500
18-56;5678811.980;19686150.320;794.400
18-60;5678750.471;19686132.371;794.500
67-32;5675339.671;19687348.231;783.200
67-28;5675347.121;19687308.491;783.400
= преобразование:

67-28;561749.619;3155271.382;783.400

67-88;568832.61;3157172.856;762.100
18-54;565289.251;3154314.091;794.500
18-56;565271.664;3154305.275;794.400
18-60;565211.251;3154283.986;794.500
67-32;561740.005;3155310.642;783.200
67-28;561749.619;3155271.382;783.400
- всё сработало, даже те координаты, где есть - (0)!!!
______________________________________

№4).
- то же самое, что и №3), но в первой строчке добавляем координаты с равными (0) значениями
+ 18-56;5678811.980;19686150.320;794.400
67-28;5675347.121;19687308.491;783.400

67-88;5682526.090;19688819.070;762.100
18-54;5678830.030;19686158.160;794.500
18-56;5678811.980;19686150.320;794.400
18-60;5678750.471;19686132.371;794.500
67-32;5675339.671;19687348.231;783.200
67-28;5675347.121;19687308.491;783.400
= преобразование:

18-56;5678811.980;19686150.320;794.400
67-28;561749.619;3155271.382;783.400

67-88;568832.61;3157172.856;762.100
18-54;565289.251;3154314.091;794.500
18-56;565271.664;3154305.275;794.400
18-60;565211.251;3154283.986;794.500
67-32;561740.005;3155310.642;783.200
67-28;561749.619;3155271.382;783.40

- не сработала только первая строчка с координатами - (0)!

========================================

WGS84 долгота/широта сфера(Google) --- МСК-75 зона 3 Забайкальский край
=======================================================================

№1).
18-60;52.453789558;112.229469783;762.100
67-32;52.488789558;112.249469783;762.100
67-28;52.408789558;112.239469783;762.100
67-88;52.478789550;112.239469780;762.100
18-54;52.458989550;112.219469780;762.100
18-56;52.418789550;112.289469780;762.100
= преобразование:

- всё сработало!
________________________________________

№2).
- то же самое, что и №1), но меняем порядок строчек точек координаты с равными - (0) значениями, в верх по столбцу
67-88;52.478789550;112.239469780;762.100
18-54;52.458989550;112.219469780;762.100
18-56;52.418789550;112.289469780;762.100
18-60;52.453789558;112.229469783;762.100
67-32;52.488789558;112.249469783;762.100
67-28;52.408789558;112.239469783;762.100
= преобразование:
67-88;52.478789550;112.239469780;762.100
18-54;52.458989550;112.219469780;762.100
18-56;52.418789550;112.289469780;762.100
18-60;706513.656;3059364.588;762.100
67-32;710354.523;3060873.949;762.100
67-28;701481.467;3059850.541;762.100

- не сработали строчки с координатами равными - (0) значению!
________________________________________

№3).
- то же самое, что и №2), но добавляем в верх столбца строчку точки с координатами отличными от - (0) значениями

+ 67-28;52.408789558;112.239469783;762.100

67-88;52.478789550;112.239469780;762.100
18-54;52.458989550;112.219469780;762.100
18-56;52.418789550;112.289469780;762.100
18-60;52.453789558;112.229469783;762.100
67-32;52.488789558;112.249469783;762.100
67-28;52.408789558;112.239469783;762.100
= преобразование:

67-28;701481.467;3059850.541;762.100

67-88;709268.347;3060151.822;762.100
18-54;707118.546;3058707.532;762.100
18-56;702463.519;3063294.292;762.100
18-60;706513.656;3059364.588;762.100
67-32;710354.523;3060873.949;762.100
67-28;701481.467;3059850.541;762.100
= преобразование:

- всё сработало!
________________________________________

№4).
- то же самое, что и №3), но добавляем в верх столбца строчку точки с координатами равными - (0) значению

+ 18-56;52.418789550;112.289469780;762.100
67-28;52.408789558;112.239469783;762.100

67-88;52.478789550;112.239469780;762.100
18-54;52.458989550;112.219469780;762.100
18-56;52.418789550;112.289469780;762.100
18-60;52.453789558;112.229469783;762.100
67-32;52.488789558;112.249469783;762.100
67-28;52.408789558;112.239469783;762.100
= преобразование:

18-56;52.418789550;112.289469780;762.100
67-28;701481.467;3059850.541;762.100

67-88;709268.347;3060151.822;762.100
18-54;707118.546;3058707.532;762.100
18-56;702463.519;3063294.292;762.100
18-60;706513.656;3059364.588;762.100
67-32;710354.523;3060873.949;762.100
67-28;701481.467;3059850.541;762.100

- не сработала только первая строчка столбца с - (0)значением!
===========================================
===========================================
 
Цитата
Виктор Суббота написал:
Некорректная работа конвертера с координатами точек где в значениях долей метра и градуса в последних единицах присутствует (ноль), в любой степени точности!
Добрый день.
Благодарим за проявленный интерес к нашим веб-сервисам. Мы ведем активную работу по улучшению веб-сервисов "Полигон", в том числе и по "Конвертеру координат МСК, СК-42/63, ПЗ-90, WGS-84".
Направленная Вами информация передана разработчикам.

На данный момент для пересчета в указанных координатах можно убрать незначащие нули, например, координаты 5682526.090; 19688819.070 записать как 5682526.09; 19688819.07.
Приносим извинения за доставленные неудобства.
 
Добрый день!
Спасибо за разъяснение. Понятно, что с момента выявления этого "казуса" я также пришёл к пониманию, что требуется "замена" нуля.
Но эта "замена" легко контролируется и исправляется, когда требуется пересчитать какой-то десяток координат.
Сразу возникают сложности, когда таких координат несколько сотен, причём нахождение "нулей" как в значениях - X; Y; так и B; L;.
Попытка автоматически избегнуть нуля - округлением, в каком-либо "низшем разряде", при большом количестве координат, неминуемо приводит к появлению таких же нулей в последующих разрядах.
Возникает большая проблема, когда в сводную таблицу по пересчёту собираются данные из нескольких уже рассчитанных проектов, в которые уже были ранее заложены "свои" степени округления, например,
- пункты геодезического обоснования 5682526.090; 19688819.070;
- пункты съёмочной сети 5682526.09; 19688819.07;
- геологические скважины 5682526.0; 19688819.0;
Понятно, что степень округления всей таблицы, автоматически понижает точность расчётов до их минимально возможного значения - сантиметра, дециметра и вплоть до метра!
Понятно, что этого можно избежать простым "не смешиванием" разных по точности каталогов.
Но это ведёт к другим возникающим усложнениям и мы, наверное, не будим их сейчас рассматривать.
Более приемлемым, на мой взгляд, решением которым я и воспользовался, является наоборот повышение точности отображения чисел, например,
- функция "правка", в таблице формата (txt.)

18-60;5678750.470;19686132.374;794.500
67-32;5675339.671;19687348.240;783.200
67-28;5675347.120;19687308.491;783.400

- производим замену - (0;) на (01;), получаем,

18-601;5678750.4701;19686132.374;794.500
67-32;5675339.671;19687348.2401;783.200
67-28;5675347.1201;19687308.491;783.400,

В таком виде таблицы конвертер успешно выполняет расчёт. Но в этой процедуре есть и свои тонкости, за которыми, увы, также надо следить.
Номер точки, в нашем примере - (18-60;), также изменился - на (18-601;)
Но этой конкретной замены можно легко избежать, подбирая индивидуальные критерии выполнения процедуры "замена".
Очевидно, возможно найти и другие многочисленные способы решения этой несложной задачи.
Но конечно же лучшим решением будет его программное исправление, т.к. даже само "допущение", что незначащий "нолик" в исходном задании, может непредсказуемо внести ошибки в конечное решение, и их последующие неизбежные долгие поиски для устранения, значительно осложняют работу с веб-сервисом!
Спасибо Администратору, за оперативное реагирование на озвученные замечания!
Буду и в дальнейшим пользоваться Вашим уже обновлённым онлайн-сервисом.
С уважением, Виктор!

 
Здравствуйте, Виктор!
Благодарю за такое детальное исследование!

Посмотрел свой программный код. Нашел проблему.
Перед конвертацией сначала выполняется поиск разделителя между числами в строке. Если в строке найдено 2 и более числа, то разделитель верный. Однако, когда числа заканчиваются на ноль, система не распознавала их как ноль, ввиду того, что строковое и текстовое представление числа в этом случае отличается (как раз нулём).

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

Спасибо за сотрудничество!

Виктор, а вообще как Вам сервис? В этой версии я старался не просто дизайн переделать, но и снабдить дополнительными возможностями: отображением на карте, импорт из XML-файлов, выгрузка в файлы различных форматов. Что из этого "зашло", что понравилось, что востребовано?
 
А также доделал и изменил принципы округления и описал их в инструкции к сервису в отдельном разделе "Округление координат".

Все доработки будут доступны через несколько дней после внутреннего тестирования.
 
Добрый день, Павел!
Буду рад нашему дальнейшему общению в вопросах улучшения работы Вашего сервиса, т.к. считаю это взаимовыгодным!
Пользовался Вашим сервисом, прежней версией, с 2016 года. Как сейчас понимаю, буду пользоваться "новой" версией и в будущем.
По вопросу высказывания возникающих пожеланий в работе, то по мере рабочего использования сервиса, постараюсь их собрать и соответственно оформить.
Но уже сейчас хочу особо выделить понравившееся нововведение - отображение результатов пересчёта на карт-материалах!
Эта очень удобная функция позволяет визуально проводить надёжный контроль за процессом конвертации, автоматически включая, так сказать, "защиту от дурака",
т.е. практически исключает возникновение грубых ошибок (описок) в процессе сбора и загрузке данных для вычислений в конвертер. Ранее, чтобы этого добиться, приходилось пользоваться дополнительными ресурсами
(конкретно я пользовался картами GEOBRIDGE), чтобы выявить и устранить "отскоки".
В виде пожелания, хочу сразу же порекомендовать доработать форму отображения результата вычислений на картах.
На данный момент, результат отображается на картах, если это одна точка - в виде точки, если это "каталог" из точек - в виде трека.
Наверное, в случае, если речь идёт о границе участка (Кадастр), то это вполне удобно. В остальных же возникающих случаях - в прикладной геодезии и топографии, не совсем.
По-моему, было бы вполне уместным предусмотреть возможность "ручного" выбора формата отображения результата, при выводе на карту - как в виде точек, так и виде треков!
Ну уж тогда и совсем, вишенка на торте, грядущих пожеланий!
Если, всё-таки, будет разработана функция отображения в виде точек, то тогда уж, желательно, и с их номерами, что существенно облегчит их идентификация при значительном "облаке" точек.
Для наглядного разбора, привожу конкретный пример. Приведённые точки, это геологические скважины, на разных буровых профилях.
Согласитесь, что оценка их графического расположение на картах, была бы значительно нагляднее и проще, если бы она выразилась в виде отдельных "точек",
а не в виде "запутанного" трека.
Пример:
674-84;5682520.367;19688779.228;760.977
674-82;5682519.230;19688759.003;760.382
50-24;5680887.095;19683904.661;829.898
50-38;5680812.745;19683793.54;829.717
698-6 ;5679732.209;19687988.789;773.961
22-40;5672865.388;19685038.701;835.797
22-24;5673009.476;19685052.964;834.224
698-42;5679843.431;19688306.895;767.556
748-64;5675266.276;19687696.316;783.287
748-92;5675208.662;19687984.456;784.600
729-38;5670767.592;19687558.410;797.516
792-70;5670812.307;19687866.575;797.428
26-22;5679319.978;19685598.487;801.915
26-48;5679094.408;19685498.497;800.579
42-30;5680163.756;19684177.774;820.747
42-8;5680292.969;19684342.584;821.773
10-12;5678616.724;19687413.378;783.366
10-56;5678182.533;19687247.773;783.859
18-30;5679036.522;19686271.536;792.866
18-72;5678669.381;19686078.22;794.337
16-2;5675318.605;19685612.213;804.814
16-58;5674845.897;19685374.364;806.114

С уважением, Виктор!
Страницы: 1
Читают тему (гостей: 1)


QR-код адреса сайта http://pbprog.ru