Шукаєте алгоритм для розміщення максимальної кількості балів у обмеженій області при мінімальному відстані?


17

У мене є багатокутний шар, який описує обмеження; Я хочу додати бали в цій області. Я хочу додати якомога більше балів, але вони повинні мати мінімальний проміжок між ними. Чи можливо це зробити за допомогою ГІС?

Для уточнення, найкраще було б створити впорядковану сітку, оскільки це гарантувало б найбільше балів. Однак обмеження рідко дозволяє це, і може бути кращим видалити точки, щоб зсув краще вписався в обмеження.


1. Так. 2. Ви хочете випадкову чи впорядковану (сітку)?
Бред Несом

Здається, це два питання. Ви хочете, щоб алгоритм це робив поза програмним забезпеченням? Або ви хочете знати, яка система GIS може це зробити?
Бред Несом

1
Чи обмежені точки так, що вони повинні бути> = мінімальна відстань від межі полігона? Якщо так, то питання може бути чіткіше викладене так: Як я можу упакувати максимальну кількість кіл у багатокутник?
Кірк Куйкендалл

Яким - то чином пов'язані: gis.stackexchange.com/q/4927/162
Julien

1
@qva Ні, немає, тому що точні рішення, які можна знайти, асиметричні і їх важко отримати навіть для простих фігур, таких як прямокутники. Найкращі методи обчислень, які я знайшов, базуються на просторовому імітованому відпалі (і вони дуже добре працюють, навіть не вимагаючи великих обчислень). Використовуючи їх, я розглянув рішення багатьох полігонів різної форми. Зрозуміло, що межі багатокутника контролюють розв’язки, близькі до меж; У глибині інтер’єру вони мають тенденцію до наближення шестикутних упаковок дисків.
whuber

Відповіді:


5

Я думаю, що це можна розглядати як проблему "упаковки".

Якщо це так, ви можете спробувати генетичний алгоритм, можливо, аналогічний тому, що стосується "Генетичні алгоритми упаковки полігонів" .


Цікава довідка, дякую. Швидкий погляд говорить про те, що алгоритм паперу потребує, щоб багатокутники були прямокутниками. Чи знаєте ви, чи можна її узагальнити до довільних багатокутників?
whuber

9

Я не знаю жодного інструменту ГІС для цього, але я маю уявлення про алгоритм.

По-перше, за цією формулою можна отримати наближення максимального числа балів:

Nb = 4.A / Pi.d^2

(де Aплоща багатокутника і dмінімальна відстань).

Потім, щоб спробувати розташувати ці точки у багатокутнику, найкращий зразок - це не квадратна сітка, а шестикутна сітка. Побачити:

квадрат проти шестикутної сітки

Нарешті, деякі методи оптимізації за допомогою силових моделей можуть бути використані для уточнення відносного розташування точок.

NB: Це добре відома проблема кристалографії .


інструмент gis для цього ... ian-ko.com випадкова точка гео-майстра в полігоні.
Бред Несом

1
Спасибі! Але питання не зовсім у випадкових точках у багатокутнику, правда?
julien

Як початкове швидке і брудне наближення, шестикутна упаковка працює добре. Це майже ніколи не є оптимальним. Я б очікував, що потенційне поліпшення буде пропорційним довжині периметра багатокутника, тому для некрутистих багатокутників з багатьма точками це не поганий підхід.
качан

6

Дивіться тему на /math/15624/distribute-a-fixed-number-of-points-uniformly-inside-a-polygon . Зокрема, зверніть увагу на посилання (у коментарі) на "процес Пуассона на диску" та виконайте певний пошук в Інтернеті. Зв'язок із поточним питанням полягає в тому, що коли ви можете розподілити задану кількість точок рівномірно, ви можете систематично збільшувати це число, поки більше полігонів не можна буде поставити в полігон, і це вирішить проблему максимізації кількості точок, що підлягають вимога до мінімальної відстані (Технічно ці дві проблеми - це проблеми подвійної оптимізації, де цілі та обмеження взаємозамінні.)


0

Рішення повинно бути рівносторонніми трикутниками, http://en.wikipedia.org/wiki/Equilateral_triangle . Питання лише в довжині сторін і "зміщення" по відношенню до вашого багатокутника.

(те саме, що вказана нижче шестикутна сітка)


1
Це справедливо лише в нескінченній площині. Межа кінцевого багатокутника сильно обмежує конфігурацію. Коли є багато точок, вони приблизно утворюють рівносторонні трикутники.
whuber
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.