MoveRotate

Arcview GIS 3.x, Arcinfo Workstation, Mapobjects
Ответить
AN1440
Участник
Сообщения: 76
Зарегистрирован: 24 фев 2006, 14:33
Репутация: 0

MoveRotate

Сообщение AN1440 » 08 апр 2007, 17:46

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

manisha
Завсегдатай
Сообщения: 410
Зарегистрирован: 24 авг 2006, 17:35
Репутация: 10

Сообщение manisha » 10 апр 2007, 11:58

В EditTools можно указать координаты центра вращения

AN1440
Участник
Сообщения: 76
Зарегистрирован: 24 фев 2006, 14:33
Репутация: 0

Сообщение AN1440 » 10 апр 2007, 16:46

А что есть EditTools?

manisha
Завсегдатай
Сообщения: 410
Зарегистрирован: 24 авг 2006, 17:35
Репутация: 10

Сообщение manisha » 10 апр 2007, 17:00

Экстеншен для ArcView
http://www.ian-ko.com/et/EditTools/et_main.htm

AN1440
Участник
Сообщения: 76
Зарегистрирован: 24 фев 2006, 14:33
Репутация: 0

Сообщение AN1440 » 11 апр 2007, 10:43

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

AN1440
Участник
Сообщения: 76
Зарегистрирован: 24 фев 2006, 14:33
Репутация: 0

Сообщение AN1440 » 13 апр 2007, 15:44

Попытаюсь объяснить, как мне все же удалось получить результат.
Задача была – изготовить координатную сетку, имеющую в проекции Альберса квадратные ячейки 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.

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

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

Ответить

Вернуться в «Arcview GIS»

Кто сейчас на конференции

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