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

Làm cách nào để đáp ứng ràng buộc cưỡng chế thực thi với GeoDjango / PostGIS?

Có vẻ như bạn đang cố gắng thêm một ArchivrItem mới bằng cách thực hiện điều này:

item = ArchivrItem(coordinate='POINT(51.520667 -0.094833)')
item.save()

Và điều này không nhận được SRID mặc định phù hợp vì một số lý do mà tôi không chắc chắn về điều này. Tuy nhiên, chỉ định nó một cách rõ ràng sẽ hoạt động, ví dụ:

from django.contrib.gis.geos import Point
item = ArchivrItem(coordinate=Point(-0.094833, 51.520667, srid=4326))
item.save()

Tôi muốn nói rằng srid là tùy chọn nếu nó phù hợp với định nghĩa mô hình, nhưng không có hại gì khi chỉ định nó và bạn có thể thấy nếu chỉ cần sử dụng cách đối tượng thì vẫn khắc phục được nó. https://docs.djangoproject.com/en/dev/ref/contrib/gis/db-api/#creating-and-saving-geographic-models có một số ví dụ khác.

[Ngoài ra, lưu ý rằng POINT () là X rồi đến Y, tức là kinh độ rồi đến kinh độ, không phải vĩ độ / kinh độ. Bạn có thể đưa SRID vào nếu nó được mở rộng WKT với "SRID =4326; POINT (-0.094833 51.520667)"]



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Không thể kết nối với cơ sở dữ liệu Heroku Postgres từ xa bằng Play Framework 2.2.2

  2. Sắp xếp postgreSQL với dấu thời gian

  3. Các tùy chọn khôi phục thảm họa cho PostgreSQL được triển khai cho một đám mây lai

  4. Cách kết xuất một đến nhiều mối quan hệ sang XML với PostgreSQL

  5. Mật khẩu mặc định cho Postgres là gì