Добрый день!
У меня такая проблема: есть полигональный слой хаотично расположенных полигонов. Мне необходимо, вычислить полигоны, которые находятся друг от друга на расстоянии меньше 3 м и сдвинуть (распределить) их автоматически, чтобы расстояние между каждым полигоном было не менее 3м. Возможно ли такое сделать в АркГис ?
Автоматическое перемещение полигонов
-
- Интересующийся
- Сообщения: 39
- Зарегистрирован: 01 дек 2011, 14:33
- Репутация: 0
-
- Гуру
- Сообщения: 1018
- Зарегистрирован: 01 авг 2012, 13:55
- Репутация: 241
Re: Автоматическое перемещение полигонов
Выложите фрагмент шейпа.olkis писал(а):Добрый день!
У меня такая проблема: есть полигональный слой хаотично расположенных полигонов. Мне необходимо, вычислить полигоны, которые находятся друг от друга на расстоянии меньше 3 м и сдвинуть (распределить) их автоматически, чтобы расстояние между каждым полигоном было не менее 3м. Возможно ли такое сделать в АркГис ?
-
- Интересующийся
- Сообщения: 39
- Зарегистрирован: 01 дек 2011, 14:33
- Репутация: 0
Re: Автоматическое перемещение полигонов
Вот полигоны
- Вложения
-
Polygon.zip
- (35.05 КБ) 297 скачиваний
-
- Гуру
- Сообщения: 4168
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1107
- Ваше звание: программист
- Откуда: Казань
Re: Автоматическое перемещение полигонов
1) постановка задачи (если воспринимать написанное буквально) бессмысленная - решением является, например, размещение объектов в узлах регулярной сетки с шагом 1кмolkis писал(а):Добрый день!
У меня такая проблема: есть полигональный слой хаотично расположенных полигонов. Мне необходимо, вычислить полигоны, которые находятся друг от друга на расстоянии меньше 3 м и сдвинуть (распределить) их автоматически, чтобы расстояние между каждым полигоном было не менее 3м. Возможно ли такое сделать в АркГис ?
2) найти нетрудно - нужно сделать вокруг них буферы радиусом 1.51 метра, и найти пересекающиеся буферы.
3) если наложить на решение естественные ограничения (например, минимальный возможный сдвиг, сохранение ориентации рядов, сдвиг по возможности только пересекающихся, и т.д), то есть итерационное решение, которое применяют для подобной задачи о размещении меток - вычислить для пересекающихся объектов (точнее, их буферов) направление сдвига (вычислением производной от площади пересечения по координатам), и сдвинуть оба на некоторый шаг, например 0.1 - 0.3 от разводящего их
4) в Арке сделать это можно, если программировать умеете (или кто-то готовый модуль для размещения меток написал).
5) если заменить буферы окружностями, описанными вокруг буферов, то задачка становится простой и ее можно решить на любом языке программирования. Решение будет субоптимальным, но скорее всего приемлимым.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость