Страница 1 из 1

MoveRotate

Добавлено: 08 апр 2007, 17:46
AN1440
- есть такое расширение АВ-330.
Вроде как должно перемещать/поворачивать объект/объекты темы на заданное количество метров/градусов.
Имею векторную тему (координатная сетка, line theme).
Имею желание повернуть ее на 4.3556° по часовой стрелке.
Но:
Каждый объект темы (линию) могу повернуть вокруг ЕГО центра.
А хотелось бы повернуть ВСЕ объекты темы вокруг ЦЕНТРА ТЕМЫ.
- а вот это не хочет выполняться, даже для отдельного объекта.
Более того: если я все объекты темы делаю "union features", над ними тоже поворот перестает выполняться, даже вокруг центра объекта.
А хотелось бы.
Что можно сделать?

Добавлено: 10 апр 2007, 11:58
manisha
В EditTools можно указать координаты центра вращения

Добавлено: 10 апр 2007, 16:46
AN1440
А что есть EditTools?

Добавлено: 10 апр 2007, 17:00
manisha
Экстеншен для ArcView
http://www.ian-ko.com/et/EditTools/et_main.htm

Добавлено: 11 апр 2007, 10:43
AN1440
Очень интересный экстэншн.
Однако и с его помощью решить задачу не получается:
если поворачивать прямоугольную сетку в проекции "no projection", то при проектировании повернутой в любую другую проекцию она перестает быть прямоугольной.
Если же попытаться поворачивать спроектированную сетку (что не рекомендовано), полученный результат никуда не вписывается (то есть, его нельзя увидеть в виде). Хотя в скриншоте из хэлпа видны координаты центра вращения явно не в градусах.

Добавлено: 13 апр 2007, 15:44
AN1440
Попытаюсь объяснить, как мне все же удалось получить результат.
Задача была – изготовить координатную сетку, имеющую в проекции Альберса квадратные ячейки 100х100 метров и повернутую относительно стандартной системы координат на заданный угол.

1. В вид, имеющий проекцию Альберса, вызывается EditTools (ET).
ET тут же заявляет, что со спроектированным видом работать не может и закрывается.
2. Изменяю проекцию вида на NoProjected и снова вызываю ET.
Он запускается.
3. Проекцию изменяю снова на Альберса. Теперь ET почему-то уже не обращает на это внимания. Даю ему задание построить сетку с ячейками 100х100 метров. Строит. Преобразовывает ее в ШэйпФайл. Красивая сеточка.
4. Полученную тему преобразовываю в шейпфайл в единицах проекции средствами меню "Тема" ArcView.
5. Поворачиваю с помощью «Transform themes 1.11» (нарыл такое расширение) на желаемое количество градусов.
6. Поворот происходит относительно точки X=0 Y=0 (другого не предусмотрено), а так как я нахожусь от в 23 630 996 метрах, тема уезжает на несколько тысяч километров в сторону. При помощи того же transform сдвигаю ее к прежним координатам.
7. При помощи Projection Utility перепроектирую то что получилось назад из проекции Альберса в "No Projection".
8. Теперь возвращаю виду проекцию Альберса и тема показывается в нем. Остается совместить "Ноль" сетки с желаемым началом координат путем простого двигания в режиме редактирования ArcView.

Получилось очень похоже на то, что требовалось.
Но… По-моему, все это называется «вырывать зуб через задний проход».

Неужели нет «более нормального» способа?