|
|
|
@ -6,12 +6,15 @@ angular.module('kibana.map2', []) |
|
|
|
|
query: "*", |
|
|
|
|
map: "world", |
|
|
|
|
colors: ['#C8EEFF', '#0071A4'], |
|
|
|
|
size: 1000, |
|
|
|
|
size: 100, |
|
|
|
|
exclude: [], |
|
|
|
|
spyable: true, |
|
|
|
|
group: "default", |
|
|
|
|
index_limit: 0, |
|
|
|
|
display: { |
|
|
|
|
data: { |
|
|
|
|
samples: 1000 |
|
|
|
|
}, |
|
|
|
|
geopoints: { |
|
|
|
|
enabled: true, |
|
|
|
|
enabledText: "Enabled", |
|
|
|
@ -19,10 +22,13 @@ angular.module('kibana.map2', []) |
|
|
|
|
pointAlpha: 0.6 |
|
|
|
|
}, |
|
|
|
|
binning: { |
|
|
|
|
enabled: true, |
|
|
|
|
hexagonSize: 10, |
|
|
|
|
hexagonAlpha: 1.0 |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
displayTabs: ["Geopoints", "Binning"], |
|
|
|
|
displayTabs: ["Geopoints", "Binning", "Data"], |
|
|
|
|
activeDisplayTab:"Geopoints" |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
@ -59,7 +65,7 @@ angular.module('kibana.map2', []) |
|
|
|
|
|
|
|
|
|
var facet = $scope.ejs.TermsFacet('map') |
|
|
|
|
.field($scope.panel.field) |
|
|
|
|
.size(1000) |
|
|
|
|
.size($scope.panel.display.data.samples) |
|
|
|
|
.exclude($scope.panel.exclude) |
|
|
|
|
.facetFilter(ejs.QueryFilter( |
|
|
|
|
ejs.FilteredQuery( |
|
|
|
@ -218,12 +224,16 @@ angular.module('kibana.map2', []) |
|
|
|
|
.attr("class", "boundary") |
|
|
|
|
.attr("d", path); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Geocoded points are decoded into lat/lon, then projected onto x/y
|
|
|
|
|
var points = _.map(scope.data, function (k, v) { |
|
|
|
|
var decoded = geohash.decode(v); |
|
|
|
|
return projection([decoded.longitude, decoded.latitude]); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//hexagonal binning
|
|
|
|
|
if (scope.panel.display.binning.enabled) { |
|
|
|
|
|
|
|
|
|
var color = d3.scale.linear() |
|
|
|
|
.domain([0, 20]) |
|
|
|
@ -232,7 +242,7 @@ angular.module('kibana.map2', []) |
|
|
|
|
|
|
|
|
|
var hexbin = d3.hexbin() |
|
|
|
|
.size([width, height]) |
|
|
|
|
.radius(10); |
|
|
|
|
.radius(scope.panel.display.binning.hexagonSize); |
|
|
|
|
|
|
|
|
|
g.selectAll(".hexagon") |
|
|
|
|
.data(hexbin(points)) |
|
|
|
@ -247,13 +257,12 @@ angular.module('kibana.map2', []) |
|
|
|
|
.style("fill", function (d) { |
|
|
|
|
return color(d.length); |
|
|
|
|
}) |
|
|
|
|
.attr("opacity", 1); |
|
|
|
|
.attr("opacity", scope.panel.display.binning.hexagonAlpha); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* raw geopoints */ |
|
|
|
|
|
|
|
|
|
//Raw geopoints
|
|
|
|
|
if (scope.panel.display.geopoints.enabled) { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
g.selectAll("circles.points") |
|
|
|
|
.data(points) |
|
|
|
|
.enter() |
|
|
|
|