Автоматическое перемещение полигонов

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).
Ответить
olkis
Интересующийся
Сообщения: 39
Зарегистрирован: 01 дек 2011, 14:33
Репутация: 0

Автоматическое перемещение полигонов

Сообщение olkis » 11 июн 2014, 16:18

Добрый день!
У меня такая проблема: есть полигональный слой хаотично расположенных полигонов. Мне необходимо, вычислить полигоны, которые находятся друг от друга на расстоянии меньше 3 м и сдвинуть (распределить) их автоматически, чтобы расстояние между каждым полигоном было не менее 3м. Возможно ли такое сделать в АркГис ?

lam
Гуру
Сообщения: 1018
Зарегистрирован: 01 авг 2012, 13:55
Репутация: 241

Re: Автоматическое перемещение полигонов

Сообщение lam » 11 июн 2014, 16:28

olkis писал(а):Добрый день!
У меня такая проблема: есть полигональный слой хаотично расположенных полигонов. Мне необходимо, вычислить полигоны, которые находятся друг от друга на расстоянии меньше 3 м и сдвинуть (распределить) их автоматически, чтобы расстояние между каждым полигоном было не менее 3м. Возможно ли такое сделать в АркГис ?
Выложите фрагмент шейпа.

olkis
Интересующийся
Сообщения: 39
Зарегистрирован: 01 дек 2011, 14:33
Репутация: 0

Re: Автоматическое перемещение полигонов

Сообщение olkis » 11 июн 2014, 16:38

Вот полигоны
Вложения
Polygon.zip
(35.05 КБ) 297 скачиваний

gamm
Гуру
Сообщения: 4168
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1107
Ваше звание: программист
Откуда: Казань

Re: Автоматическое перемещение полигонов

Сообщение gamm » 11 июн 2014, 19:21

olkis писал(а):Добрый день!
У меня такая проблема: есть полигональный слой хаотично расположенных полигонов. Мне необходимо, вычислить полигоны, которые находятся друг от друга на расстоянии меньше 3 м и сдвинуть (распределить) их автоматически, чтобы расстояние между каждым полигоном было не менее 3м. Возможно ли такое сделать в АркГис ?
1) постановка задачи (если воспринимать написанное буквально) бессмысленная - решением является, например, размещение объектов в узлах регулярной сетки с шагом 1км

2) найти нетрудно - нужно сделать вокруг них буферы радиусом 1.51 метра, и найти пересекающиеся буферы.

3) если наложить на решение естественные ограничения (например, минимальный возможный сдвиг, сохранение ориентации рядов, сдвиг по возможности только пересекающихся, и т.д), то есть итерационное решение, которое применяют для подобной задачи о размещении меток - вычислить для пересекающихся объектов (точнее, их буферов) направление сдвига (вычислением производной от площади пересечения по координатам), и сдвинуть оба на некоторый шаг, например 0.1 - 0.3 от разводящего их

4) в Арке сделать это можно, если программировать умеете (или кто-то готовый модуль для размещения меток написал).

5) если заменить буферы окружностями, описанными вокруг буферов, то задачка становится простой и ее можно решить на любом языке программирования. Решение будет субоптимальным, но скорее всего приемлимым.

Ответить

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

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

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