一、建立空间表,建议使用下边的代码建立空间表不建议使用navicat去建表
CREATE TABLE city( id int4,name varchar(25), geom geometry(POINT,4326) );
二、egg中建立model
module.exports = app => {
const { INTEGER, STRING, GEOMETRY } = app.Sequelize;
const City = app.model.define("city", {
id: { type: INTEGER, primaryKey: true, autoIncrement: true },
name: STRING,
geom: GEOMETRY
}, {
freezeTableName: true, //直接查找设置的表名,默认是表名加s或者es
timestamps: false,
});
return City;
}
三、数据插入到空间表中
(1)直接执行sql命令如下
INSERT INTO city(id,name,geom)VALUES(0,'郑州',st_geomfromtext('SRID=4326;point(113.34 34.23)'))
(2) 使用sequelize插入空间数据
async addCityPoint() {
const { model, request } = this.ctx
let result = await model.City.create({
name: '1',
geom: {
type: 'Point',
coordinates: [39.807222, -76.984722],
crs: { type: 'name', properties: { name: 'EPSG:4326' } }
}
})
this.ctx.body = result
}