Построить сеть точек с одинаковым расстоянием между ними

Arcview GIS 3.x, Arcinfo Workstation, Mapobjects
Ответить
Аватара пользователя
Игорь
Интересующийся
Сообщения: 33
Зарегистрирован: 19 ноя 2008, 12:25
Репутация: 6

Построить сеть точек с одинаковым расстоянием между ними

Сообщение Игорь » 19 ноя 2008, 12:58

Задача:
Для выделенного в оглавлении вида полигона требуется построить сеть точек с одинаковым расстоянием между ними. Расстояние должно вводится пользователем. Как это можно сделать и каков алгоритм?

gis
Гуру
Сообщения: 515
Зарегистрирован: 24 янв 2007, 15:46
Репутация: 17
Откуда: Липецк
Контактная информация:

Re: Построить сеть точек с одинаковым расстоянием между ними

Сообщение gis » 19 ноя 2008, 13:47

Что такое "оглавление вида"?

1) поищите среди расширений на сайте ESRI, Дата+
2) посмотрите http://www.ian-ko.com/et/etdemo/edit_tools_demo.htm - может там еьтс то что подойдет
3) Пишется скрипт на авеню, в принципе не сложный. Алгоритм к примеру следующий:
- получаете экстент полигона и его крайние координаты соответственно (это прямоугольник)
- с помощью цикла создаете точки через заданный интервал в пределах экстента (т.е. крайних координат)
- вставляете в цикл проверку - если точка не попадает собственно в сам полигон, значит она не создается.

lalex
Участник
Сообщения: 74
Зарегистрирован: 07 фев 2006, 22:54
Репутация: 0

Re: Построить сеть точек с одинаковым расстоянием между ними

Сообщение lalex » 19 ноя 2008, 17:17

Много раз было. Ищите fishnet для AV, есть в коллекции ArcScripts. в АМ он встроенный.

Аватара пользователя
Игорь
Интересующийся
Сообщения: 33
Зарегистрирован: 19 ноя 2008, 12:25
Репутация: 6

Re: Построить сеть точек с одинаковым расстоянием между ними

Сообщение Игорь » 19 ноя 2008, 22:41

Хочу уточнить задачу.
Все обнаруженные мной способы построения сетей линейных, полигональных и точечных используют алгоритм построения по квадратам или ромбам. Задача же максимально плотно заполнить полигон от заданной точки, чтобы расстояние между точками было одинаковым. На бумаге решить ее элементарно - от точки строятся равносторонние треугольники, вертексы в которых есть равноудаленные точки, равномерно заполянющие пространство полигона с максимальной плотностью. Либо вокруг имеющейся точки строится окружность, а остальное пространство полигона заполянется такими же по площади кругами от данного круга по часовой стрелке например. Реализовано ли подобное в ArcView, а если нет, то можно ли реализовать. Сам я с Avenu не дружу, поэтому написать подобный скрипт не способен.

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9128
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 747
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Построить сеть точек с одинаковым расстоянием между ними

Сообщение Максим Дубинин » 19 ноя 2008, 23:20

fishnet не пойдет, в сетке с квадратами, прямоугольниками не выполняется условие равности расстояний между ближайшими центроидами.

Вот тут можно скачать то, что нужно, строит треугольники, гексагоны. Единственно, можно доделать чтобы строилось от точки, это не сложно. Я бы решал это в два этапа, сначала строил сетку для полигона, а потом, если нужно от точки, смещал бы сетку к нужной точке.
пристегивайтесь, турбулентность прямо по курсу

gis
Гуру
Сообщения: 515
Зарегистрирован: 24 янв 2007, 15:46
Репутация: 17
Откуда: Липецк
Контактная информация:

Re: Построить сеть точек с одинаковым расстоянием между ними

Сообщение gis » 20 ноя 2008, 01:33

Так ромбы и дают те самые равносторонние треугольники.

А саму задачу, для чего это нужно нельзя осветить? А то как-то непонятно, то точки нужны то окружности... Может так лучше присоветовать удастся.
Это что-от связаное с Лешем, Кристаллером и прочими?
Или это полигоны Воронного?

Авеню - не сложный язык, я думаю за неделю с нуля знаний по авеню запросто можно написать подобный скрипт :) Эх, елси бы его в ArcGIS портировали - цены не было бы ей :)

Аватара пользователя
Игорь
Интересующийся
Сообщения: 33
Зарегистрирован: 19 ноя 2008, 12:25
Репутация: 6

Re: Построить сеть точек с одинаковым расстоянием между ними

Сообщение Игорь » 20 ноя 2008, 02:15

Sim, огромнейшее тебе спасибо! Экстеншен решает эту задачу. Причем здесь даже больше полезных функций, чем я мог бы ожидать. Да здравствует Jeff Jenness!!!

Аватара пользователя
Игорь
Интересующийся
Сообщения: 33
Зарегистрирован: 19 ноя 2008, 12:25
Репутация: 6

Re: Построить сеть точек с одинаковым расстоянием между ними

Сообщение Игорь » 20 ноя 2008, 18:48

Задача экологическая. Зная параметры распределения точек в одном полигоне (будь то деревья, норы грызунов или гнезда птиц) при условии нормальности распределения экстраполировать это на соседний полигон - например территорию, на которой предполагается рубка или иное нарушение. А точка, круг или гексагон, было без разницы, т.к. для круга и гексагона можно построить центроиды и будет как раз нужная система точек.

gis
Гуру
Сообщения: 515
Зарегистрирован: 24 янв 2007, 15:46
Репутация: 17
Откуда: Липецк
Контактная информация:

Re: Построить сеть точек с одинаковым расстоянием между ними

Сообщение gis » 20 ноя 2008, 23:56

Вы на аркскрипт (на сайте ESRI) посмотрите. Там есть несколько расширений специализированных для эколого-биологического анализа. Может там есть уже комплексные инструменты подходящие Вам.

[Сообщение с мобильного устройства] Изображение

gis
Гуру
Сообщения: 515
Зарегистрирован: 24 янв 2007, 15:46
Репутация: 17
Откуда: Липецк
Контактная информация:

Re: Построить сеть точек с одинаковым расстоянием между ними

Сообщение gis » 21 ноя 2008, 10:18

Для ArcGIS правда, но может Вам будут полезны эти расширения - у некоторых могут быть аналоги для тройки - надо на сайтах авторов смотреть или там же на арксрипт.

http://arcscripts.esri.com/details.asp?dbid=15339 (русский автор - вроде на русском этот вариант)
http://arcscripts.esri.com/details.asp?dbid=15481
http://arcscripts.esri.com/details.asp?dbid=15379
http://code.env.duke.edu/projects/mget
http://arcscripts.esri.com/details.asp?dbid=15216
http://www.spatialecology.com/htools/

Вот это (вроде как по описанию) что-то подобное делает
http://arcscripts.esri.com/details.asp?dbid=15309

Ответить

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

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

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