Записать в столбец координаты начал и концов отрезков
-
- Активный участник
- Сообщения: 107
- Зарегистрирован: 17 янв 2010, 00:07
- Репутация: 5
- Откуда: Курск
Записать в столбец координаты начал и концов отрезков
Здравствуйте! Есть слой, состоящий только из отрезков. Т.е. в слое исключительно прямые линии между двух точек.
Насколько я понимаю, существует некое направление обхода. Т.е. программа точно знает, какая из двух точек - начало, а какая - конец. По крайней мере в свойствах объекта она четко показывает X1,X2,Y1,Y2.
Как заполнить пустой столбец в таблице, например, координатой X2? Функций, ответственных за координаты (исключая центроид), в выражениях вроде бы нет.
Насколько я понимаю, существует некое направление обхода. Т.е. программа точно знает, какая из двух точек - начало, а какая - конец. По крайней мере в свойствах объекта она четко показывает X1,X2,Y1,Y2.
Как заполнить пустой столбец в таблице, например, координатой X2? Функций, ответственных за координаты (исключая центроид), в выражениях вроде бы нет.
-
- Гуру
- Сообщения: 5354
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1021
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
-
- Гуру
- Сообщения: 4168
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1107
- Ваше звание: программист
- Откуда: Казань
Re: Записать в столбец координаты начал и концов отрезков
смотрите руководство по Мапвасику, там все есть. Извлекаются данные из объекта функциейxar4enkkoff писал(а):Функций, ответственных за координаты (исключая центроид), в выражениях вроде бы нет.
ObjectInfo(obj, КЛЮЧ_ЧЕГО_ДОСТАТЬ)
описание ключиков смотрите в доках или в def-файле васика, начинаются они OBJ_INFO_, смысл обычно ясен из названия типа OBJ_INFO_TYPE и OBJ_INFO_NPOLYGON, достать из объекта можно все

