Bugfix: Correct latitude & longitude to make them the right way around

This commit is contained in:
Starbeamrainbowlabs 2019-07-25 14:02:16 +01:00
parent 0ff5ca462e
commit 7a96f87b2d
3 changed files with 23 additions and 12 deletions

View file

@ -1,4 +1,6 @@
@import "../../node_modules/leaflet/dist/leaflet.css"; @import "../../node_modules/leaflet/dist/leaflet.css";
.leaflet-fade-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-zoom-animated { will-change:auto !important; }
/** Ensure that some assets are copied that aren't by default **/ /** Ensure that some assets are copied that aren't by default **/
.non-existent { .non-existent {
background: url(../../node_modules/leaflet/dist/images/marker-icon-2x.png), background: url(../../node_modules/leaflet/dist/images/marker-icon-2x.png),

View file

@ -9,10 +9,16 @@ export default {
default_zoom: 12, default_zoom: 12,
// The border around gateways that we should consult the AI on. // The border around gateways that we should consult the AI on.
border: 0.1, border: {
lat: 0.05,
lng: 0.1
},
// The resolution of the coverage map // The resolution of the coverage map
step: 0.005, step: {
lat: 0.003,
lng: 0.005,
},
colour_scale: { colour_scale: {
min: "#ffffff", min: "#ffffff",

View file

@ -51,10 +51,13 @@ class LayerAI {
this.layer = this.generate_layer(); this.layer = this.generate_layer();
this.layer.addTo(this.map); this.layer.addTo(this.map);
console.log("[Layer/AI] Complete");
} }
generate_layer() { generate_layer() {
console.log("[Layer/AI] Rendering map");
let map = this.render_map(); let map = this.render_map();
console.log("[Layer/AI] Passing to Leaflet");
return L.geoJSON(map, { return L.geoJSON(map, {
style: (feature) => { return { style: (feature) => { return {
stroke: true, stroke: true,
@ -70,11 +73,11 @@ class LayerAI {
render_map() { render_map() {
// FUTURE: Do this in a web worker? // FUTURE: Do this in a web worker?
let map_bounds = this.gateway_bounds; let map_bounds = this.gateway_bounds;
map_bounds.north += Config.border; map_bounds.north += Config.border.lat;
map_bounds.south -= Config.border; map_bounds.south -= Config.border.lat;
map_bounds.east += Config.border; map_bounds.east += Config.border.lng;
map_bounds.west -= Config.border; map_bounds.west -= Config.border.lng;
let coverage = [], let coverage = [],
colour_scale = chroma.scale([ colour_scale = chroma.scale([
@ -85,8 +88,8 @@ class LayerAI {
this.index.properties.rssi_max this.index.properties.rssi_max
); );
for(let lat = map_bounds.west; lat < map_bounds.east; lat += Config.step) { for(let lat = map_bounds.south; lat < map_bounds.north; lat += Config.step.lat) {
for(let lng = map_bounds.south; lng < map_bounds.north; lng += Config.step) { for(let lng = map_bounds.west; lng < map_bounds.east; lng += Config.step.lng) {
let max_predicted_rssi = -Infinity; let max_predicted_rssi = -Infinity;
for(let [, ai] of this.gateways) { for(let [, ai] of this.gateways) {
@ -113,10 +116,10 @@ class LayerAI {
type: "Polygon", type: "Polygon",
coordinates: [ coordinates: [
[ // Outer shape [ // Outer shape
[lat, lng], [lng, lat],
[lat + Config.step, lng], [lng, lat + Config.step.lat],
[lat + Config.step, lng + Config.step], [lng + Config.step.lng, lat + Config.step.lat],
[lat, lng + Config.step] [lng + Config.step.lng, lat]
] ]
// If there were any holes in the shape, we'd put them here // If there were any holes in the shape, we'd put them here
] ]