0

我正在尝试将一些 National Grid 引用插入到定义如下的 Django PointField 中:

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

但是,我不知道如何在 WKT 中正确格式化它们。如果我尝试简单地使用基本的国家电网参考,这就是我得到的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

如何正确格式化网格参考?

4

1 回答 1

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).

可能会让你大吃一惊的是,这些记录只是常规的数据库表,其中至少有一列包含有关地球上某些几何形状的详细信息。这些几何值上的插入必须是几何类型,并且从(相对)简单的英语到这些几何的方式是使用几何构造函数

于 2010-09-14T03:08:30.343 回答