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

Пересчет координат

Поиск  Пользователи  Правила  Войти
Форум » Настольные приложения » GIS ToolKit, GIS ToolKit Active, ГИС Конструктор для Windows
Страницы: 1
RSS
Пересчет координат
 
Подскажите, пожалуйста, как перевести координаты из системы СК-42 в метры на местности. Заранее благодарна.
 
Здравствуйте Антонина !
Я точно не знаю на каком языке Вы "общаетесь" с компьютером ответчу 2-мя версиями:
1. Язык Pascal:
----------------------------------------
uses ...,...,..., mapproc, maptype; < подключаем 2 модуля
 .......
procedure XXXXXXX;
var Point : TDoublePoint;
    FMap  : HMap;
begin
 FMap:=mapOpenMap(PChar(ПОЛНЫЙ ПУТЬ К КАРТЕ+ИМЯ ФАЙЛА MAP или SIT), GENERIC_READ);
 Point.X:=pi*ШИРОТА В ГРАДУСАХ/180;
 Point.Y:=pi*ДОЛГОТА В ГРАДУСАХ/180;
 mapGeoToPlane(FMap, Point.X, Point.Y);
 // теперь переменная Point содержит координаты указанной Выше точки в метрах на местности
 ..... < оперируем с координатами
 // ЗАКРЫВАЕМ КАРТУ
 mapCloseMap(FMap);
end;

2. Язык Си:
----------------------------------------  
#include "mapproc.h"
#include "maptype.h"

 .......
void  XXXXXXX
{
 DoublePoint Point;
 HMAP FMAP;

 FMap = mapOpenMap((ПОЛНЫЙ ПУТЬ К КАРТЕ+ИМЯ ФАЙЛА MAP или SIT), 0x80000000);
 Point->X = 3.1415926 * ШИРОТА В ГРАДУСАХ / 180;
 Point->Y = 3.1415926 * ДОЛГОТА В ГРАДУСАХ / 180;
 mapGeoToPlane(FMap, Point->X, Point->Y);
 // теперь переменная Point содержит координаты указанной Выше точки в метрах на местности
 ..... < оперируем с координатами
 // ЗАКРЫВАЕМ КАРТУ

 mapCloseMap(FMap);
}
Не тот глуп кто не знает, а тот, кто не знает где искать.
 
Вы меня не поняли. Координаты в системе СК-42 - это прямоугольные координаты системы координат 1942 года. И вопрос заключается в том, как перевести прямоугольные координаты из системы СК-42 в метры на местности(тоже прямоугольные координаты, которые используются для отображения точки на электронной карте).
 
Цитирую - "прямоугольные координаты, которые используются для отображения точки на электронной карте". При такой постановке вопроса непонятно какие координаты вам нужны: в пикселах для отображения в конкретном масштабе и контректном окне экрана, в метрах для системы коордитнат 63 года, в метрах местной системы координат? Задача непонятна.
 
Основная проблема в том, как отобразить точку на электронной карте, зная ее прямоугольные координаты с системе 42 года. Предполагаю, что для этого нужно знать ее координаты "в метрах в местной системе координат". Как это сделать правильно, подскажите, пожалуйста.


P.S. При попытке перевода прямоугольных координат 42 года в геодезические получаются отрицательные значения :(
Изменено: Antonina - 09.01.2009 12:47:40
 
Для отрисовки фрагмента карты в окне можно воспользоваться
mapPaint95(HMAP hmap, HDC hdc, long int erase, RECT * rect);

rect - координаты фрагмента карты в изображении (Picture), т.е. в системе координат окна в пикселах.

Если у вас топографическая карта в системе координат 42 года (указывается в паспорте карты), то для получения координаты точки в пикселах необходимо воспользоваться mapPlaneToPicture. Переводить в геодезические нет надобности.
 
[QUOTE]Antonina пишет:
... Координаты в системе СК-42 - это прямоугольные координаты системы координат 1942 года....
прямоугольные координаты - называються координатами в проекции Меркатора (Гаусса-Крюгера) а СК42 ничего общего к ним не имеет так же как и СК63, ПЗ-90, и другие "СИСТЕМЫ КООРДИНАТ"
Не тот глуп кто не знает, а тот, кто не знает где искать.
 
К сожалению, я не топограф и не владею соответствующей терминологией. Единственное, что мне нужно, это перевести координаты из СК42(если вам не нравится слово "прямоугольные", скажу, что это НЕ градусы, а целые числа) в метры в местной системе координат.Как мне это сделать?
Изменено: Antonina - 09.01.2009 15:13:15
 
Что касается mapPlaneToPicture, эта функция адекватно отображает те самые метры в местной системе координат, а не СК42:(
 
Объекты карты имеют координаты в проекции карты. Например,в системе 42 года.
Условное название этой системы - Plane. У нее направление осей картографическое (X - вверх, Y - вправо).
В момент отображения карты координаты пересчитываются в пикселы в соответствии с маштабом отображения, разрешающей способностью монитора и т.п. Эта система называется - Picture. Направление осей, как в оконной графике (X - вправо, Y - вниз).

Пересчет координат - PlaneToPicture и наоборот.

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

И т.д.

Картинка с системами координат есть в начале файла mapapi.h и в mapapi.doc.
Страницы: 1
Читают тему (гостей: 1)



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

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