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

Postgis xử lý các tọa độ được gửi bằng SRID khác nhau như thế nào

Biến đổi SRS của các hình học không chỉ đơn thuần là thay đổi SRID của chúng. Vì vậy, nếu vì lý do nào đó sau một phép biến đổi, các tọa độ trả về với các giá trị chính xác như nhau, thì hầu như không có phép biến đổi nào cả.

Ví dụ này sử dụng ST_Transform để biến đổi một hình từ 25832 thành 4326 . Tự xem kết quả:

WITH j (geom) AS (
 VALUES('SRID=25832;POINT (11.061 49.463)'::geometry))
SELECT ST_AsEWKT(geom),ST_AsEWKT(ST_Transform(geom,4326)) FROM j;

 

       st_asewkt            |                      st_asewkt                       
---------------------------------+------------------------------------------------------
 SRID=25832;POINT(11.061 49.463) | SRID=4326;POINT(4.511355210946569 0.000446125446657)
(1 Zeile)
  • Phép biến đổi Đa giác trong câu hỏi của bạn đúng btw.

Đảm bảo rằng django đang thực sự lưu trữ các giá trị mà bạn đã đề cập. Gửi 25832 hình học và kiểm tra trực tiếp SRS trong cơ sở dữ liệu. Nếu bạn chỉ kiểm tra bằng cách sử dụng django, có thể nó đang chuyển đổi lại tọa độ trong các yêu cầu, điều này có thể giải thích rằng bạn không thấy bất kỳ sự khác biệt nào.

Đối với câu hỏi của bạn:

WGS84 là SRS được sử dụng nhiều nhất trên toàn thế giới, vì vậy tôi có xu hướng nói có, nhưng tất cả phụ thuộc vào trường hợp sử dụng của bạn. Nếu bạn không chắc nên sử dụng SRS nào, điều đó có thể cho thấy rằng trường hợp sử dụng của bạn không áp đặt bất kỳ ràng buộc nào đối với nó. Vì vậy, hãy sử dụng WGS84 nhưng hãy nhớ rằng bạn không kết hợp các SRS khác nhau trong ứng dụng của mình. Btw:nếu bạn cố gắng lưu trữ hình học trong nhiều SRS trong cùng một bảng, PostgreSQL sẽ đưa ra một ngoại lệ;)

Đọc thêm: ST_AsEWKT , WGS84



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tạo sql với truy vấn con dưới dạng một cột trong câu lệnh chọn bằng cách sử dụng SQLAlchemy

  2. Xuất dữ liệu có chứa nguồn cấp dữ liệu dòng dưới dạng CSV từ PostgreSQL

  3. Nối các mảng trong nhóm theo mệnh đề

  4. Presto SQL:Thay đổi múi giờ bằng cách sử dụng chuỗi múi giờ do truy vấn không hoạt động

  5. Kế thừa PostgreSQL với JPA, Hibernate