123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- /* sqlHelper */
- // //只插入Geo字段
- // function InsertGeom(req) {
- // let wkt = req.query.wkt
- // let tablename = req.query.tablename
- // let sql = `INSERT INTO public.${tablename}(geom,type) VALUES (st_geomfromtext('${wkt}',4326),'polygon');`
- // return sql
- // }
- //插入一整条数据
- function InsertDataWithGeom(req) {
- let type = req.body.type
- let entityname = req.body.entityname
- let jg = req.body.jg
- let collecttime = req.body.collecttime
- let updatetime = req.body.updatetime
- let gd = req.body.gd
- let wkt = req.body.wkt
- let descinfor = req.body.descinfor
- // let label = req.body.label
- let tablename = req.body.tablename
- let sql = `INSERT INTO public.${tablename}(entityname,jg,collecttime,updatetime,gd,descinfor, geom, type)VALUES ('${entityname}','${jg}','${collecttime}','${updatetime}','${gd}', '${descinfor}', st_geomfromtext('${wkt}',4326), '${type}');`;
- console.log(sql);
- return sql
- }
- //更新一条数据
- function UpdataDataWithGeom(req) {
- let type = req.body.type
- let entityname = req.body.entityname
- let jg = req.body.jg
- let collecttime = req.body.collecttime
- let updatetime = req.body.updatetime
- let gd = req.body.gd
- let wkt = req.body.wkt
- let descinfor = req.body.descinfor
- let id = req.body.id
- // let label = req.body.label
- let tablename = req.body.tablename;
- let sql = `UPDATE public.${tablename} SET entityname='${entityname}', jg='${jg}', collecttime='${collecttime}', updatetime='${updatetime}', gd='${gd}', descinfor='${descinfor}', geom = st_geomfromtext('${wkt}',4326), type='${type}' where id = ${id}`
- console.log(sql);
- return sql
- }
- //在插入单体化时,查询全部label,防止label重复
- function getAlldata(req) {
- let tablename = req.body.tablename;
- // let sql = `select label from public.${tablename} ORDER BY id`;
- let sql = `select entityname from public.${tablename} ORDER BY id`;
- if (req.body.getgeom) {
- // sql = `select id,label,st_asgeojson(ST_GeometryN(geom, 1)) from public.${tablename} ORDER BY id`;
- sql = `select id,entityname,st_asgeojson(ST_GeometryN(geom, 1)) from public.${tablename} ORDER BY id`;
- }
- return sql
- }
- //获取所有接图表
- function getAllJieTuBiao(req) {
- let tablename = req.body.tablename;
- // let sql = `select label from public.${tablename} ORDER BY id`;
- let sql = `select* from public.${tablename} ORDER BY id`;
- if (req.body.getgeom) {
- // sql = `select id,label,st_asgeojson(ST_GeometryN(geom, 1)) from public.${tablename} ORDER BY id`;
- sql = `select refname,id,name,st_asgeojson(ST_GeometryN(geom, 1)) from public.${tablename} ORDER BY id`;
- }
- return sql
- }
- //在插入单体化时,查询全部label,防止label重复
- function getDataByLabel(req) {
- let tablename = req.body.tablename;
- // let label = req.body.label;
- let entityname = req.body.entityname;
- return `select id, entityname,st_asgeojson(ST_GeometryN(geom, 1)) from public.${tablename} where entityname = '${ entityname}' ORDER BY id`;
- }
- //获取点击位置的实体
- function selectWithPoint(req) {
- let tablename = req.body.tablename;
- let pointwkt = req.body.pointwkt;
- // let sql = `select label,descinfor,st_asgeojson(ST_GeometryN(geom, 1)) from public.${tablename} where ST_Intersects(geom,st_geomfromtext('${pointwkt}',4326)) ORDER BY id`
- let sql = `select entityname, jg,collectTime,updateTime,gd,descinfor,st_asgeojson(ST_GeometryN(geom, 1)) from public.${tablename} where ST_Intersects(geom,st_geomfromtext('${pointwkt}',4326)) ORDER BY id`
- return sql
- }
- //获取点击接图表的实体
- function selectWithJieTuPoint(req) {
- let tablename = req.body.tablename;
- let pointwkt = req.body.pointwkt;
- // let sql = `select label,descinfor,st_asgeojson(ST_GeometryN(geom, 1)) from public.${tablename} where ST_Intersects(geom,st_geomfromtext('${pointwkt}',4326)) ORDER BY id`
- let sql = `select id, name, url, st_asgeojson(ST_GeometryN(geom, 1)) from public.${tablename} where ST_Intersects(geom,st_geomfromtext('${pointwkt}',4490)) ORDER BY id`
- return sql
- }
- //获取点击位置的实体
- function qureyByID(req) {
- let tablename = req.body.tablename;
- let id = req.body.id;
- // let sql = `select label,descinfor,st_asgeojson(ST_GeometryN(geom, 1)) from public.${tablename} where id = ${id} ORDER BY id`
- let sql = `select entityname, jg,collectTime,updateTime,gd,descinfor,st_asgeojson(ST_GeometryN(geom, 1)),st_asgeojson(ST_Centroid(ST_Transform(geom,4326))) as center from public.${tablename} where id = ${id} ORDER BY id`
- return sql
- }
- //获取点击位置的实体
- function qureyByID(req) {
- let tablename = req.body.tablename;
- let id = req.body.id;
- // let sql = `select label,descinfor,st_asgeojson(ST_GeometryN(geom, 1)) from public.${tablename} where id = ${id} ORDER BY id`
- let sql = `select entityname, jg,collectTime,updateTime,gd,descinfor,st_asgeojson(ST_GeometryN(geom, 1)),st_asgeojson(ST_Centroid(ST_Transform(geom,4326))) as center from public.${tablename} where id = ${id} ORDER BY id`
- return sql
- }
- //获取点击位置的实体
- function qureyByJieTuID(req) {
- let tablename = req.body.tablename;
- let refname = req.body.refname;
- // let sql = `select label,descinfor,st_asgeojson(ST_GeometryN(geom, 1)) from public.${tablename} where id = ${id} ORDER BY id`
- let sql = `select name, id,st_asgeojson(ST_GeometryN(geom, 1)),st_asgeojson(ST_Centroid(ST_Transform(geom,4326))) as center from public.${tablename} where refname = ${refname} ORDER BY name`
- return sql
- }
- module.exports = {
- InsertDataWithGeom,
- UpdataDataWithGeom,
- getAlldata,
- selectWithPoint,
- qureyByID,
- getDataByLabel,
- getAllJieTuBiao,
- qureyByJieTuID,
- selectWithJieTuPoint
- };
|