|
<!DOCTYPE HTML> |
|
<html> |
|
<head> |
|
<meta charset="utf-8"> |
|
<title>Voronoi Experiment</title> |
|
<style type="text/css"> |
|
.voronoi { |
|
fill: #F5F5F0; |
|
stroke: #000000; |
|
fill-opacity: 1 |
|
|
|
} |
|
|
|
|
|
|
|
|
|
</style> |
|
<script src="//cdnjs.cloudflare.com/ajax/libs/d3/3.4.5/d3.min.js"></script> |
|
<script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.15/angular.min.js"></script> |
|
<script src="http://d3js.org/topojson.v1.min.js"></script> |
|
</head> |
|
<body> |
|
|
|
|
|
|
|
<script type="text/javascript"> |
|
var projection = d3.geo.mercator() |
|
.center([-1, 54 ]) |
|
.scale(7000) |
|
.rotate([0,0,0]); |
|
var w = 1000; |
|
var h=1000; |
|
var margin = {left:50,right:50,top:50,bottom:50}; |
|
|
|
|
|
var svg = d3.select("body") |
|
.append("svg") |
|
.attr("width", w) |
|
.attr("height", h); |
|
|
|
|
|
|
|
var mydata = [ |
|
[51.6306,-0.800299,"Wycombe Wanderers"], |
|
[55.8864,-3.52207,"Livingston"], |
|
[50.8609,-0.08014,"Brighton and Hove Albion"], |
|
[53.4308,-2.96096,"Liverpool"], |
|
[51.44,-2.62021,"Bristol City"], |
|
[53.2535,-1.4272,"Chesterfield"], |
|
[57.5112,-1.79599,"Peterhead"], |
|
[56.1889,-2.99914,"East Fife"], |
|
[52.5655,-1.99053,"Walsall"], |
|
[53.8046,-3.04834,"Blackpool"], |
|
[51.5321,0.039225,"West Ham"], |
|
[53.9695,-1.08833,"York City"], |
|
[57.6518,-3.3209,"Elgin City"], |
|
[53.5551,-2.12847,"Oldham Athletic"], |
|
[53.3703,-1.47083,"Sheffield United"], |
|
[51.5601,-0.012551,"Leyton Orient"], |
|
[52.9884,-2.17542,"Stoke City"], |
|
[51.0996,-0.194579,"Crawley Town"], |
|
[55.9447,-4.0379,"Clyde"], |
|
[54.8955,-2.91365,"Carlisle United"], |
|
[55.9414,-4.72719,"Greenock Morton"], |
|
[51.4729,-3.20413,"Cardiff City"], |
|
[52.6221,1.30912,"Norwich City"], |
|
[55.8497,-4.20561,"Celtic"], |
|
[56.1088,-3.34717,"Coedenbeath"], |
|
[55.8602,-4.01145,"Albion Rovers"], |
|
[51.4749,-0.221619,"Fulham"], |
|
[53.7654,-2.37106,"Accrington Stanley"], |
|
[53.772,-2.68832,"Preston North End"], |
|
[56.4747,-2.97352,"Dundee"], |
|
[55.9384,-4.56162,"Dumbarton"], |
|
[53.5477,-2.65415,"Wigan Athletic"], |
|
[56.0756,-3.44196,"Dunfermline"], |
|
[55.9616,-3.16521,"Hibernian"], |
|
[52.0607,-2.71774,"Hereford United"], |
|
[53.7775,-1.57212,"Leeds United"], |
|
[51.5549,-0.108436,"Arsenal"], |
|
[53.483,-2.20024,"Manchester City"], |
|
[53.7286,-2.48937,"Blackburn Rovers"], |
|
[56.0053,-3.75262,"Falkirk"], |
|
[55.7804,-3.9803,"Motherwell"], |
|
[55.8815,-4.26938,"Partick Thistle"], |
|
[56.1191,-3.91194,"Stirling Albion"], |
|
[50.7964,-1.06389,"Portsmouth"], |
|
[54.9948,-3.2612,"Annan Athletic"], |
|
[56.5523,-2.5914,"Arbroath"], |
|
[53.5805,-2.29487,"Bury"], |
|
[53.5867,-0.695244,"Scunthorpe United"], |
|
[56.7353,-2.6565,"Brechin City"], |
|
[54.0675,-2.84707,"Morecambe"], |
|
[53.4387,-2.96619,"Everton"], |
|
[53.0875,-2.43569,"Crewe Alexandra"], |
|
[51.4882,-0.302621,"Brentford"], |
|
[55.8258,-4.25198,"Scotland, Queen's Park"], |
|
[53.9165,-3.02484,"Fleetwood Town"], |
|
[53.4115,-1.50075,"Sheffield Wednesday"], |
|
[50.3882,-4.15076,"Plymouth Argyle"], |
|
[50.9503,-2.67383,"Yeovil Town"], |
|
[55.8529,-4.30962,"Rangers"], |
|
[51.7164,-1.20775,"Oxford United"], |
|
[53.7465,-0.368009,"Hull City"], |
|
[53.5099,-1.11382,"Doncaster Rovers"], |
|
[52.6203,-1.14217,"Leicester City"], |
|
[51.4051,-0.281984,"AFC Wimbledon, Kingstonian"], |
|
[51.6428,-3.93473,"Swansea City"], |
|
[56.714,-2.45902,"Montrose"], |
|
[51.5093,-0.232204,"Queens Park Rangers"], |
|
[52.5648,-0.240434,"Peterborough United"], |
|
[51.4222,-0.982777,"Reading"], |
|
[56.4099,-3.47684,"St Johnstone"], |
|
[52.9425,-1.13703,"Notts County"], |
|
[51.4862,-2.58315,"Bristol Rovers"], |
|
[51.4782,-3.18281,"Wales"], |
|
[52.5904,-2.13061,"Wolverhampton Wanderers"], |
|
[53.2427,-2.127,"Macclesfield Town"], |
|
[55.8601,-3.95997,"Airdrie United"], |
|
[55.7821,-4.058,"Hamilton Academical"], |
|
[52.6886,-2.74931,"Shrewsbury Town"], |
|
[53.4281,-1.36172,"Rotherham United"], |
|
[53.5524,-1.46756,"Barnsley"], |
|
[56.0282,-3.81449,"Stenhousemuir, East Stirlingshire"], |
|
[53.4631,-2.29139,"Manchester United"], |
|
[55.0703,-3.6246,"Queen of the South"], |
|
[52.8219,-1.62708,"Burton Albion"], |
|
[57.1593,-2.08872,"Aberdeen"], |
|
[50.4764,-3.52382,"Torquay United"], |
|
[52.0544,1.14554,"Ipswich Town"], |
|
[53.3738,-3.03269,"Tranmere Rovers"], |
|
[52.9149,-1.44727,"Derby County"], |
|
[51.3844,0.560367,"Gillingham"], |
|
[51.2484,-0.754869,"Aldershot Town"], |
|
[56.1166,-3.77865,"Alloa Athletic"], |
|
[53.5805,-2.53571,"Bolton Wanderers"], |
|
[52.4481,-1.49563,"Coventry City"], |
|
[54.5781,-1.21776,"Middlesbrough "], |
|
[51.5491,0.701572,"Southend United"], |
|
[55.6046,-4.50846,"Kilmarnock"], |
|
[51.3983,-0.085455,"Crystal Palace"], |
|
[50.7352,-1.83839,"Bournemouth"], |
|
[55.76,-2.01599,"Berwick Rangers"], |
|
[52.2352,-0.933485,"Northampton Town"], |
|
[55.4697,-4.61996,"Ayr United"], |
|
[53.6209,-2.17993,"Rochdale"], |
|
[52.4756,-1.86824,"Birmingham City"], |
|
[54.9756,-1.62179,"Newcastle United"], |
|
[50.7307,-3.52109,"Exeter City"], |
|
[50.9058,-1.39114,"Southampton"], |
|
[55.8529,-4.42879,"St Mirren"], |
|
[54.9146,-1.38837,"Sunderland"], |
|
[52.0096,-0.733507,"MK Dons"], |
|
[54.9022,-5.01249,"Stranraer"], |
|
[51.4816,-0.191034,"Chelsea"], |
|
[56.0999,-3.16851,"Raith Rovers"], |
|
[56.6523,-2.88492,"Forfar Athletic"], |
|
[56.4748,-2.96902,"Dundee United"], |
|
[57.4951,-4.21751,"Inverness Caledonian Thistle"], |
|
[52.9399,-1.13258,"Nottingham Forest"], |
|
[51.5645,-1.77107,"Swindon Town"], |
|
[51.4859,-0.050743,"Millwall"], |
|
[53.6543,-1.76837,"Huddersfield Town"], |
|
[52.509,-1.96418,"West Bromwich Albion"], |
|
[51.8898,-0.193664,"Stevenage Borough"], |
|
[51.4865,0.036757,"Charlton Athletic"], |
|
[53.7888,-2.23018,"Burnley"], |
|
[55.9388,-3.2325,"Heart of Midlothian"], |
|
[51.6464,-0.191789,"Barnet"], |
|
[53.05,-2.1926,"Port Vale"], |
|
[53.8042,-1.75902,"Bradford City"], |
|
[51.6498,-0.401569,"Watford"], |
|
[54.6891,-1.21274,"Hartlepool United"], |
|
[57.5959,-4.41898,"Ross County"], |
|
[51.5478,0.159739,"Dagenham and Redbridge"], |
|
[52.5092,-1.88508,"Aston Villa"], |
|
[51.5559,-0.279543,"England"], |
|
[51.9234,0.897861,"Colchester United"], |
|
[51.9062,-2.06021,"Cheltenham Town"], |
|
[51.6033,-0.065684,"Tottenham Hotspur"] |
|
]; |
|
|
|
|
|
|
|
var mydata2=[]; |
|
|
|
for (var i = 0; i < mydata.length; i++) { |
|
mydata2[i] = projection([mydata[i][1],mydata[i][0]]);; |
|
} |
|
for (var i = 0; i < mydata.length; i++) { |
|
mydata[i] = [projection([mydata[i][1],mydata[i][0]]),mydata[i][2]]; |
|
} |
|
|
|
|
|
var voronoi = d3.geom.voronoi(mydata2) |
|
|
|
var pathFn = function(d) { |
|
return "M" + d.join("L") + "Z"; |
|
} |
|
|
|
svg.selectAll("path") |
|
.data(voronoi) |
|
.enter() |
|
.append("path") |
|
.attr("d", pathFn) |
|
.classed("voronoi", true) |
|
var groups = svg.selectAll("g") |
|
.data(mydata) |
|
.enter() |
|
.append("g"); |
|
|
|
groups.attr("transform", function(d,i) {return "translate(" + d[0][0] + "," + d[0][1] + ")";}); |
|
|
|
|
|
var clubs = groups.append("circle") |
|
.attr({ |
|
r: 5, |
|
fill:"#0066FF", |
|
opacity:0.8, |
|
stroke:"black" |
|
}) |
|
.append("title") |
|
.text(function(d,i) {return d[1];}); |
|
|
|
var names = groups.append("text") |
|
.text(function(d) { return d[1]}) |
|
.style("font-size","9px") |
|
.attr("class","labels") |
|
|
|
|
|
// ; |
|
|
|
|
|
|
|
|
|
|
|
|
|
</script> |
|
|
|
|
|
|
|
</body> |
|
</html> |