123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- // 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;
|