-
- Гуру
- Сообщения: 879
- Зарегистрирован: 17 июн 2010, 23:14
- Репутация: 207
- Откуда: Москва
Re: Записать в столбец координаты начал и концов отрезков
ObjectGeography (obj, аргумент)
Аргументы: OBJ_GEO_LINEBEGX, OBJ_GEO_LINEBEGY, OBJ_GEO_LINEENDX, OBJ_GEO_LINEENDY.
Соответственно начальный X, начальный Y, конечный X, конечный Y. Только для объектов типа line.
Аргументы: OBJ_GEO_LINEBEGX, OBJ_GEO_LINEBEGY, OBJ_GEO_LINEENDX, OBJ_GEO_LINEENDY.
Соответственно начальный X, начальный Y, конечный X, конечный Y. Только для объектов типа line.
-
- Активный участник
- Сообщения: 107
- Зарегистрирован: 17 янв 2010, 00:07
- Репутация: 5
- Откуда: Курск
Re: Записать в столбец координаты начал и концов отрезков
Выходит.
Только почему-то выдает координаты в градусах.
Хотя у исходной таблицы UTM 37 зона - метрическая.
Пробовал даже так делать вначале:
Это как раз UTM 37 зона.
И так тоже пробовал:.
Все в градусах и в градусах, никак не хочет в метрах
Только почему-то выдает координаты в градусах.
Хотя у исходной таблицы UTM 37 зона - метрическая.
Пробовал даже так делать вначале:
Код: Выделить всё
set coordsys Earth Projection 8, 104, "m", 39, 0, 0.9996, 500000, 0
И так тоже пробовал:
Код: Выделить всё
set coordsys table my_tab
Все в градусах и в градусах, никак не хочет в метрах
-
- Гуру
- Сообщения: 4168
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1107
- Ваше звание: программист
- Откуда: Казань
Re: Записать в столбец координаты начал и концов отрезков
в Мапинфе с этим всегда были проблемы, по крайней мере раньше ... помогало сделать workspace, в котором явно прописать проекцию, сохранить его, выйти, войти и загрузить (workspace - это программа на васике, в которой, в частности, будет команда установки проекции); еще в общих настройках (там, где список панелей и пр.) установить нужную проекцию по умолчанию. Шаманство, однако ...xar4enkkoff писал(а):Все в градусах и в градусах, никак не хочет в метрах
-
- Активный участник
- Сообщения: 107
- Зарегистрирован: 17 янв 2010, 00:07
- Репутация: 5
- Откуда: Курск
Re: Записать в столбец координаты начал и концов отрезков
Сработало. Видимо workspace - не принципиален. Главное - установка нужной системы по умолчанию в настройках. Хотя утверждать не буду - я сначала набор создал все-таки:)
- dab
- Гуру
- Сообщения: 671
- Зарегистрирован: 16 дек 2011, 20:02
- Репутация: 170
- Ваше звание: Гуру
- Откуда: Москва
- Контактная информация:
Re: Записать в столбец координаты начал и концов отрезков
Перед получением координат через функции типа ObjectGeography() выполните явную установку системы координат
Это более универсальный подход.
Код: Выделить всё
Run Command "Set " + TableInfo("название-вашей-таблицы", TAB_INFO_COORDSYS_CLAUSE)
-
- Гуру
- Сообщения: 4231
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: -344969098
- Откуда: Париж
Re: Записать в столбец координаты начал и концов отрезков
но ведь автор привел то же самое 3 постами выше. меня это от совета остановило. Я чего то не понял или не заметил в его действиях?dab писал(а):Перед получением координат через функции типа ObjectGeography() выполните явную установку системы координатЭто более универсальный подход.Код: Выделить всё
Run Command "Set " + TableInfo("название-вашей-таблицы", TAB_INFO_COORDSYS_CLAUSE)
-
- Гуру
- Сообщения: 4231
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: -344969098
- Откуда: Париж
Re: Записать в столбец координаты начал и концов отрезков
и правда не по теме. автор, давайте удалим?trir писал(а):STEndpoint.STX
- dab
- Гуру
- Сообщения: 671
- Зарегистрирован: 16 дек 2011, 20:02
- Репутация: 170
- Ваше звание: Гуру
- Откуда: Москва
- Контактная информация:
Re: Записать в столбец координаты начал и концов отрезков
Я так понял ситуацию:Boris писал(а):но ведь автор привел то же самое 3 постами выше. меня это от совета остановило. Я чего то не понял или не заметил в его действиях?
1. речь идёт о проблеме в контексте выполнения кода mapbasic, а не об интерактивном режиме mapinfo
2.
Да, по сути мой пост совпадает с этим, но я решил уточнить момент установки параметра CoordSys и то, что TableInfo("название-вашей-таблицы", TAB_INFO_COORDSYS_CLAUSE) более универсальный подход, хотя бы из-за возможно пропущенного параметра bounds.xar4enkkoff писал(а): Пробовал даже так делать вначале:Код: Выделить всё
set coordsys Earth Projection 8, 104, "m", 39, 0, 0.9996, 500000, 0
-
- Гуру
- Сообщения: 4231
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: -344969098
- Откуда: Париж
Re: Записать в столбец координаты начал и концов отрезков
А... То есть есть предположение, что автор установку к.системы делал в окне мапбасика, а запускал расчет в программе на мапбайсике...dab писал(а): Да, по сути мой пост совпадает с этим, но я решил уточнить момент установки параметра CoordSys и то, что TableInfo("название-вашей-таблицы", TAB_INFO_COORDSYS_CLAUSE) более универсальный подход, хотя бы из-за возможно пропущенного параметра bounds.
Тогда конечно не сработает, т.к. каждое приложение использует копию системных настроек мапинфо.
Но для чего устанавливать СК таким способом? Команда
Код: Выделить всё
set coordsys table my_tab
- dab
- Гуру
- Сообщения: 671
- Зарегистрирован: 16 дек 2011, 20:02
- Репутация: 170
- Ваше звание: Гуру
- Откуда: Москва
- Контактная информация:
Re: Записать в столбец координаты начал и концов отрезков
Да, Вы правы, так проще.Boris писал(а):Но для чего устанавливать СК таким способом? Командазаданная в коде должна работать и так.Код: Выделить всё
set coordsys table my_tab

Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя