Nếu tôi có đa giác trong Postgis, làm cách nào tôi có thể tìm các điểm ngẫu nhiên trong đa giác này?Điểm ngẫu nhiên Postgis bên trong một đa giác
5
A
Trả lời
5
Liên kết được trích dẫn bởi @Giống như không có mã, nhưng các đầu mối tốt từ các bản đồ "tỷ lệ chấm mật" của Dr.JTS: "... Điều này liên quan đến việc tạo một tập hợp N điểm ngẫu nhiên nằm trong đa giác nhất định ". Một hàm làm điều này: đầu vào là đa giác, đầu ra các điểm ngẫu nhiên.
Các liên kết này có cùng chức năng SQL/PostGIS RandomPoint(Geometry)
: sorokine 2011 và osgeo.org/postgis/wiki. Liên kết thứ hai (wiki) hoàn chỉnh hơn, giải thích và hiển thị các ví dụ, và một hàm RandomPointsInPolygon(geometry,integer)
đó là câu trả lời cho vấn đề.
Mở rộng solion nhập "mật độ điểm cho mỗi khu vực", hay khoảng cách trung bình giữa các điểm:
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;
Các vấn đề liên quan
- 1. Tạo một Đa giác 2D Lõm Ngẫu nhiên Cảnh JavaScript
- 2. Trong PostGIS, làm cách nào để tìm tất cả các điểm trong một đa giác?
- 3. Đọc các điểm từ Đa giác Địa lý trong cơ sở dữ liệu PostGIS
- 4. Làm thế nào để tạo ra một đa giác lồi ngẫu nhiên?
- 5. Khoảng cách từ điểm đến đa giác
- 6. Điểm trong thuật toán đa giác xử lý các đa giác nằm ngang antemeridian
- 7. SQL Server 2008 Spatial: tìm một điểm trong đa giác
- 8. tìm trung tâm điểm của một đa giác trong js
- 9. Điểm gần nhất của hai đa giác
- 10. Sắp xếp các điểm của đa giác
- 11. Khoảng cách từ điểm đến đa diện hoặc đa giác
- 12. Lỗi điểm cuối SoapUI ngẫu nhiên
- 13. Chia đa giác đơn giản, đa giác thành đa giác hoặc đa giác đơn giản thực sự
- 14. Làm thế nào để tôi có được một đa giác bao quanh điểm?
- 15. Tìm điểm trung tâm của đa giác trong JavaScript
- 16. Rasterizing một đa giác 2D
- 17. Ba.js đa giác tam giác không thành công trong các điểm trùng lặp giả
- 18. số ngẫu nhiên không quá ngẫu nhiên
- 19. Triangulation đa giác
- 20. MySQL Postgresql/PostGIS
- 21. Tại sao không ngẫu nhiên() ngẫu nhiên?
- 22. Tạo đa giác 2D trong XNA
- 23. Tờ rơi :: Cách kiểm tra điểm nằm bên trong/bên ngoài đa giác hoặc hình chữ nhật
- 24. Ngẫu nhiên trong Jython
- 25. Tìm giao điểm của hai đa giác 3D
- 26. Số ngẫu nhiên trong một phạm vi
- 27. Mongodb: Kiểm tra xem một điểm có nằm trong một đa giác được lưu trữ không
- 28. 100x100 hình ảnh với màu điểm ảnh ngẫu nhiên
- 29. Điểm trong Đa giác có kiểm tra bằng SVG và JavaScript không?
- 30. Vang vọng ra một biến ngẫu nhiên
câu hỏi này có thể được di chuyển đến http://gis.stackexchange.com/ Làm thế nào để di chuyển? –