refactored some uneven spacing from server-side push, changed test sql to be more appropriate characters, and disabled camera functionality for demo.
This commit is contained in:
+30
-18
@@ -2,19 +2,30 @@ DROP DATABASE IF EXISTS `territory-walker`;
|
||||
CREATE DATABASE `territory-walker`;
|
||||
USE `territory-walker`;
|
||||
|
||||
DROP PROCEDURE IF EXISTS `deletePolygon`;
|
||||
DROP PROCEDURE IF EXISTS `insertPolygon`;
|
||||
DROP PROCEDURE IF EXISTS `selectNonUserPolygon`;
|
||||
DROP PROCEDURE IF EXISTS `selectUserPolygon`;
|
||||
DROP PROCEDURE IF EXISTS `getPolygonPoints`;
|
||||
DROP TABLE IF EXISTS `polygonPoints`;
|
||||
DROP TABLE IF EXISTS `polygonArea`;
|
||||
DROP TABLE IF EXISTS `userJoinedGames`;
|
||||
DROP TABLE IF EXISTS `gameInstances`;
|
||||
DROP TABLE IF EXISTS `users`;
|
||||
|
||||
CREATE TABLE `gameInstances` (
|
||||
gameID VARCHAR(6) UNIQUE NOT NULL,
|
||||
PRIMARY KEY (gameID)
|
||||
);
|
||||
|
||||
CREATE TABLE `users` (
|
||||
userID VARCHAR(6) UNIQUE NOT NULL,
|
||||
userID VARCHAR(40) UNIQUE NOT NULL,
|
||||
nickname VARCHAR (40) NOT NULL,
|
||||
PRIMARY KEY (userID)
|
||||
);
|
||||
|
||||
CREATE TABLE `userJoinedGames` (
|
||||
userID VARCHAR(6) NOT NULL,
|
||||
userID VARCHAR(40) NOT NULL,
|
||||
gameID VARCHAR(6) NOT NULL,
|
||||
colour VARCHAR(6) NOT NULL,
|
||||
FOREIGN KEY (userID) REFERENCES users(userID),
|
||||
@@ -25,7 +36,7 @@ CREATE TABLE `userJoinedGames` (
|
||||
CREATE TABLE `polygonArea` (
|
||||
gameID VARCHAR(6) NOT NULL,
|
||||
polygonID VARCHAR(36) UNIQUE NOT NULL,
|
||||
userID VARCHAR(6) NOT NULL,
|
||||
userID VARCHAR(40) NOT NULL,
|
||||
area DOUBLE(30,4) NOT NULL,
|
||||
PRIMARY KEY (polygonID),
|
||||
FOREIGN KEY (gameID) REFERENCES gameInstances(gameID),
|
||||
@@ -56,7 +67,7 @@ DELIMITER ;
|
||||
DELIMITER //
|
||||
CREATE PROCEDURE selectUserPolygon
|
||||
(IN gID VARCHAR(6),
|
||||
IN usID VARCHAR(6))
|
||||
IN usID VARCHAR(40))
|
||||
BEGIN
|
||||
SELECT * FROM `polygonPoints`
|
||||
JOIN `polygonArea` ON
|
||||
@@ -71,7 +82,7 @@ DELIMITER ;
|
||||
DELIMITER //
|
||||
CREATE PROCEDURE selectNonUserPolygon
|
||||
(IN gID VARCHAR(6),
|
||||
IN usID VARCHAR(6))
|
||||
IN usID VARCHAR(40))
|
||||
BEGIN
|
||||
SELECT * FROM `polygonPoints`
|
||||
JOIN `polygonArea` ON
|
||||
@@ -86,7 +97,7 @@ DELIMITER ;
|
||||
DELIMITER //
|
||||
CREATE PROCEDURE insertPolygon
|
||||
(IN gID VARCHAR(6),
|
||||
IN usID VARCHAR(6),
|
||||
IN usID VARCHAR(40),
|
||||
IN a DOUBLE(30,4))
|
||||
BEGIN
|
||||
DECLARE lastid VARCHAR(36) DEFAULT UUID();
|
||||
@@ -108,18 +119,19 @@ BEGIN
|
||||
END //
|
||||
DELIMITER ;
|
||||
|
||||
INSERT INTO `gameInstances` (gameID) VALUES ("samdum");
|
||||
INSERT INTO `users` (userID, nickname) VALUES ("samded", "Lesmaux");
|
||||
INSERT INTO `users` (userID, nickname) VALUES ("fanded", "Umbra Sheep");
|
||||
INSERT INTO `userJoinedGames` (userID, gameID, colour) VALUES ("samded", "samdum", "0000FF");
|
||||
INSERT INTO `polygonArea` (gameID, polygonID, userID, area) VALUES
|
||||
("samdum", "someuniqueid", "samded", 100000.1);
|
||||
INSERT INTO `polygonPoints` (polygonID, lat, lng) VALUES
|
||||
("someuniqueid", -43.5623, 172.5655),
|
||||
("someuniqueid", -43.5623, 172.5650),
|
||||
("someuniqueid", -43.5628, 172.5650),
|
||||
("someuniqueid", -43.5628, 172.5655),
|
||||
("someuniqueid", -43.5623, 172.5655);
|
||||
INSERT INTO `gameInstances` (gameID) VALUES ("U39FME");
|
||||
INSERT INTO `users` (userID, nickname) VALUES ("Sam Bates", "Lesmaux");
|
||||
INSERT INTO `users` (userID, nickname) VALUES ("Fan-Wu Yang", "Umbra Sheep");
|
||||
INSERT INTO `userJoinedGames` (userID, gameID, colour) VALUES ("Sam Bates", "U39FME", "0000FF");
|
||||
INSERT INTO `userJoinedGames` (userID, gameID, colour) VALUES ("Fan-Wu Yang", "U39FME", "00FF00");
|
||||
-- INSERT INTO `polygonArea` (gameID, polygonID, userID, area) VALUES
|
||||
-- ("samdum", "someuniqueid", "samded", 100000.1);
|
||||
-- INSERT INTO `polygonPoints` (polygonID, lat, lng) VALUES
|
||||
-- ("someuniqueid", -43.5623, 172.5655),
|
||||
-- ("someuniqueid", -43.5623, 172.5650),
|
||||
-- ("someuniqueid", -43.5628, 172.5650),
|
||||
-- ("someuniqueid", -43.5628, 172.5655),
|
||||
-- ("someuniqueid", -43.5623, 172.5655);
|
||||
-- TODO CREATE PROCEDURE FOR GENERATING GAME ID
|
||||
-- concat(substring('ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', rand()*36+1, 1),
|
||||
-- substring('ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789', rand()*36+1, 1),
|
||||
|
||||
@@ -47,15 +47,11 @@ module.exports = {
|
||||
let firstPoint = points[0];
|
||||
let lastPoint = points[points.length - 1];
|
||||
let distance = mathFunc.gpsToMeters(firstPoint.lat, firstPoint.lng, lastPoint.lat, lastPoint.lng);
|
||||
console.log(distance);
|
||||
if (distance < 20) {
|
||||
console.log(lastPoint);
|
||||
console.log(firstPoint);
|
||||
if (lastPoint.lat != firstPoint.lat || lastPoint.lng != firstPoint.lng) {
|
||||
// points.pop();
|
||||
points.push({lat: firstPoint.lat, lng: lastPoint.lng});
|
||||
}
|
||||
console.log(points);
|
||||
areaFunctions.collatePolygons(res, gameID, userID, points);
|
||||
} else {
|
||||
res.send([]);
|
||||
|
||||
@@ -26,7 +26,6 @@ module.exports = {
|
||||
},
|
||||
submitFinalCollation(res, gameID, userID, points, area, mergedPolygonIDs) {
|
||||
let query = util.format("CALL insertPolygon(\"%s\", \"%s\", %d)", gameID, userID, area);
|
||||
console.log(query);
|
||||
db.get().query(query, function(err, rows) {
|
||||
if (err) {
|
||||
console.log(err);
|
||||
@@ -60,7 +59,6 @@ module.exports = {
|
||||
deleteMergedPolygons(mergedPolygonIDs, next) {
|
||||
if (mergedPolygonIDs.length > 0) {
|
||||
let id = mergedPolygonIDs.pop();
|
||||
console.log(id);
|
||||
let deleteQuery = util.format("CALL deletePolygon(\"%s\");", id);
|
||||
db.get().query(deleteQuery, function(err, pointRows) {
|
||||
if (err) {
|
||||
@@ -87,10 +85,8 @@ module.exports = {
|
||||
let polygonResult = [];
|
||||
let polygonsMerged = [];
|
||||
polygons.map((polygon) => {
|
||||
console.log(polygon);
|
||||
if (polygon.coords[0].lat != polygon.coords[polygon.coords.length - 1].lat &&
|
||||
polygon.coords[0].lng != polygon.coords[polygon.coords.length - 1].lng) {
|
||||
console.log("Duplicated");
|
||||
polygon.coords.push({lat: polygon.coords[0].lat, lng: polygon.coords[0].lng})
|
||||
}
|
||||
let intersect = module.exports.checkIntersects(polygonPoints, polygon.coords);
|
||||
@@ -118,8 +114,6 @@ module.exports = {
|
||||
checkIntersects(points1, points2) {
|
||||
let arrayPoints1 = [module.exports.convertPointsObjToArray(points1)];
|
||||
let arrayPoints2 = [module.exports.convertPointsObjToArray(points2)];
|
||||
console.log("apt1: %s", arrayPoints1);
|
||||
console.log("apt2: %s", arrayPoints2);
|
||||
let poly1 = turf.polygon(arrayPoints1);
|
||||
let poly2 = turf.polygon(arrayPoints2);
|
||||
return turf.intersect(poly1, poly2);
|
||||
|
||||
Reference in New Issue
Block a user