Если у меня есть полигон в Postgis, как я могу найти-вычислить случайные точки внутри этого полигона?Postgis случайная точка внутри полигона
5
A
ответ
5
Ссылка, цитируемая @Mike, не имеет кода, но хороших подсказок от Dr.JTS: "dot-density" maps ... "По сути, это связано с созданием набора из N случайно расположенных точек, которые лежат внутри данный полигон ". Функция делает это: вход является многоугольником, выводят случайные точки.
Эти ссылки имеют ту же функцию SQL/PostGIS RandomPoint(Geometry)
: sorokine 2011 и osgeo.org/postgis/wiki. Вторая ссылка (wiki) более полная, объясняя и демонстрируя примеры, а также функцию RandomPointsInPolygon(geometry,integer)
, которая является ответом на проблему.
Расширение solion для ввода «плотности точек на единицу площади», или среднее расстояние между точками:
CREATE OR REPLACE FUNCTION RandomPointsInPolygon(
geom geometry, -- the polygon
avg_dist float DEFAULT 20.0, -- average of 20 units between points
min_pts integer DEFAULT 1, -- min. of points
max_pts integer DEFAULT 1000 -- max. of points
) RETURNS SETOF geometry AS
$$
SELECT CASE WHEN npts=1 THEN ST_Centroid($1)
ELSE RandomPointsInPolygon($1,npts)
END
FROM (
SELECT CASE WHEN d<$3 THEN $3 WHEN d>$4 THEN $4 ELSE d END AS npts
FROM (SELECT (st_area($1)/(pi()*($2/2.0)^2))::integer AS d) AS t
) AS t2;
$$ LANGUAGE SQL;
Смежные вопросы
- 1. Контрольная точка внутри полигона
- 2. Является ли точка внутри полигона?
- 3. Проверьте, находится ли точка внутри простого полигона
- 4. Решение, если точка внутри полигона python
- 5. PostGIS экстракта координаты из ПОЛИГОНА
- 6. Равномерно распределенная случайная точка внутри усечения
- 7. Случайная точка внутри коллекции векторных точек
- 8. Случайная точка внутри SVG <path>
- 9. Точка геометрии PostGIS или нативная точка PostgreSQL?
- 10. Преобразование полигона PostGIS как GeoJSON в rails
- 11. PostGIS: найти все точки в пределах полигона
- 12. SQLite point проверяет, находится ли точка внутри полигона
- 13. Создайте и проверьте, находится ли точка внутри полигона
- 14. Mongodb: Проверьте, находится ли точка внутри сохраненного полигона
- 15. Проверьте, если точка находится внутри геометрии в PostGIS из PHP
- 16. Точка внутри многоугольника javascript
- 17. Можно ли определить, находится ли точка GeoJSON внутри полигона GeoJSON с использованием JavasScript?
- 18. AS3 случайная точка между двумя прямоугольниками
- 19. Центр полигона внутри переключателя
- 20. Прямоугольник внутри полигона?
- 21. Проверьте, если точка находится в пределах полигона
- 22. Найти координаты внутри полигона с использованием Ruby
- 23. PostGIS ST_Distance расхождение между GeogFromText и точка
- 24. Размер географии данных (точка, 4326) в PostGIS?
- 25. расстояние от точки до полигона (когда внутри)
- 26. Plotting случайная точка на функции - Панды
- 27. Случайная точка на VideoDisplay недостаточно точна
- 28. HTML Случайная точка на веб-странице
- 29. случайная точка в выпуклой многогранной области
- 30. Для точки вогнутого многоугольника, какая ближайшая точка вне полигона?
этот вопрос можно перенести на http://gis.stackexchange.com/ Как перенести? –