Що стосується QGIS стосовно межі шару, - це фактично конверт або обмежувальне поле геометрії.
Я задокументував рішення, яке, мабуть, є найближчим до автоматизації цього (за винятком подання запиту про помилку / функцію).
Процес працює на основі співвідношення між площею двох об'єктів: геометрією функції та обмежувальним вікном).
Перевірте наступні кроки нижче:
Виберіть шар, над яким потрібно працювати.
Виберіть функцію, над якою ви хочете працювати. Переконайтесь, що нічого іншого не вибрано.
Виконайте наступний фрагмент в консолі Python.
layer = qgis.utils.iface.activeLayer()
features = layer.selectedFeatures()
feature = features[0]
geom = feature.geometry()
env_rect = geom.boundingBox()
env_geom = QgsGeometry.fromRect(env_rect)
env_geom.area() / geom.area()
Не забудьте натиснути Enter, оскільки останній рядок не повернеться автоматично.
Запустіть Regular Points
інструмент ще раз, але введіть кількість очок, яку ви хочете всередині поля, помноживши на результат, заданий вашим сценарієм.
У моїй вибірці нижче результат, який я отримав від результату, отримав значення ~ 2. Я попросив вивести 20 крапок під час процесу, де я насправді хотів лише 10. Мені дали 8 взамін, що досить близько. Залежно від фактичної форми, яку ви використовуєте, результати будуть різними.
Якщо ви були настільки схильні, ви могли автоматизувати (рекурсивно) процес "Регулярні точки", змінюючи змінні, поки ви не отримали потрібну кількість.