Tôi đang làm việc trên một hệ thống lưu trữ thông tin vĩ độ / kinh độ của các địa chỉ trong bảng PostGIS. Để lưu trữ Lat / Long trong kiểu dữ liệu hình học, tôi đang sử dụng hàm ST_GeometryFromText.
Ví dụ: lệnh gọi hàm sau nhận giá trị hình học theo vị trí Long / Lat đã chỉ định:
myPointGeo = ST_GeometryFromText('POINT(40.758871 -73.985114)');
Tương tự, tôi chuyển đổi một Đa giác thành biểu diễn hình học như sau:
myPolygonGeo = ST_GeometryFromText('POLYGON ((40.7566484549725 -73.9878561496734, 40.7556894646734 -73.9853026866913, 40.7545841705587 -73.9860537052154, 40.7548036054111 -73.9881458282471, 40.7559820394514 -73.9887895584106, 40.7566484549725 -73.9878561496734 ))')
Tôi muốn tìm hiểu xem vị trí lat / long ở trên có nằm trong Đa giác này hay không. Đối với điều này, tôi đang sử dụng chức năng ST_Within. Nhưng mặc dù 'myPointGeo' thực sự nằm trong Đa giác, ST_Within đang trả về sai. Tôi đang sử dụng ST_Within theo cách này:
St_Within(myPointGeo,myPolygonGeo)
Tôi làm gì sai ở đây? Tôi có nên sử dụng một số chức năng khác cho mục đích này?