Доброго дня розробникам.
Є в мене до вас прохання, щодо функції @Map.Object[N].Centroid - “Повертає координати центроїда полігона”.
В лісовому господарстві зараз прийняли необхідність оприлюднювати “координати центра лісосіки”. Вказана функція щонайліпше підходить для вирішення задачі скриптом, однак варто зазначити: координати, скоріш за все, мають бути географічними (градуси мінути секунди).
Скриптове вирішення може бути таким:
- визначення координат центроїда полігона в карті з пласкою системою координат;
- створення точкового об’єкта з координатами в центроїді полігона;
- зміна системи координат карти на “Широта/довгота”;
- отримання географічних координат точкового об’єкта в десяткових градусах з точністю до 13-ти знаків функцією @Map.Object[N].Point[N];
- перерахунок географічних координат з десяткових градусів у градуси мінути секунди;
- відміна зміни системи координат карти @Map.Undo.Undo
- видалення точкового об’єкта з координатами в центроїді полігона.
Так от: якби функція @Map.Object[N].Centroid повертала б координати центроїда полігону не з точністю 3 знаки, а з максимальною точністю… Тоді не треба було б мати справу з тимчасовими об’єктами в карті.
По-менше би, в ході виконання скрипта, тимчасових змін в карті
Інакше, раптом скрипт не закінчить роботу з помилкою - матимем в карті непотріб.
Як ви порадите, може краще використати HTTP сервер пересчета координат? Але тут свої нюанси: блокування порта антивірусом, порт використовується іншим застосуванням… Тоді додавати функцію dll, з усіма перевірками: чи порт відкритий, чи порт не зайнятий - яка поверне в скрипт масив координат
Скільки часу треба юзеру мого рівня, щоб в Delphi її написати? Може є сенс додати скриптову функцію перерахунку координат точки?