Построить сеть точек с одинаковым расстоянием между ними
- Игорь
- Интересующийся
- Сообщения: 33
- Зарегистрирован: 19 ноя 2008, 12:25
- Репутация: 6
Построить сеть точек с одинаковым расстоянием между ними
Задача:
Для выделенного в оглавлении вида полигона требуется построить сеть точек с одинаковым расстоянием между ними. Расстояние должно вводится пользователем. Как это можно сделать и каков алгоритм?
Для выделенного в оглавлении вида полигона требуется построить сеть точек с одинаковым расстоянием между ними. Расстояние должно вводится пользователем. Как это можно сделать и каков алгоритм?
-
- Гуру
- Сообщения: 515
- Зарегистрирован: 24 янв 2007, 15:46
- Репутация: 17
- Откуда: Липецк
- Контактная информация:
Re: Построить сеть точек с одинаковым расстоянием между ними
Что такое "оглавление вида"?
1) поищите среди расширений на сайте ESRI, Дата+
2) посмотрите http://www.ian-ko.com/et/etdemo/edit_tools_demo.htm - может там еьтс то что подойдет
3) Пишется скрипт на авеню, в принципе не сложный. Алгоритм к примеру следующий:
- получаете экстент полигона и его крайние координаты соответственно (это прямоугольник)
- с помощью цикла создаете точки через заданный интервал в пределах экстента (т.е. крайних координат)
- вставляете в цикл проверку - если точка не попадает собственно в сам полигон, значит она не создается.
1) поищите среди расширений на сайте ESRI, Дата+
2) посмотрите http://www.ian-ko.com/et/etdemo/edit_tools_demo.htm - может там еьтс то что подойдет
3) Пишется скрипт на авеню, в принципе не сложный. Алгоритм к примеру следующий:
- получаете экстент полигона и его крайние координаты соответственно (это прямоугольник)
- с помощью цикла создаете точки через заданный интервал в пределах экстента (т.е. крайних координат)
- вставляете в цикл проверку - если точка не попадает собственно в сам полигон, значит она не создается.
-
- Участник
- Сообщения: 74
- Зарегистрирован: 07 фев 2006, 22:54
- Репутация: 0
Re: Построить сеть точек с одинаковым расстоянием между ними
Много раз было. Ищите fishnet для AV, есть в коллекции ArcScripts. в АМ он встроенный.
- Игорь
- Интересующийся
- Сообщения: 33
- Зарегистрирован: 19 ноя 2008, 12:25
- Репутация: 6
Re: Построить сеть точек с одинаковым расстоянием между ними
Хочу уточнить задачу.
Все обнаруженные мной способы построения сетей линейных, полигональных и точечных используют алгоритм построения по квадратам или ромбам. Задача же максимально плотно заполнить полигон от заданной точки, чтобы расстояние между точками было одинаковым. На бумаге решить ее элементарно - от точки строятся равносторонние треугольники, вертексы в которых есть равноудаленные точки, равномерно заполянющие пространство полигона с максимальной плотностью. Либо вокруг имеющейся точки строится окружность, а остальное пространство полигона заполянется такими же по площади кругами от данного круга по часовой стрелке например. Реализовано ли подобное в ArcView, а если нет, то можно ли реализовать. Сам я с Avenu не дружу, поэтому написать подобный скрипт не способен.
Все обнаруженные мной способы построения сетей линейных, полигональных и точечных используют алгоритм построения по квадратам или ромбам. Задача же максимально плотно заполнить полигон от заданной точки, чтобы расстояние между точками было одинаковым. На бумаге решить ее элементарно - от точки строятся равносторонние треугольники, вертексы в которых есть равноудаленные точки, равномерно заполянющие пространство полигона с максимальной плотностью. Либо вокруг имеющейся точки строится окружность, а остальное пространство полигона заполянется такими же по площади кругами от данного круга по часовой стрелке например. Реализовано ли подобное в ArcView, а если нет, то можно ли реализовать. Сам я с Avenu не дружу, поэтому написать подобный скрипт не способен.
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9128
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 747
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: Построить сеть точек с одинаковым расстоянием между ними
fishnet не пойдет, в сетке с квадратами, прямоугольниками не выполняется условие равности расстояний между ближайшими центроидами.
Вот тут можно скачать то, что нужно, строит треугольники, гексагоны. Единственно, можно доделать чтобы строилось от точки, это не сложно. Я бы решал это в два этапа, сначала строил сетку для полигона, а потом, если нужно от точки, смещал бы сетку к нужной точке.
Вот тут можно скачать то, что нужно, строит треугольники, гексагоны. Единственно, можно доделать чтобы строилось от точки, это не сложно. Я бы решал это в два этапа, сначала строил сетку для полигона, а потом, если нужно от точки, смещал бы сетку к нужной точке.
пристегивайтесь, турбулентность прямо по курсу
-
- Гуру
- Сообщения: 515
- Зарегистрирован: 24 янв 2007, 15:46
- Репутация: 17
- Откуда: Липецк
- Контактная информация:
Re: Построить сеть точек с одинаковым расстоянием между ними
Так ромбы и дают те самые равносторонние треугольники.
А саму задачу, для чего это нужно нельзя осветить? А то как-то непонятно, то точки нужны то окружности... Может так лучше присоветовать удастся.
Это что-от связаное с Лешем, Кристаллером и прочими?
Или это полигоны Воронного?
Авеню - не сложный язык, я думаю за неделю с нуля знаний по авеню запросто можно написать подобный скрипт Эх, елси бы его в ArcGIS портировали - цены не было бы ей
А саму задачу, для чего это нужно нельзя осветить? А то как-то непонятно, то точки нужны то окружности... Может так лучше присоветовать удастся.
Это что-от связаное с Лешем, Кристаллером и прочими?
Или это полигоны Воронного?
Авеню - не сложный язык, я думаю за неделю с нуля знаний по авеню запросто можно написать подобный скрипт Эх, елси бы его в ArcGIS портировали - цены не было бы ей
- Игорь
- Интересующийся
- Сообщения: 33
- Зарегистрирован: 19 ноя 2008, 12:25
- Репутация: 6
Re: Построить сеть точек с одинаковым расстоянием между ними
Sim, огромнейшее тебе спасибо! Экстеншен решает эту задачу. Причем здесь даже больше полезных функций, чем я мог бы ожидать. Да здравствует Jeff Jenness!!!
- Игорь
- Интересующийся
- Сообщения: 33
- Зарегистрирован: 19 ноя 2008, 12:25
- Репутация: 6
Re: Построить сеть точек с одинаковым расстоянием между ними
Задача экологическая. Зная параметры распределения точек в одном полигоне (будь то деревья, норы грызунов или гнезда птиц) при условии нормальности распределения экстраполировать это на соседний полигон - например территорию, на которой предполагается рубка или иное нарушение. А точка, круг или гексагон, было без разницы, т.к. для круга и гексагона можно построить центроиды и будет как раз нужная система точек.
-
- Гуру
- Сообщения: 515
- Зарегистрирован: 24 янв 2007, 15:46
- Репутация: 17
- Откуда: Липецк
- Контактная информация:
Re: Построить сеть точек с одинаковым расстоянием между ними
Вы на аркскрипт (на сайте ESRI) посмотрите. Там есть несколько расширений специализированных для эколого-биологического анализа. Может там есть уже комплексные инструменты подходящие Вам.
[Сообщение с мобильного устройства]
[Сообщение с мобильного устройства]
-
- Гуру
- Сообщения: 515
- Зарегистрирован: 24 янв 2007, 15:46
- Репутация: 17
- Откуда: Липецк
- Контактная информация:
Re: Построить сеть точек с одинаковым расстоянием между ними
Для 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
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
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 12 гостей