// POI模块 const express = require("express"); const router = express.Router(); const pgClient = require("../../core/pgClient/pgClient.js"); /* 1.查询单个poi */ router.get("/search", function(req, res) { let name = req.poiname let tablename = req.tablename let sql = `select * from ${tablename} where name like '%name%'`; // 执行sql pgClient.query(sql).then((data) => { res.send(data.rows); }); }); /* 1.查询单个poi */ router.get("/search111", function(req, res) { // 使用 sqlUtil // console.log(req.query.poiname); // let sql = `select id,name from tianzhen_poi where name like '%${req.query.poiname}%' `; let sql = `select id,name,cityname,typename,address,st_x(geom) AS lon,st_y(geom) AS lat from tianzhen_poi where name = '${req.query.poiname}' `; // 执行sql pgClient.query(sql).then((data) => { res.send(data); }); }); /* 2. POI搜索 查询(确保性能,每次只查询500条) */ router.get("/POIsearch", function(req, res) { let str = req.query.str let tablename = req.query.tablename let sql = `SELECT id, adname, cityname, name FROM ${tablename} where name like '%${str}%' or cityname like '%${str}%' or adname like '%${str}%' LIMIT 500;`; // 执行sql pgClient.query(sql).then((data) => { res.send(data.rows); }); }); /* 3 选中哪条数据,在使用id去查询对应的geom */ router.get("/queryById", function(req, res) { let id = req.query.id let tablename = req.query.tablename let sql = `SELECT st_astext(geom) FROM ${tablename} where id = ${id};` // 执行sql pgClient.query(sql).then((data) => { res.send(data.rows); }); }); /* 4. POI管理 查询所有 (注:为保证性能,尽量不要使用select * ,需要哪些字段就只返回那个字段) */ router.get("/POIManager_queryAll", function(req, res) { let tablename = req.query.tablename let sql = `select id,typename from ${tablename} `; // 执行sql pgClient.query(sql).then((data) => { res.send(data.rows); }); }); /* 5. POI管理 查询(确保性能,每次只查询500条) */ router.get("/POIManager_queryByTypename", function(req, res) { let typename = req.query.typename let tablename = req.query.tablename let sql = `SELECT name,st_astext(geom) FROM ${tablename} where typename like '%${typename}%';` // 执行sql pgClient.query(sql).then((data) => { res.send(data.rows); }); }); router.get("/searchPoiByclassname", function(req, res) { // 使用 sqlUtil let sql = `select name,typename,st_x(geom) AS lon,st_y(geom) AS lat from tianzhen_poi where typename like '%${req.query.poiClassName}%' limit 1000 `; // 执行sql pgClient.query(sql).then((data) => { res.send(data); }); }); /* 1.查询单个poi */ router.get("/searchByRange", function(req, res) { let sql = `select name,st_x(geom) AS lon,st_y(geom) AS lat from tianzhen_poi where name like '%${req.query.queryString}%' order by id asc limit 10`; // 执行sql pgClient.query(sql).then((data) => { res.send(data.rows); }); }); /* 1.获取所有灾害点数据 */ router.get("/getzhd", function(req, res) { //直接拼接 let sql = `select id,leixing,xinxi,st_x(geom) AS lon,st_y(geom) AS lat from public.zaihaidian `; console.log(sql); /* 执行-并把值返回前端 */ pgClient.query(sql).then(data => { res.send(data.rows) // console.log(data.rows); }); }); /* 1.查询单个地质灾害点 */ router.get("/zhdsearch", function(req, res) { // 使用 sqlUtil // console.log(req.query.poiname); // let sql = `select id,name from tianzhen_poi where name like '%${req.query.poiname}%' `; let sql = `select id,leixing,xinxi,st_x(geom) AS lon,st_y(geom) AS lat from zaihaidian where id = '${req.query.zhdid}' `; // 执行sql pgClient.query(sql).then((data) => { res.send(data); }); }); module.exports = router;