Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
arhi9
Зарегистрирован: 08.12.2008 Сообщения: 41 Откуда: Петрозаводск
|
Добавлено: Вс Дек 14, 2008 4:47 pm Заголовок сообщения: Вычислить координаты |
|
|
Подскажите, как правильно составить выражение, чтобы программа заполнила одну колонку координатами начальной, а другую конечной точек полилиний? |
|
Вернуться к началу |
|
|
Alex_Y
Зарегистрирован: 28.11.2008 Сообщения: 122
|
Добавлено: Пн Дек 15, 2008 5:16 am Заголовок сообщения: |
|
|
Set CoordSys Table <таблица>
update <таблица> set
col1 = ObjectNodeX(obj, 1, 1),
col2 = ObjectNodeY(obj, 1, 1)
и
update <таблица> set
col3 = ObjectNodeX(obj, ObjectInfo(obj, 21), ObjectInfo(obj, 21 + ObjectInfo(obj, 21))),
col4 = ObjectNodeY(obj, ObjectInfo(obj, 21), ObjectInfo(obj, 21 + ObjectInfo(obj, 21))) |
|
Вернуться к началу |
|
|
arhi9
Зарегистрирован: 08.12.2008 Сообщения: 41 Откуда: Петрозаводск
|
Добавлено: Пн Дек 15, 2008 8:47 pm Заголовок сообщения: |
|
|
Спасибо, конечно, Alex, но не могли бы Вы немного прокомментировать эту запись для не очень просвещенных :) я так понимаю, что нужно подставить свои значения <таблица> и col1,2,3,4, а что значит все остальное? |
|
Вернуться к началу |
|
|
Alex_Y
Зарегистрирован: 28.11.2008 Сообщения: 122
|
Добавлено: Вт Дек 16, 2008 5:15 am Заголовок сообщения: |
|
|
:D
ObjectNodeX( object , polygon_num , node_num )
object – выражение, результат которого есть величина типа Object;
polygon_num – номер полигона или ломаной линии;
node_num – номер узла.
ObjectInfo( object , attribute )
object – выражение, результат которого есть величина типа Object;
attribute – целочисленный код, определяющий результат функции.
attribute:
OBJ_INFO_NPOLYGONS Величина типа SmallInt. Число полигонов в объекте типа "область" или число ломаных компонент в объекте типа "полилиния".
(в данном случае = 21)
OBJ_INFO_NPOLYGONS+N Величина типа Integer. Число узлов в n-ом полигоне в объекте типа "область" или число узлов в N-ой ломаной линии, являющейся компонентой объекта типа "полилиния".
в итоге имеем:
ну для первых думаю и так понятно, а для последних идея в том, чтобы найти последний узел последнего полигона объекта, вот и получаем
ObjectNodeX(obj,
ObjectInfo(obj, 21), ' номер последнего полигона
ObjectInfo(obj, 21 + ObjectInfo(obj, 21))) ' номер последнего узла в полигоне
а вообще, поставь мапбейсик, там отличная помощь в которой все эти функции описаны и даже примеры есть, очень полезная штука :) |
|
Вернуться к началу |
|
|
arhi9
Зарегистрирован: 08.12.2008 Сообщения: 41 Откуда: Петрозаводск
|
Добавлено: Вт Дек 16, 2008 12:10 pm Заголовок сообщения: |
|
|
Извиняюсь за нескромный вопрос, а mapbasic реально где-нибудь скачать б/п версию :) , или только покупать? |
|
Вернуться к началу |
|
|
Alex_Y
Зарегистрирован: 28.11.2008 Сообщения: 122
|
Добавлено: Вт Дек 16, 2008 12:21 pm Заголовок сообщения: |
|
|
могу скинуть на мыло, я пользуюсь версией 5.5 для совместимости, весит 5 с копейками Мб. |
|
Вернуться к началу |
|
|
arhi9
Зарегистрирован: 08.12.2008 Сообщения: 41 Откуда: Петрозаводск
|
Добавлено: Вт Дек 16, 2008 12:47 pm Заголовок сообщения: |
|
|
было бы здорово: arhi9@onego.ru
у меня mapinfo 7.8 |
|
Вернуться к началу |
|
|
Alex_Y
Зарегистрирован: 28.11.2008 Сообщения: 122
|
Добавлено: Вт Дек 16, 2008 1:05 pm Заголовок сообщения: |
|
|
скинул
я бы сам не отказался от версии мапбейсика 7.5 и 7.8
а вообще есть 6.5, 7.0 и 8.0 |
|
Вернуться к началу |
|
|
|