PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak mogę spełnić ograniczenie force_srid_coordinate z GeoDjango/PostGIS?

Wygląda na to, że próbujesz dodać nowy element ArchivrItem, wykonując następujące czynności:

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

I to nie jest prawidłowy domyślny SRID z jakiegoś powodu, którego nie jestem pewien. Jednak określenie tego wprost powinno działać, np.:

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

Powiedziałbym, że srid jest opcjonalny, jeśli ma być zgodny z definicją modelu, ale nie ma nic złego w określaniu go, a możesz zobaczyć, czy zwykłe użycie metody obiektowej i tak to naprawia. https://docs.djangoproject.com/en/dev/ref/contrib/gis/db-api/#creating-and-saving-geographic-models ma więcej przykładów.

[Poza tym zauważ, że POINT() to X, a następnie Y, tj. lon, potem lat, a nie lat/dług. Możesz umieścić SRID, jeśli jest rozszerzony WKT o „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. Jak Tan() działa w PostgreSQL

  2. Model aplikacji quizu django dla pytań wielokrotnego wyboru

  3. Przycinaj końcowe spacje za pomocą PostgreSQL

  4. postgresql - sql - liczba `true` wartości

  5. Pula połączeń bazy danych pracownika selera