Created
April 22, 2015 21:54
-
-
Save shaliniravi/6eb5a397e96abfdf9642 to your computer and use it in GitHub Desktop.
d3
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
D3_Cartogram |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<module type="WEB_MODULE" version="4"> | |
<component name="NewModuleRootManager"> | |
<content url="file://$MODULE_DIR$" /> | |
<orderEntry type="inheritedJdk" /> | |
<orderEntry type="sourceFolder" forTests="false" /> | |
</component> | |
</module> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<project version="4"> | |
<component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false" /> | |
</project> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<project version="4"> | |
<component name="ProjectRootManager" version="2" /> | |
</project> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<project version="4"> | |
<component name="ProjectModuleManager"> | |
<modules> | |
<module fileurl="file://$PROJECT_DIR$/../D3_Cartogram/.idea/D3_Cartogram.iml" filepath="$PROJECT_DIR$/../D3_Cartogram/.idea/D3_Cartogram.iml" /> | |
</modules> | |
</component> | |
</project> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<component name="DependencyValidationManager"> | |
<state> | |
<option name="SKIP_IMPORT_STATEMENTS" value="false" /> | |
</state> | |
</component> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<project version="4"> | |
<component name="VcsDirectoryMappings"> | |
<mapping directory="" vcs="" /> | |
</component> | |
</project> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(function(exports) { | |
/* | |
* d3.cartogram is a d3-friendly implementation of An Algorithm to Construct | |
* Continuous Area Cartograms: | |
* | |
* <http://chrisman.scg.ulaval.ca/G360/dougenik.pdf> | |
* | |
* It requires topojson to decode TopoJSON-encoded topologies: | |
* | |
* <http://github.com/mbostock/topojson/> | |
* | |
* Usage: | |
* | |
* var cartogram = d3.cartogram() | |
* .projection(d3.geo.albersUsa()) | |
* .value(function(d) { | |
* return Math.random() * 100; | |
* }); | |
* d3.json("path/to/topology.json", function(topology) { | |
* var features = cartogram(topology, topology.objects.OBJECTNAME.geometries); | |
* d3.select("svg").selectAll("path") | |
* .data(features) | |
* .enter() | |
* .append("path") | |
* .attr("d", cartogram.path); | |
* }); | |
*/ | |
d3.cartogram = function() { | |
function carto(topology, geometries) { | |
// copy it first | |
topology = copy(topology); | |
// objects are projected into screen coordinates | |
// project the arcs into screen space | |
var tf = transformer(topology.transform),x,y,len1,i1,out1,len2=topology.arcs.length,i2=0, | |
projectedArcs = new Array(len2); | |
while(i2<len2){ | |
x = 0; | |
y = 0; | |
len1 = topology.arcs[i2].length; | |
i1 = 0; | |
out1 = new Array(len1); | |
while(i1<len1){ | |
topology.arcs[i2][i1][0] = (x += topology.arcs[i2][i1][0]); | |
topology.arcs[i2][i1][1] = (y += topology.arcs[i2][i1][1]); | |
out1[i1] = projection(tf(topology.arcs[i2][i1])); | |
i1++; | |
} | |
projectedArcs[i2++]=out1; | |
} | |
// path with identity projection | |
var path = d3.geo.path() | |
.projection(null); | |
var objects = object(projectedArcs, {type: "GeometryCollection", geometries: geometries}) | |
.geometries.map(function(geom) { | |
return { | |
type: "Feature", | |
id: geom.id, | |
properties: properties.call(null, geom, topology), | |
geometry: geom | |
}; | |
}); | |
var values = objects.map(value), | |
totalValue = d3.sum(values); | |
// no iterations; just return the features | |
if (iterations <= 0) { | |
return objects; | |
} | |
var i = 0; | |
while (i++ < iterations) { | |
var areas = objects.map(path.area); | |
var totalArea = d3.sum(areas), | |
sizeErrorsTot =0, | |
sizeErrorsNum=0, | |
meta = objects.map(function(o, j) { | |
var area = Math.abs(areas[j]), // XXX: why do we have negative areas? | |
v = +values[j], | |
desired = totalArea * v / totalValue, | |
radius = Math.sqrt(area / Math.PI), | |
mass = Math.sqrt(desired / Math.PI) - radius, | |
sizeError = Math.max(area, desired) / Math.min(area, desired); | |
sizeErrorsTot+=sizeError; | |
sizeErrorsNum++; | |
// console.log(o.id, "@", j, "area:", area, "value:", v, "->", desired, radius, mass, sizeError); | |
return { | |
id: o.id, | |
area: area, | |
centroid: path.centroid(o), | |
value: v, | |
desired: desired, | |
radius: radius, | |
mass: mass, | |
sizeError: sizeError | |
}; | |
}); | |
var sizeError = sizeErrorsTot/sizeErrorsNum, | |
forceReductionFactor = 1 / (1 + sizeError); | |
// console.log("meta:", meta); | |
// console.log(" total area:", totalArea); | |
// console.log(" force reduction factor:", forceReductionFactor, "mean error:", sizeError); | |
var len1,i1,delta,len2=projectedArcs.length,i2=0,delta,len3,i3,centroid,mass,radius,rSquared,dx,dy,distSquared,dist,Fij; | |
while(i2<len2){ | |
len1=projectedArcs[i2].length; | |
i1=0; | |
while(i1<len1){ | |
// create an array of vectors: [x, y] | |
delta = [0,0]; | |
len3 = meta.length; | |
i3=0; | |
while(i3<len3) { | |
centroid = meta[i3].centroid; | |
mass = meta[i3].mass; | |
radius = meta[i3].radius; | |
rSquared = (radius*radius); | |
dx = projectedArcs[i2][i1][0] - centroid[0]; | |
dy = projectedArcs[i2][i1][1] - centroid[1]; | |
distSquared = dx * dx + dy * dy; | |
dist=Math.sqrt(distSquared); | |
Fij = (dist > radius) | |
? mass * radius / dist | |
: mass * | |
(distSquared / rSquared) * | |
(4 - 3 * dist / radius); | |
delta[0]+=(Fij * cosArctan(dy,dx)); | |
delta[1]+=(Fij * sinArctan(dy,dx)); | |
i3++; | |
} | |
projectedArcs[i2][i1][0] += (delta[0]*forceReductionFactor); | |
projectedArcs[i2][i1][1] += (delta[1]*forceReductionFactor); | |
i1++; | |
} | |
i2++; | |
} | |
// break if we hit the target size error | |
if (sizeError <= 1) break; | |
} | |
return { | |
features: objects, | |
arcs: projectedArcs | |
}; | |
} | |
var iterations = 8, | |
projection = d3.geo.albers(), | |
properties = function(id) { | |
return {}; | |
}, | |
value = function(d) { | |
return 1; | |
}; | |
// for convenience | |
carto.path = d3.geo.path() | |
.projection(null); | |
carto.iterations = function(i) { | |
if (arguments.length) { | |
iterations = i; | |
return carto; | |
} else { | |
return iterations; | |
} | |
}; | |
carto.value = function(v) { | |
if (arguments.length) { | |
value = d3.functor(v); | |
return carto; | |
} else { | |
return value; | |
} | |
}; | |
carto.projection = function(p) { | |
if (arguments.length) { | |
projection = p; | |
return carto; | |
} else { | |
return projection; | |
} | |
}; | |
carto.feature = function(topology, geom) { | |
return { | |
type: "Feature", | |
id: geom.id, | |
properties: properties.call(null, geom, topology), | |
geometry: { | |
type: geom.type, | |
coordinates: topojson.feature(topology, geom).geometry.coordinates | |
} | |
}; | |
}; | |
carto.features = function(topo, geometries) { | |
return geometries.map(function(f) { | |
return carto.feature(topo, f); | |
}); | |
}; | |
carto.properties = function(props) { | |
if (arguments.length) { | |
properties = d3.functor(props); | |
return carto; | |
} else { | |
return properties; | |
} | |
}; | |
return carto; | |
}; | |
var transformer = d3.cartogram.transformer = function(tf) { | |
var kx = tf.scale[0], | |
ky = tf.scale[1], | |
dx = tf.translate[0], | |
dy = tf.translate[1]; | |
function transform(c) { | |
return [c[0] * kx + dx, c[1] * ky + dy]; | |
} | |
transform.invert = function(c) { | |
return [(c[0] - dx) / kx, (c[1]- dy) / ky]; | |
}; | |
return transform; | |
}; | |
function angle(a, b) { | |
return Math.atan2(b[1] - a[1], b[0] - a[0]); | |
} | |
function distance(a, b) { | |
var dx = b[0] - a[0], | |
dy = b[1] - a[1]; | |
return Math.sqrt(dx * dx + dy * dy); | |
} | |
function projector(proj) { | |
var types = { | |
Point: proj, | |
LineString: function(coords) { | |
return coords.map(proj); | |
}, | |
MultiLineString: function(arcs) { | |
return arcs.map(types.LineString); | |
}, | |
Polygon: function(rings) { | |
return rings.map(types.LineString); | |
}, | |
MultiPolygon: function(rings) { | |
return rings.map(types.Polygon); | |
} | |
}; | |
return function(geom) { | |
return types[geom.type](geom.coordinates); | |
}; | |
} | |
function cosArctan(dx,dy){ | |
var div = dx/dy; | |
return (dy>0)? | |
(1/Math.sqrt(1+(div*div))): | |
(-1/Math.sqrt(1+(div*div))); | |
} | |
function sinArctan(dx,dy){ | |
var div = dx/dy; | |
return (dy>0)? | |
(div/Math.sqrt(1+(div*div))): | |
(-div/Math.sqrt(1+(div*div))); | |
} | |
function copy(o) { | |
return (o instanceof Array) | |
? o.map(copy) | |
: (typeof o === "string" || typeof o === "number") | |
? o | |
: copyObject(o); | |
} | |
function copyObject(o) { | |
var obj = {}; | |
for (var k in o) obj[k] = copy(o[k]); | |
return obj; | |
} | |
function object(arcs, o) { | |
function arc(i, points) { | |
if (points.length) points.pop(); | |
for (var a = arcs[i < 0 ? ~i : i], k = 0, n = a.length; k < n; ++k) { | |
points.push(a[k]); | |
} | |
if (i < 0) reverse(points, n); | |
} | |
function line(arcs) { | |
var points = []; | |
for (var i = 0, n = arcs.length; i < n; ++i) arc(arcs[i], points); | |
return points; | |
} | |
function polygon(arcs) { | |
return arcs.map(line); | |
} | |
function geometry(o) { | |
o = Object.create(o); | |
o.coordinates = geometryType[o.type](o.arcs); | |
return o; | |
} | |
var geometryType = { | |
LineString: line, | |
MultiLineString: polygon, | |
Polygon: polygon, | |
MultiPolygon: function(arcs) { return arcs.map(polygon); } | |
}; | |
return o.type === "GeometryCollection" | |
? (o = Object.create(o), o.geometries = o.geometries.map(geometry), o) | |
: geometry(o); | |
} | |
function reverse(array, n) { | |
var t, j = array.length, i = j - n; while (i < --j) t = array[i], array[i++] = array[j], array[j] = t; | |
} | |
})(this); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Id | Country | Internet_Users | GDP | Literacy_rates | female_male | Population | |
---|---|---|---|---|---|---|---|
32 | Argentina | 59.9 | 14715.18002 | 97.91609192 | 156.225 | 41.45 | |
36 | Australia | 83 | 67458.35541 | 0 | 138.061 | 23.13 | |
40 | Austria | 80.6188 | 50546.6975 | 0 | 119.556 | 8.47 | |
48 | Bahrain | 90 | 24689.10563 | 94.55679321 | 198.164 | 1.33 | |
50 | Bangladesh | 6.5 | 957.824266 | 58.78771973 | 69.034 | 156.59 | |
56 | Belgium | 82.1702 | 46877.98625 | 0 | 128.087 | 11.2 | |
204 | Benin | 4.9 | 804.6924986 | 42.4 | 26.963 | 10.32 | |
72 | Botswana | 15 | 7315.019289 | 86.72881317 | 0 | 2.02 | |
76 | Brazil | 51.6 | 11208.08274 | 91.33374023 | 0 | 200.36 | |
854 | Burkina Faso | 4.4 | 683.9484018 | 28.72921371 | 49.558 | 16.93 | |
120 | Cameroon | 6.4 | 1328.640205 | 71.29050446 | 73.457 | 22.25 | |
124 | Canada | 85.8 | 51958.38124 | 0 | 0 | 35.16 | |
152 | Chile | 66.5 | 15732.31377 | 98.55367279 | 111.82 | 17.62 | |
156 | China | 45.8 | 6807.430824 | 95.12447357 | 112.648 | 1357.38 | |
170 | Colombia | 51.7 | 7831.215313 | 93.58053589 | 112.518 | 48.32 | |
188 | Costa Rica | 45.96 | 10184.60567 | 97.40658569 | 127.255 | 4.87 | |
203 | Czech Republic | 74.1104 | 19844.76165 | 0 | 142.037 | 10.52 | |
208 | Denmark | 94.6297 | 59831.69556 | 0 | 141.113 | 5.61 | |
218 | Ecuador | 40.35368423 | 6002.885459 | 93.29462433 | 115.102 | 15.74 | |
818 | Egypt | 49.56 | 3314.462928 | 73.86558533 | 96.39 | 82.06 | |
233 | Estonia | 80.0043 | 18783.05871 | 99.86277771 | 152.837 | 1.32 | |
231 | Ethiopia | 1.9 | 505.0457458 | 38.99598312 | 0 | 94.1 | |
246 | Finland | 91.5144 | 49146.64663 | 0 | 120.989 | 5.44 | |
250 | France | 81.9198 | 42503.30359 | 0 | 125.835 | 66.03 | |
276 | Germany | 83.9614 | 46268.64107 | 0 | 104.969 | 80.62 | |
288 | Ghana | 12.3 | 1858.242598 | 71.49707794 | 61.075 | 25.9 | |
300 | Greece | 59.8663 | 21956.41154 | 97.36376953 | 103.436 | 11.03 | |
332 | Haiti | 10.6 | 819.9039143 | 0 | 0 | 10.32 | |
348 | Hungary | 72.6439 | 13480.91026 | 99.37355804 | 130.091 | 9.9 | |
352 | Iceland | 96.5468 | 47461.18559 | 0 | 170.482 | 0.32 | |
356 | India | 15.1 | 1498.872175 | 0 | 78.126 | 1252.14 | |
360 | Indonesia | 15.82 | 3475.250474 | 92.81190491 | 103.47 | 249.87 | |
372 | Ireland | 78.2477 | 50503.4228 | 0 | 103.05 | 4.6 | |
376 | Israel | 70.8 | 36050.69793 | 97.76419067 | 132.134 | 8.06 | |
380 | Italy | 58.4593 | 35925.87748 | 99.02561188 | 142.269 | 59.83 | |
388 | Jamaica | 37.8 | 5289.967803 | 87.48201752 | 205.03 | 2.72 | |
392 | Japan | 86.25 | 38633.70806 | 0 | 90.22 | 127.34 | |
400 | Jordan | 44.2 | 5214.197267 | 97.89031982 | 115.017 | 6.46 | |
398 | Kazakhstan | 54 | 13609.75338 | 99.73241425 | 143.479 | 17.04 | |
404 | Kenya | 39 | 1245.512041 | 72.1570282 | 70.266 | 44.35 | |
454 | Malawi | 5.4 | 226.4551027 | 61.3097229 | 64.887 | 16.36 | |
458 | Malaysia | 66.97 | 10538.05789 | 93.11788177 | 119.531 | 29.72 | |
466 | Mali | 2.3 | 715.133813 | 33.56093979 | 42.571 | 15.3 | |
480 | Mauritius | 39 | 9202.517324 | 89.24983215 | 132.449 | 1.3 | |
484 | Mexico | 43.46 | 10307.28304 | 94.22840118 | 95.877 | 122.33 | |
504 | Morocco | 56 | 3092.606545 | 67.08415985 | 89.118 | 33.01 | |
508 | Mozambique | 5.4 | 605.0341744 | 50.58381271 | 62.443 | 25.83 | |
104 | Myanmar | 1.2 | 1200 | 92.62518311 | 134.45 | 53.26 | |
516 | Namibia | 13.9 | 5693.129154 | 76.48659515 | 127.641 | 2.3 | |
524 | Nepal | 13.3 | 694.1047943 | 57.36910248 | 63.685 | 27.8 | |
528 | Netherlands | 93.9564 | 50793.14296 | 0 | 109.947 | 16.8 | |
554 | New Zealand | 82.78 | 41555.83441 | 0 | 146.15 | 4.47 | |
566 | Nigeria | 38 | 3005.513796 | 51.07765961 | 0 | 173.62 | |
578 | Norway | 95.0534 | 100818.5032 | 0 | 157.639 | 5.08 | |
586 | Pakistan | 10.9 | 1275.301817 | 54.73801804 | 95.472 | 182.14 | |
604 | Peru | 39.2 | 6661.591112 | 93.84172821 | 109.368 | 30.38 | |
608 | Philippines | 37 | 2765.084587 | 95.42009735 | 123.837 | 98.39 | |
616 | Poland | 62.8492 | 13647.9647 | 99.74762726 | 155.022 | 38.53 | |
620 | Portugal | 62.0956 | 21733.07306 | 94.47705078 | 119.754 | 10.46 | |
634 | Qatar | 85.3 | 93714.06338 | 96.6785965 | 676.162 | 2.17 | |
410 | Republic Of Korea | 84.77 | 25976.95283 | 0 | 74.951 | 50.22 | |
643 | Russian Federation | 61.4 | 14611.70078 | 99.68426514 | 125.969 | 143.5 | |
646 | Rwanda | 8.7 | 638.6657954 | 65.85227203 | 75.715 | 11.78 | |
682 | Saudi Arabia | 60.5 | 25961.80842 | 94.42634583 | 106.152 | 28.83 | |
686 | Senegal | 20.9 | 1046.586426 | 52.05195999 | 58.646 | 14.13 | |
694 | Sierra Leone | 1.7 | 678.9609045 | 44.46472931 | 0 | 6.09 | |
702 | Singapore | 73 | 55182.48279 | 96.36598206 | 0 | 5.4 | |
710 | South Africa | 48.9 | 6617.911609 | 93.7294693 | 0 | 52.98 | |
724 | Spain | 71.5719 | 29863.17672 | 97.89453888 | 121.912 | 46.65 | |
752 | Sweden | 94.7836 | 60430.21558 | 0 | 155.356 | 9.59 | |
756 | Switzerland | 86.7 | 84815.40701 | 0 | 99.158 | 8.08 | |
764 | Thailand | 28.94 | 5778.977216 | 96.4309082 | 134.064 | 67.01 | |
788 | Tunisia | 43.8 | 4316.685695 | 79.65390778 | 159.05 | 10.89 | |
792 | Turkey | 46.25 | 10971.65631 | 94.9197464 | 85.19 | 74.93 | |
800 | Uganda | 16.2 | 571.9600416 | 73.21188354 | 26.899 | 37.58 | |
804 | Ukraine | 41.8 | 3900.465376 | 99.73021698 | 114.983 | 45.49 | |
784 | United Arab Emirates | 88 | 43048.85015 | 0 | 0 | 9.35 | |
826 | United Kingdom Of Great Britain And Northern Ireland | 89.8441 | 41787.46798 | 0 | 135.569 | 64.1 | |
834 | United Republic Of Tanzania | 4.4 | 694.7711797 | 67.80069733 | 54.727 | 49.25 | |
840 | United States Of America | 84.2 | 53041.98141 | 0 | 139.209 | 316.13 | |
858 | Uruguay | 58.1 | 16350.72817 | 98.39594269 | 172.669 | 3.41 | |
862 | Venezuela (Bolivarian Republic Of) | 54.9 | 14414.75353 | 95.51199341 | 169.419 | 30.41 | |
704 | Viet Nam | 43.9 | 1910.512818 | 93.52045441 | 101.619 | 89.71 | |
887 | Yemen | 20 | 1473.099564 | 66.37377167 | 44.093 | 24.41 | |
894 | Zambia | 15.4 | 1844.799139 | 61.42828751 | 0 | 14.54 | |
716 | Zimbabwe | 18.5 | 953.3806071 | 83.5827179 | 77.545 | 14.15 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Id | Country | Internet_Users | GDP | Literacy_rates | female_male | Population | |
---|---|---|---|---|---|---|---|
ARG | Argentina | 59.9 | 14715.18002 | 97.91609192 | 156.225 | 41.45 | |
AUS | Australia | 83 | 67458.35541 | 0 | 138.061 | 23.13 | |
AUT | Austria | 80.6188 | 50546.6975 | 0 | 119.556 | 8.47 | |
BHR | Bahrain | 90 | 24689.10563 | 94.55679321 | 198.164 | 1.33 | |
BGD | Bangladesh | 6.5 | 957.824266 | 58.78771973 | 69.034 | 156.59 | |
BEL | Belgium | 82.1702 | 46877.98625 | 0 | 128.087 | 11.2 | |
BEN | Benin | 4.9 | 804.6924986 | 42.4 | 26.963 | 10.32 | |
BWA | Botswana | 15 | 7315.019289 | 86.72881317 | 0 | 2.02 | |
BRA | Brazil | 51.6 | 11208.08274 | 91.33374023 | 0 | 200.36 | |
BFA | Burkina Faso | 4.4 | 683.9484018 | 28.72921371 | 49.558 | 16.93 | |
CMR | Cameroon | 6.4 | 1328.640205 | 71.29050446 | 73.457 | 22.25 | |
CAN | Canada | 85.8 | 51958.38124 | 0 | 0 | 35.16 | |
CHL | Chile | 66.5 | 15732.31377 | 98.55367279 | 111.82 | 17.62 | |
CHN | China | 45.8 | 6807.430824 | 95.12447357 | 112.648 | 1357.38 | |
COL | Colombia | 51.7 | 7831.215313 | 93.58053589 | 112.518 | 48.32 | |
CRI | Costa Rica | 45.96 | 10184.60567 | 97.40658569 | 127.255 | 4.87 | |
CZE | Czech Republic | 74.1104 | 19844.76165 | 0 | 142.037 | 10.52 | |
DNK | Denmark | 94.6297 | 59831.69556 | 0 | 141.113 | 5.61 | |
ECU | Ecuador | 40.35368423 | 6002.885459 | 93.29462433 | 115.102 | 15.74 | |
EGY | Egypt | 49.56 | 3314.462928 | 73.86558533 | 96.39 | 82.06 | |
EST | Estonia | 80.0043 | 18783.05871 | 99.86277771 | 152.837 | 1.32 | |
ETH | Ethiopia | 1.9 | 505.0457458 | 38.99598312 | 0 | 94.1 | |
FIN | Finland | 91.5144 | 49146.64663 | 0 | 120.989 | 5.44 | |
FRA | France | 81.9198 | 42503.30359 | 0 | 125.835 | 66.03 | |
DEU | Germany | 83.9614 | 46268.64107 | 0 | 104.969 | 80.62 | |
GHA | Ghana | 12.3 | 1858.242598 | 71.49707794 | 61.075 | 25.9 | |
GRC | Greece | 59.8663 | 21956.41154 | 97.36376953 | 103.436 | 11.03 | |
HTI | Haiti | 10.6 | 819.9039143 | 0 | 0 | 10.32 | |
HUN | Hungary | 72.6439 | 13480.91026 | 99.37355804 | 130.091 | 9.9 | |
ISL | Iceland | 96.5468 | 47461.18559 | 0 | 170.482 | 0.32 | |
IND | India | 15.1 | 1498.872175 | 0 | 78.126 | 1252.14 | |
IDN | Indonesia | 15.82 | 3475.250474 | 92.81190491 | 103.47 | 249.87 | |
IRL | Ireland | 78.2477 | 50503.4228 | 0 | 103.05 | 4.6 | |
ISR | Israel | 70.8 | 36050.69793 | 97.76419067 | 132.134 | 8.06 | |
ITA | Italy | 58.4593 | 35925.87748 | 99.02561188 | 142.269 | 59.83 | |
JAM | Jamaica | 37.8 | 5289.967803 | 87.48201752 | 205.03 | 2.72 | |
JPN | Japan | 86.25 | 38633.70806 | 0 | 90.22 | 127.34 | |
HKJ | Jordan | 44.2 | 5214.197267 | 97.89031982 | 115.017 | 6.46 | |
KAZ | Kazakhstan | 54 | 13609.75338 | 99.73241425 | 143.479 | 17.04 | |
KEN | Kenya | 39 | 1245.512041 | 72.1570282 | 70.266 | 44.35 | |
MWI | Malawi | 5.4 | 226.4551027 | 61.3097229 | 64.887 | 16.36 | |
MYS | Malaysia | 66.97 | 10538.05789 | 93.11788177 | 119.531 | 29.72 | |
RMM | Mali | 2.3 | 715.133813 | 33.56093979 | 42.571 | 15.3 | |
MUS | Mauritius | 39 | 9202.517324 | 89.24983215 | 132.449 | 1.3 | |
MEX | Mexico | 43.46 | 10307.28304 | 94.22840118 | 95.877 | 122.33 | |
MAR | Morocco | 56 | 3092.606545 | 67.08415985 | 89.118 | 33.01 | |
MOZ | Mozambique | 5.4 | 605.0341744 | 50.58381271 | 62.443 | 25.83 | |
MMR | Myanmar | 1.2 | 1200 | 92.62518311 | 134.45 | 53.26 | |
NAM | Namibia | 13.9 | 5693.129154 | 76.48659515 | 127.641 | 2.3 | |
NPL | Nepal | 13.3 | 694.1047943 | 57.36910248 | 63.685 | 27.8 | |
NLD | Netherlands | 93.9564 | 50793.14296 | 0 | 109.947 | 16.8 | |
NZL | New Zealand | 82.78 | 41555.83441 | 0 | 146.15 | 4.47 | |
WAN | Nigeria | 38 | 3005.513796 | 51.07765961 | 0 | 173.62 | |
NOR | Norway | 95.0534 | 100818.5032 | 0 | 157.639 | 5.08 | |
PAK | Pakistan | 10.9 | 1275.301817 | 54.73801804 | 95.472 | 182.14 | |
PER | Peru | 39.2 | 6661.591112 | 93.84172821 | 109.368 | 30.38 | |
PHL | Philippines | 37 | 2765.084587 | 95.42009735 | 123.837 | 98.39 | |
POL | Poland | 62.8492 | 13647.9647 | 99.74762726 | 155.022 | 38.53 | |
PRT | Portugal | 62.0956 | 21733.07306 | 94.47705078 | 119.754 | 10.46 | |
QAT | Qatar | 85.3 | 93714.06338 | 96.6785965 | 676.162 | 2.17 | |
KOR | Republic Of Korea | 84.77 | 25976.95283 | 0 | 74.951 | 50.22 | |
RUS | Russian Federation | 61.4 | 14611.70078 | 99.68426514 | 125.969 | 143.5 | |
RWA | Rwanda | 8.7 | 638.6657954 | 65.85227203 | 75.715 | 11.78 | |
SAU | Saudi Arabia | 60.5 | 25961.80842 | 94.42634583 | 106.152 | 28.83 | |
SEN | Senegal | 20.9 | 1046.586426 | 52.05195999 | 58.646 | 14.13 | |
SLE | Sierra Leone | 1.7 | 678.9609045 | 44.46472931 | 0 | 6.09 | |
SGP | Singapore | 73 | 55182.48279 | 96.36598206 | 0 | 5.4 | |
ZAF | South Africa | 48.9 | 6617.911609 | 93.7294693 | 0 | 52.98 | |
ESP | Spain | 71.5719 | 29863.17672 | 97.89453888 | 121.912 | 46.65 | |
SWE | Sweden | 94.7836 | 60430.21558 | 0 | 155.356 | 9.59 | |
CHE | Switzerland | 86.7 | 84815.40701 | 0 | 99.158 | 8.08 | |
THA | Thailand | 28.94 | 5778.977216 | 96.4309082 | 134.064 | 67.01 | |
TUN | Tunisia | 43.8 | 4316.685695 | 79.65390778 | 159.05 | 10.89 | |
TUR | Turkey | 46.25 | 10971.65631 | 94.9197464 | 85.19 | 74.93 | |
UGA | Uganda | 16.2 | 571.9600416 | 73.21188354 | 26.899 | 37.58 | |
UKR | Ukraine | 41.8 | 3900.465376 | 99.73021698 | 114.983 | 45.49 | |
ARE | United Arab Emirates | 88 | 43048.85015 | 0 | 0 | 9.35 | |
GBR | United Kingdom Of Great Britain And Northern Ireland | 89.8441 | 41787.46798 | 0 | 135.569 | 64.1 | |
TZA | United Republic Of Tanzania | 4.4 | 694.7711797 | 67.80069733 | 54.727 | 49.25 | |
USA | United States Of America | 84.2 | 53041.98141 | 0 | 139.209 | 316.13 | |
URY | Uruguay | 58.1 | 16350.72817 | 98.39594269 | 172.669 | 3.41 | |
VEN | Venezuela (Bolivarian Republic Of) | 54.9 | 14414.75353 | 95.51199341 | 169.419 | 30.41 | |
VNM | Viet Nam | 43.9 | 1910.512818 | 93.52045441 | 101.619 | 89.71 | |
YEM | Yemen | 20 | 1473.099564 | 66.37377167 | 44.093 | 24.41 | |
RNR | Zambia | 15.4 | 1844.799139 | 61.42828751 | 0 | 14.54 | |
ZWE | Zimbabwe | 18.5 | 953.3806071 | 83.5827179 | 77.545 | 14.15 |
View raw
(Sorry about that, but we can’t show files that are this big right now.)
View raw
(Sorry about that, but we can’t show files that are this big right now.)
View raw
(Sorry about that, but we can’t show files that are this big right now.)
View raw
(Sorry about that, but we can’t show files that are this big right now.)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment