PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Tạo bảng cho các giá trị Đa giác trong Postgis và chèn

Tôi không có đủ uy tín để nhận xét câu hỏi của bạn, có một liên kết mà bạn có thể thấy hữu ích: Truy vấn SQL cho point-in-polygon bằng PostgreSQL

Thêm tiện ích mở rộng cho cơ sở dữ liệu của bạn

CREATE EXTENSION postgis;

Tạo bảng

CREATE TABLE areas (
    id SERIAL PRIMARY KEY,
    name VARCHAR(64),
    polygon GEOMETRY
);

Tạo chỉ mục trên trường đa giác

CREATE INDEX areas_polygon_idx ON areas USING GIST (polygon);

Chèn bản ghi

INSERT INTO areas (name, polygon) VALUES (
    'A',
    ST_GeometryFromText('POLYGON((50.6373 3.0750,50.6374 3.0750,50.6374 3.0749,50.63 3.07491,50.6373 3.0750))')
);

Truy vấn

SELECT name FROM areas WHERE ST_Contains(polygon, ST_GeomFromText('POINT(50.637 3.074)'));
 name 
------
(0 rows)

SELECT name FROM areas WHERE ST_Contains(polygon, ST_GeomFromText('POINT(50.63735 3.07495)'));
 name 
------
 A
(1 row)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để so khớp not null + not rỗng?

  2. Chỉ chọn phần số của chuỗi chỉ khi nó bắt đầu bằng giá trị số

  3. Làm thế nào để cập nhật bảng khi chế độ xem được cập nhật?

  4. PostgreSQL - LỖI:không thể chuyển ngày cột thành ngày nhập

  5. Tham gia bốn bảng liên quan đến THAM GIA TRÁI mà không có bản sao