Как предоставить ссылку на British National Grid как WKT для GeoDjango?

Я пытаюсь вставить некоторые ссылки National Grid в Django PointField, определенный следующим образом:

oscode = models.PointField(srid=27700, null=True, blank=True)

Однако я не знаю, как правильно их форматировать в WKT. Вот что я получу, если попытаюсь просто использовать базовую ссылку National Grid, TR3241:

INSERT INTO places (placeid, structidx, subidx, county, name, oscode) VALUES ('10', '1', '1', 'Kent', 'Dover', 'TR3241');
psycopg2.InternalError: parse error - invalid geometry
LINE 1: ...'1', 'Kent', 'D1', 'Eastry', 'Bewsbury', 'Dover', 'TR3241', ...
                                                             ^
HINT:  You must specify a valid OGC WKT geometry type such as POINT, LINESTRING or POLYGON

И это то, что я получу, если я (дико догадываюсь после прочтения WKT!) использую POINT(TR3241):

psycopg2.InternalError: parse error - invalid geometry
LINE 1: ...'1', 'Kent', 'D1', 'Eastry', 'Bewsbury', 'Dover', 'POINT(TR3...
                                                             ^
HINT:  "POINT(" <-- parse error at position 6 within geometry

Как правильно отформатировать ссылку на сетку?


person AP257    schedule 15.08.2010    source источник


Ответы (1)


Вам просто нужно что-то вроде этого, предполагая точку с lon1 lat1:

 insert into geography_table (name, geometry_field) values ('Chez Francois',\
 ST_GeomFromText('POINT(lon1 lat1)', 27700));

Похоже, ваш столбец геометрии называется oscode; для проверки используйте psql mydb и нажмите \d. Вы должны увидеть список всех таблиц, те, которые вас интересуют, будут перечислены как тип геометрии. Внизу должна быть строка что-то вроде "enforce_srid_oscode" CHECK (st_srid(oscode) = 27700).

Большая часть картины, которая может сбить вас с толку, заключается в том, что эти записи представляют собой обычные таблицы базы данных, по крайней мере, с одним столбцом, содержащим сведения о некоторой геометрии на Земле. Вставки в эти геометрические значения должны быть геометрическими типами, и способ перехода от (относительно) простого английского языка к этим геометрическим формам — с конструктор геометрии.

person unmounted    schedule 14.09.2010