Трансляция координат ГауссКрюгер->Пулково42 в MapBasic
Добавлено: 13 июл 2004, 13:03
Дано:
9 зона ГК. Координаты точки 9327220.89, 5556686.44 в метрах.
После ручных манипуляций в MapInfo: открыть таблицу в проекции ГК-9, "сохранить как" с проекцией Пу42
преобразованные координаты точки равны 48.584184000, 50.116388000 в градусах. OK.
Пытаемся проделать эту процедуру в окне MapBasic:
'создаем временную таблицу
Create Table temp (ID Integer)
'создаем колонку obj в проекции ГК-9зона
Create Map For temp CoordSys Earth Projection 8, 1001, "m", 51, 0, 1, 9500000, 0
'отказываемся от транзакций
Set Table temp FastEdit On
'пишем во временную таблицу обьект с нужными координатами
Insert Into temp (ID, obj) Values (1, CreatePoint(9327220.89, 5556686.44))
'переходим на первую (и единственную) строку временной таблицы
Fetch First From temp
'выводим записанные координаты
print CentroidX(temp.obj)
print CentroidY(temp.obj)
'получаем 32500000, -10002137.5 ???
'сохраняем в другую временную таблицу с проекцией Пу-42
Commit Table temp As "temp1" CoordSys Earth Projection 1, 1001
'открываем эту таблицу
Open Table "temp1"
'переходим на первую (и единственную) строку
Fetch First From temp1
'выводим записанные координаты
print CentroidX(temp1.obj)
print CentroidY(temp1.obj)
'получаем 32500000, -10002137.5 ???
Что я делаю не так?
9 зона ГК. Координаты точки 9327220.89, 5556686.44 в метрах.
После ручных манипуляций в MapInfo: открыть таблицу в проекции ГК-9, "сохранить как" с проекцией Пу42
преобразованные координаты точки равны 48.584184000, 50.116388000 в градусах. OK.
Пытаемся проделать эту процедуру в окне MapBasic:
'создаем временную таблицу
Create Table temp (ID Integer)
'создаем колонку obj в проекции ГК-9зона
Create Map For temp CoordSys Earth Projection 8, 1001, "m", 51, 0, 1, 9500000, 0
'отказываемся от транзакций
Set Table temp FastEdit On
'пишем во временную таблицу обьект с нужными координатами
Insert Into temp (ID, obj) Values (1, CreatePoint(9327220.89, 5556686.44))
'переходим на первую (и единственную) строку временной таблицы
Fetch First From temp
'выводим записанные координаты
print CentroidX(temp.obj)
print CentroidY(temp.obj)
'получаем 32500000, -10002137.5 ???
'сохраняем в другую временную таблицу с проекцией Пу-42
Commit Table temp As "temp1" CoordSys Earth Projection 1, 1001
'открываем эту таблицу
Open Table "temp1"
'переходим на первую (и единственную) строку
Fetch First From temp1
'выводим записанные координаты
print CentroidX(temp1.obj)
print CentroidY(temp1.obj)
'получаем 32500000, -10002137.5 ???
Что я делаю не так?