sql >> Databáze >  >> RDS >> PostgreSQL

Jak splním omezení vynucování_srid_coordinate s GeoDjango/PostGIS?

Vypadá to, že se pokoušíte přidat nový ArchivrItem takto:

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

A to nezískává správné výchozí SRID z nějakého důvodu, kterým si nejsem jistý. Výslovné zadání by však mělo fungovat, např.:

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

Řekl bych, že srid je volitelný, pokud se bude shodovat s definicí modelu, ale není na škodu ho specifikovat, a můžete vidět, jestli to stejně nevyřeší jednoduché použití objektu. https://docs.djangoproject.com/en/dev/ref/contrib/gis/db-api/#creating-and-saving-geographic-models má několik dalších příkladů.

[Všimněte si, že POINT() je X a potom Y, tj. lon a potom šířka, nikoli šířka/délka. Můžete vložit SRID, pokud se jedná o rozšířenou WKT s "SRID=4326;POINT(-0,094833 51,520667)"]



  1. Jak zacházet s jednou citací v Oracle SQL

  2. Před vytvořením tabulky v Oracle zkontrolujte, zda existuje nebo neexistuje

  3. Seznam dotazů spuštěných na serveru SQL Server

  4. PDO bindValue s \PDO::PARAM_BOOL způsobí, že provedení příkazu tiše selže