Страница 1 из 1
Записать в столбец координаты начал и концов отрезков
Добавлено: 27 мар 2014, 00:53
xar4enkkoff
Здравствуйте! Есть слой, состоящий только из отрезков. Т.е. в слое исключительно прямые линии между двух точек.
Насколько я понимаю, существует некое направление обхода. Т.е. программа точно знает, какая из двух точек - начало, а какая - конец. По крайней мере в свойствах объекта она четко показывает X1,X2,Y1,Y2.
Как заполнить пустой столбец в таблице, например, координатой X2? Функций, ответственных за координаты (исключая центроид), в выражениях вроде бы нет.
Re: Записать в столбец координаты начал и концов отрезков
Добавлено: 27 мар 2014, 03:51
trir
Re: Записать в столбец координаты начал и концов отрезков
Добавлено: 27 мар 2014, 04:15
gamm
xar4enkkoff писал(а):Функций, ответственных за координаты (исключая центроид), в выражениях вроде бы нет.
смотрите руководство по Мапвасику, там все есть. Извлекаются данные из объекта функцией
ObjectInfo(obj, КЛЮЧ_ЧЕГО_ДОСТАТЬ)
описание ключиков смотрите в доках или в def-файле васика, начинаются они OBJ_INFO_, смысл обычно ясен из названия типа OBJ_INFO_TYPE и OBJ_INFO_NPOLYGON, достать из объекта можно все

Re: Записать в столбец координаты начал и концов отрезков
Добавлено: 27 мар 2014, 08:51
Slinger
ObjectGeography (obj, аргумент)
Аргументы: OBJ_GEO_LINEBEGX, OBJ_GEO_LINEBEGY, OBJ_GEO_LINEENDX, OBJ_GEO_LINEENDY.
Соответственно начальный X, начальный Y, конечный X, конечный Y. Только для объектов типа line.
Re: Записать в столбец координаты начал и концов отрезков
Добавлено: 27 мар 2014, 19:01
xar4enkkoff
Выходит.
Только почему-то выдает координаты в градусах.
Хотя у исходной таблицы UTM 37 зона - метрическая.
Пробовал даже так делать вначале:
Код: Выделить всё
set coordsys Earth Projection 8, 104, "m", 39, 0, 0.9996, 500000, 0
Это как раз UTM 37 зона.
И так тоже пробовал:
.
Все в градусах и в градусах, никак не хочет в метрах
Re: Записать в столбец координаты начал и концов отрезков
Добавлено: 27 мар 2014, 19:40
gamm
xar4enkkoff писал(а):Все в градусах и в градусах, никак не хочет в метрах
в Мапинфе с этим всегда были проблемы, по крайней мере раньше ... помогало сделать workspace, в котором явно прописать проекцию, сохранить его, выйти, войти и загрузить (workspace - это программа на васике, в которой, в частности, будет команда установки проекции); еще в общих настройках (там, где список панелей и пр.) установить нужную проекцию по умолчанию. Шаманство, однако ...
Re: Записать в столбец координаты начал и концов отрезков
Добавлено: 27 мар 2014, 19:58
xar4enkkoff
Сработало. Видимо workspace - не принципиален. Главное - установка нужной системы по умолчанию в настройках. Хотя утверждать не буду - я сначала набор создал все-таки:)
Re: Записать в столбец координаты начал и концов отрезков
Добавлено: 28 мар 2014, 07:15
dab
Перед получением координат через функции типа ObjectGeography() выполните явную установку системы координат
Код: Выделить всё
Run Command "Set " + TableInfo("название-вашей-таблицы", TAB_INFO_COORDSYS_CLAUSE)
Это более универсальный подход.
Re: Записать в столбец координаты начал и концов отрезков
Добавлено: 28 мар 2014, 15:48
Boris
dab писал(а):Перед получением координат через функции типа ObjectGeography() выполните явную установку системы координат
Код: Выделить всё
Run Command "Set " + TableInfo("название-вашей-таблицы", TAB_INFO_COORDSYS_CLAUSE)
Это более универсальный подход.
но ведь автор привел то же самое 3 постами выше. меня это от совета остановило. Я чего то не понял или не заметил в его действиях?
Re: Записать в столбец координаты начал и концов отрезков
Добавлено: 28 мар 2014, 15:51
Boris
и правда не по теме. автор, давайте удалим?
Re: Записать в столбец координаты начал и концов отрезков
Добавлено: 28 мар 2014, 16:07
dab
Boris писал(а):но ведь автор привел то же самое 3 постами выше. меня это от совета остановило. Я чего то не понял или не заметил в его действиях?
Я так понял ситуацию:
1. речь идёт о проблеме в контексте выполнения кода mapbasic, а не об интерактивном режиме mapinfo
2.
xar4enkkoff писал(а):
Пробовал даже так делать вначале:
Код: Выделить всё
set coordsys Earth Projection 8, 104, "m", 39, 0, 0.9996, 500000, 0
Да, по сути мой пост совпадает с этим, но я решил уточнить момент установки параметра CoordSys и то, что TableInfo("название-вашей-таблицы", TAB_INFO_COORDSYS_CLAUSE) более универсальный подход, хотя бы из-за возможно пропущенного параметра bounds.
Re: Записать в столбец координаты начал и концов отрезков
Добавлено: 28 мар 2014, 16:13
Boris
dab писал(а):
Да, по сути мой пост совпадает с этим, но я решил уточнить момент установки параметра CoordSys и то, что TableInfo("название-вашей-таблицы", TAB_INFO_COORDSYS_CLAUSE) более универсальный подход, хотя бы из-за возможно пропущенного параметра bounds.
А... То есть есть предположение, что автор установку к.системы делал в окне мапбасика, а запускал расчет в программе на мапбайсике...
Тогда конечно не сработает, т.к. каждое приложение использует
копию системных настроек мапинфо.
Но для чего устанавливать СК таким способом? Команда
заданная в коде должна работать и так.
Re: Записать в столбец координаты начал и концов отрезков
Добавлено: 28 мар 2014, 16:44
dab
Boris писал(а):Но для чего устанавливать СК таким способом? Команда
заданная в коде должна работать и так.
Да, Вы правы, так проще.
