Mysql 这不是一段大得多的代码。我最终试图确定哪些客户在我定义的多边形内,哪些不在。 var polygon = [-89.72,34.27,-89.46,34.53,-89.44,34.53,-89.43,34.52]; var point =

Mysql 这不是一段大得多的代码。我最终试图确定哪些客户在我定义的多边形内,哪些不在。 var polygon = [-89.72,34.27,-89.46,34.53,-89.44,34.53,-89.43,34.52]; var point = ,mysql,node.js,Mysql,Node.js,这不是一段大得多的代码。我最终试图确定哪些客户在我定义的多边形内,哪些不在。 var polygon = [-89.72,34.27,-89.46,34.53,-89.44,34.53,-89.43,34.52]; var point = []; con.connect(function (err) { console.log("Connected4 " + polygon); var sql = 'select customer_num,

这不是一段大得多的代码。我最终试图确定哪些客户在我定义的多边形内,哪些不在。
    var polygon = [-89.72,34.27,-89.46,34.53,-89.44,34.53,-89.43,34.52];
    var point = [];
    con.connect(function (err) {
        console.log("Connected4 " + polygon);
        var sql = 'select customer_num, latitude,longitude from gc.customers';  
        console.log("SQL = " + sql);
        con.query(sql, function (err, rows, fields) {
            if (err) throw err;
            for (var i = 0; i < rows.length; i++) {       
                   point[0] = rows[i].latitude;
                   point[1] = rows[i].longitude;
                   console.log("new row " + point[0] + " newpoint " + point[1]);                                
            }                      
        });                  
        console.log("point0= ", point[0], "polygon0 = ", polygon[0])
        const inside = require("point-in-polygon")(point, polygon)
        console.log('inside = ' + inside)
    });
node junksql.js
Connected4 -89.72,34.27,-89.46,34.53,-89.44,34.53,-89.43,34.52
SQL = select customer_num, latitude,longitude from gc.customers
point0=  undefined polygon0 =  -89.72
inside=  false point0=  undefined vs0 =  -89.72
inside = false
new row 28.406973 newpoint -81.57685
new row 28.406973 newpoint -81.57685
new row 28.472523 newpoint -81.473743
new row 28.406973 newpoint -81.57685
new row 28.406973 newpoint -81.57685
new row 28.406973 newpoint -81.57685
new row 28.472523 newpoint -81.473743
new row 28.472523 newpoint -81.473743
^C
const sqlQuery = (query) => {
    return new Promise((resolve, reject) => {
        con.query(query, function (err, rows, fields) {
            if (err) return reject(err);
            return resolve (rows);
        });
    });
};

const polygon = [-89.72,34.27,-89.46,34.53,-89.44,34.53,-89.43,34.52];
let point = [];

con.connect(function (err) {
   sqlQuery('select customer_num, latitude,longitude from gc.customers')
        .then(results => {
            for (let i = 0; i < results.length; i++) {
                //note: this is probably not the best logic
                point[0] = results[i].latitude;
                point[1] = results[i].longitude;
            }
            const shape = require("point-in-polygon")(point, polygon);
            //do stuff with, or return, shape
        })
        .catch(err => {
            //handle error
        });
});