На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

Перевод условных координат в реальные.

Поиск  Пользователи  Правила  Войти
Форум » Общие вопросы » Системы координат
Страницы: 1
RSS
Перевод условных координат в реальные.
 
Здравствуйте.


У нас возникло недопонимае про перевод условных координат в реальные при отсутсвие флага
наличия реальных координат. Формула, используемая нами, дает верные результаты на
большинстве листов. На части листов она не работает в виду того, что реальные
координаты совпадают с условными.


Формула используемая нами:
Xp = SWx + (Xd - X0)/R*S
Yp = SWy + (Yd - Y0)/R*S
Где: Xp, Yp - искомые реальные координаты;
    X0, Y0 - начало отсчета рамки прибора;
    R - разрешающая способность прибора;
    S - масштаб листа.
    SWx, SWy - координаты юго-западного угла в реальной системе.


В результате, получаемые значения примерно в 2 раза больше, чем требуется.


Формула из руководства:
Xp = X0 + Xd/R*S
Yp = Y0 + Yd/R*S
Где: Xp, Yp - искомые реальные координаты;
    X0, Y0 - начало отсчета рамки прибора;
    R - разрешающая способность прибора;
    S - масштаб листа.


Она правильно переводит координаты на листах, где была выявлена проблема перевода,
однако на остальных листах расчитанные значения получаются не правильными.


Примеры перевода по формулам


1) Лист 0.I-36-096-3. Начало отсчета рамки прибора = 0,0.
Разрешающая способность прибора = 50 000.
Масштаб карты = 50 000. Флаг наличия реальных координат = 0.
Юго-западный угол = 3 692 574, 6 732 783.  
Считанные условные координаты = 3 692 574, 6 732 783.  


Наша формула:
Xp = SWx + (Xd - X0)/R*S = 3692574 + (3692574 - 0)/50000*50000 = 7385148.
Yp = SWy + (Yd - Y0)/R*S = 6732783 + (6732783  - 0)/50000*50000 = 13465566.


Формула из руководства:
Xp = X0 + Xd/R*S = 0 + 3692574/50000*50000 = 3692574.
Yp = Y0 + Yd/R*S = 0 + 6732783/50000*50000 = 6732783.


В данном примере формула из руководства дает правильные значения.


2) Лист 0.I-30-012-2 Начало отсчета рамки прибора = 6400, 6400.
Разрешающая способность прибора = 50 000.
Масштаб карты = 50 000. Флаг наличия реальных координат = 0.
Юго-западный угол = 3 970 613, 60 748 505.  
Считанные условные координаты = 7064, 28998


Наша формула:
Xp = SWx + (Xd - X0)/R*S = 3970613 + (7064 - 6400)/50000*50000 = 3970613 + 664 = 3971277.
Yp = SWy + (Yd - Y0)/R*S = 60748505 + (28998  - 6400)/50000*50000 = 60748505 + 22598 = 60771103.


Формула из руководства:
Xp = X0 + Xd/R*S = 6400 + 7064/50000*50000 = 6400 + 7064 = 13464.
Yp = Y0 + Yd/R*S = 6400 + 28998/50000*50000 = 6400 +  28998 = 35398.


В данном примере формула из руководства дает неверные результаты. Полученные значения больше похожи на условные координаты.

На большинстве проверяемых листов SXF справедливы результаты как во втором варианте.


В связи с вышеизложенным, хотелось бы прояснить, как следует правильно переводить условные
координаты в реальные. И откуда вообще отсчитываются реальные координаты? Быть может, обе формулы верные, просто нужно использовать их исходя из
исходных данных. Например, если начало отсчета рамки прибора = 0, 0 то использовать формулу из руководства,
в противном случае - нашу формулу.
 
В данном случае мы не используем функции ГИС, а разбираем бинарник sxf согласно формату, приведенном в документации к 9 Панораме.
Операционная система Windows 7. Среда разработки C++ Builder 2006.
Версия формата sxf проверяемых листов: 4.
 
Листы в формате SXF версии 4 создаются около 20 лет. Состав полей за это время немного был уточнен.
Нюансы пересчета координат несколько раз обсуждались на форуме.
Например, тут - http://gisweb.ru/forum/messages/forum17/topic4450/message28682/#message28682
 
Спасибо за ссылку. Делаю вывод, что ваша ГИС умеет довольно гибко интерпретировать данные из формата sxf. Вообще, для нас было бы проще всего считать, что координаты в листе sxf заданы в реальной системе (при нулевом флаге наличия реальных координат), если координаты первой точки метрики объекта рамки листа совпадают с координатами юго-западного угла из паспорта. При таком подходе, на проверяемых листах ошибок не возникает. Но можно ли так делать?
 
Цитата
Александр Артамонов написал:
Спасибо за ссылку. Делаю вывод, что ваша ГИС умеет довольно гибко интерпретировать данные из формата sxf. Вообще, для нас было бы проще всего считать, что координаты в листе sxf заданы в реальной системе (при нулевом флаге наличия реальных координат), если координаты первой точки метрики объекта рамки листа совпадают с координатами юго-западного угла из паспорта. При таком подходе, на проверяемых листах ошибок не возникает. Но можно ли так делать?
Порядок обработки координат приведен в описании формата.
Дополнительная информация на форуме.

Для упрощения задачи воспользуетесь инструментарием ГИС Конструктор.
Изменено: Елена Кузнецова - 22.09.2017 16:27:22
Страницы: 1
Читают тему (гостей: 1)



© КБ Панорама, 1991-2024

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности