авто уменьшение размеров полигонов

0 голосов
спросил 15 Окт, 08 от urban4ik (740 баллов) в категории Программные продукты Esri
есть слой полигонов. как произвести уменьшение всех сразу в определенное число раз?

11 Ответы

0 голосов
ответил 15 Окт, 08 от rromeo (9,780 баллов)
инструменты векторной трансформации, можно в хелпе посмотреть
0 голосов
ответил 16 Окт, 08 от peter1 (7,760 баллов)
Transform shapes (ArcView GIS)
http://arcscripts.esri.com/details.asp?dbid=11556
0 голосов
ответил 21 Окт, 08 от OlgaS (1,100 баллов)
    Инструменты - Настроить - Команды - Редактор - Масштабировать. Вытаскиваем кнопочку на любую панель инструментов, открываем сеанс редактирования, берем инструмент Редактировать (чёрная такая стрелочка на панели Редактор), красим один или несколько пространственных объектов (не обязательно полигонов), а потом этой новой кнопочкой Масштабировать их все сразу увеличиваем или уменьшаем. Ничего сложного image
0 голосов
ответил 21 Окт, 08 от geologic (39,860 баллов)
Важно ведь, вокруг какой исходной точки уменьшать... Автор, видимо, имеет в виду отдельно расположенные полигоны, например, дома. Такие полигоны по логике надо масштабировать каждый относительно своего центроида. Уменьшить целиком слой или группу домов - это не то, что нужно, они "съедут" со своих мест, а нужно, наверно, чтобы "съежились". Штатные инструменты так не умеют - скрипт надоть :)    
0 голосов
ответил 21 Окт, 08 от urban4ik (740 баллов)
geologic прав, надо чтоб "съежились"). чтобы внутри полигона каждого домика был еще один  полигон только на 1-2% МЕНЬШЕ ПО РАЗМЕРУ чем родитель

может кто знает уже написанные скрипты?
0 голосов
ответил 21 Окт, 08 от OlgaS (1,100 баллов)
А Вам такие "вложенные" домики чисто для отображения на карте надо, или чтобы они в базе данных тоже хранились?
0 голосов
ответил 21 Окт, 08 от urban4ik (740 баллов)
нам такие домики нужны для последующего моделирования - создания грида рельефа с домами
0 голосов
ответил 21 Окт, 08 от OlgaS (1,100 баллов)
Понятно. Можно было бы попробовать создать для этих объектов Представления - но они не работают в ArcScene. А Вы не пробовали вокруг своих домиков просто построить буферные зоны с отрицательной шириной, например "-0.5 m" ?
0 голосов
ответил 21 Окт, 08 от Grigoriy (127,020 баллов)
Если есть лицензия ArcInfo, то в ArcToolBox конвертируете полигоны в линии, строите буфер вокруг линий, полученными полигонами обрезаете исходный слой.

В противном случае скачиваете Easy Calculate: http://arcscripts.esri.com/details.asp?dbid=12224
Распаковываете архив.
Делаете копию исходных данных. Строго не рекомендую работать с SDE, а выгрузить данные в шейп-файл или персональную базу.
В ArcMap открываете таблицу атрибутов Вашего слоя.
Далее выделяете поле Shape.
Нажимаете комбинацию клавиш CTRL + SHIF + F.
Появляется окно калькулятора.
Нажимаете кнопку "Загрузить" (Load).
Ищете на диске выражение \ec50\edit\polygon_Scale.cal
Заменяете коэффициенты масштабирования на нужные:
dScaleFactorX = 0.9
dScaleFactorY = 0.9
Больше 1 - увеличение размера, больше 0 до 1 уменьшение.
Нажимаете ОК и наблюдаете результат.

image
0 голосов
ответил 21 Окт, 08 от urban4ik (740 баллов)
спасибо всем, буду пытаться строить буферы
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...