Skip to content

Instantly share code, notes, and snippets.

@benelsen
Last active December 24, 2015 18:39
Show Gist options
  • Save benelsen/6844134 to your computer and use it in GitHub Desktop.
Save benelsen/6844134 to your computer and use it in GitHub Desktop.
commune 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2012 2011
Dippach 1.87454938716655 1.56695156695157 2.33676975945017 3.5883547731889 3.45285524568393 4.14507772020725 3.27763496143959 4.14540816326531 5.12345679012346 4.15902140672783 4.43293033966609 5.14184397163121
Garnich 1.65016501650165 1.35363790186125 2.33333333333333 2.42718446601942 2.91858678955453 2.60736196319018 2.42057488653555 2.37037037037037 2.42424242424242 2.88808664259928 2.86368843069874 2.70588235294118
Hobscheid 1.74537987679671 2.75590551181102 2.71790065604499 4.52930728241563 3.46921075455334 4.51882845188285 3.29052969502408 3.39110776186888 4.64944649446494 3.80747126436782 4.23497267759563 3.49406009783368
Käerjeng 2.16585921915076 2.38683127572016 2.61224489795918 3.45285524568393 4.08006158583526 4.01218892839005 3.55266449837378 3.8423645320197 5.33172496984318 5.16912815626489 5.6221198156682 5.40856942168111
Kehlen 1.49418926397344 2.37175951461666 2.45499181669394 2.68384326355341 2.92087095061073 3.48717948717949 2.50391236306729 3.18315377081293 3.92908481073311 3.7243947858473 3.56981473113421 3.76219228982815
Koerich 1.36425648021828 2.63504611330698 3.5264483627204 3.38770388958595 3.04136253041363 2.26244343891403 2.46252676659529 3.16789862724393 3.11526479750779 3.2032032032032 3.37636544190665 3.1031031031031
Kopstal 1.52329749103943 2.21238938053097 2.55972696245734 3.41296928327645 3.28282828282828 3.06122448979592 3.00250208507089 3.4453781512605 4.80607082630691 4.69909315746084 3.92313851080865 4.39297124600639
Mamer 2.20281048233954 3.26530612244898 3.98028809704321 3.74251497005988 4.04342942718083 3.47563279183982 3.53422619047619 3.93359797906893 5.38488091128754 5.36732640053673 5.15665796344648 6.53381247958183
Septfontaines 2.56410256410256 2.85714285714286 4.74683544303798 3.53697749196142 3.69127516778524 3.23624595469256 6.5625 7.97546012269939 6.72514619883041 6.4327485380117 6.23441396508728 8.469945355191261
Steinfort 2.08333333333333 2.63013698630137 3.44086021505376 3.86499727817093 3.8135593220339 4.17547568710359 3.37909186906019 4.03935784567582 6.00835945663532 5.34079348931841 5.14393581878244 4.76190476190476
Bettembourg 2.32801464818206 2.97494780793319 3.73465656829459 4.36558590758233 4.31673052362708 4.39314966492926 4.2979242979243 4.86177311725453 6.58388003748829 6.19738072965388 7.03391759617573 6.00748013090229
Differdange 4.50268817204301 5.16364584691616 5.90234080040272 6.70040973728609 7.1574888540788 7.9032065800453 7.43435262021144 8.37787716810298 10.6536502546689 11.789038262668 11.1944604731679 10.9249529096857
Dudelange 3.65999204349556 3.91641477198055 5.06329113924051 6.1381074168798 6.22739018087855 5.68137698977611 5.72749454218569 6.33404549453312 7.83813343055049 8.430267418155649 8.782689192316591 8.551773217886369
Esch-sur-Alzette 4.94752623688156 5.96145610278373 6.93804403481823 7.37671289078526 7.97052913596785 8.714133900106271 8.20990603599299 9.915300334136299 11.9144756724086 12.792327554408 12.7509760178472 12.7622755786286
Frisange 1.50829562594268 2.56410256410256 3.65329512893983 3.70116518163125 3.12075983717775 2.73972602739726 3.25105358217941 3.51493848857645 4.98041410184667 5.13812154696133 4.4420941300899 4.21849648458626
Kayl 3.12605042016807 3.31256149557232 4.60547504025765 4.80556433765413 4.93245366006912 5.59461938245185 5.19133788193414 6.12304120719675 7.89247926794395 7.93296089385475 7.58657150409728 8.098591549295779
Leudelange 0.828402366863905 1.18203309692671 1.8957345971564 3.10701956271577 1.93548387096774 2.7455121436114 1.77453027139875 2.47524752475248 3.48605577689243 4.60333006856024 3.62790697674419 3.01556420233463
Mondercange 1.59781761496493 2.55603617774282 2.42376856919468 3.39976553341149 3.77431906614786 3.46978557504873 3.45094998061264 3.03951367781155 4.62513987318165 5.14349608647037 4.09123823316437 4.63165572574763
Pétange 3.0297565374211 4.14617006324666 4.79711141678129 5.97463284379172 5.88431405234206 6.30306988896146 6.0070108349267 6.74818139606872 8.380895163712831 8.37222870478413 9.52708276051691 9.097340124504811
Reckange-sur-Mess 1.35135135135135 1.31233595800525 1.89155107187894 1.73053152039555 1.66468489892985 1.91011235955056 1.30718954248366 2.53431890179514 3.42612419700214 2.27765726681128 3.19917440660475 2.68872802481903
Roeser 1.72744721689059 2.06961429915334 2.84273269142595 2.57568910980569 2.50447227191413 3.45285524568393 3.24232081911263 3.6741214057508 4.79233226837061 5.17774343122102 4.70809792843691 5.37313432835821
Rumelange 3.60415394013439 4.86322188449848 5.11904761904762 6.47024841132293 7.33220530174845 6.97179350718467 6.24349635796046 6.5 8.097747963584091 8.42644320297951 10.062893081761 9.78607191624943
Sanem 2.45031834844685 2.72474513438369 3.77769705775518 3.97386082656305 4.82794943820225 4.6801872074883 4.49035342325423 4.61251483805325 6.32808697063119 6.71641791044776 6.58473676225156 6.22670807453416
Schifflange 3.57142857142857 3.86075949367089 4.61538461538462 4.29316160686906 5.24590163934426 5.21454112038141 5.33255200703194 7.31152204836415 8.865638766519821 8.404255319148939 8.426395939086291 9.414556962025321
Bertrange 1.73107890499195 2.35868239121594 3.2064128256513 3.65369340746624 3.76685170499603 3.42019543973941 3.85992837246319 4.14567996900426 5.21235521235521 5.63594821020564 5.53745928338762 5.40738034344172
Contern 1.0221465076661 1.71086398631309 2.90697674418605 2.91909924937448 2.78004905968929 3.10457516339869 2.05859065716548 2.36100533130236 3.66528354080221 3.60299116247451 3.78737541528239 3.97614314115308
Hesperange 2.33796296296296 3.2287403365166 3.99734982332155 4.76292641064149 4.23641248191775 3.82420091324201 3.30895795246801 4.20848740975524 5.57830092118731 5.62115416597372 5.45483715706722 5.49630844954881
Luxembourg 3.32354395045215 4.49686799609218 5.78207131694843 6.72647000927983 7.42467215186319 5.71726744514018 4.8736611961365 5.9504132231405 7.50711950216222 7.66323201988298 8.06713848508034 7.72206516887368
Niederanven 1.76848874598071 2.27032734952482 2.54777070063694 2.6673640167364 2.88214101904272 2.75897969807392 2.67541645633518 3.15947843530592 3.97245762711864 3.87062566277837 4.32989690721649 3.31019754404698
Sandweiler 1.14537444933921 2.088772845953 3.69761709120789 3.0278232405892 2.78662420382166 2.93185419968304 2.72161741835148 3.30514988470407 4.75113122171946 4.9777117384844 4.94350282485876 5.12635379061372
Schuttrange 1.90114068441065 1.79584120982987 1.50234741784038 2.59019426456984 3.11027332704995 2.49597423510467 2.82714054927302 3.33068992862807 3.59327217125382 3.52852852852853 3.50500715307582 3.57142857142857
Steinsel 2.26415094339623 2.97092288242731 3.77358490566038 3.78411910669975 3.83912248628885 3.53929214157169 2.86368843069874 2.73037542662116 4.55508474576271 4.88702049395691 4.14722654224987 4.95307612095933
Strassen 3.2672737011248 4.46716899892357 5.54061323292093 5.93631948192121 6.52057723142704 3.89032975175991 3.74586852735953 3.43739038933708 5.7227919285478 5.57729941291585 5.34562211981567 4.65484483850538
Walferdange 1.99430199430199 2.84910306014773 3.26909841706814 3.68965517241379 3.91752577319588 3.169135377196 2.50600755235153 3.60476343739942 5.09304603330069 5.35831689677843 5.93846153846154 5.46085858585859
Weiler-la-Tour 1.54905335628227 3.81944444444444 3.54609929078014 2.52707581227437 2.69784172661871 2.92682926829268 2.06185567010309 2.43277848911652 3.1980319803198 3.24519230769231 3.7199124726477 2.19399538106236
Bissen 2.24820143884892 2.59981429897864 3.52504638218924 3.9289055191768 4.23963133640553 3.4453781512605 3.32225913621263 4.47641886490807 5.70107858243451 5.27540729247479 6.4540059347181 5.07841672890217
Boevange-sur-Attert 2.14477211796247 2.7027027027027 2.34986945169713 3.11284046692607 3.43558282208589 2.68691588785047 3.00668151447661 2.64608599779493 3.76344086021505 3.125 4.07766990291262 3.23232323232323
Colmar-Berg 2.44755244755245 2.71493212669683 3.77358490566038 2.9082774049217 4.71910112359551 5.66666666666667 4.40324449594438 5.98870056497175 6.10932475884244 5.06465517241379 6.22448979591837 5.77507598784195
Fischbach 3.03030303030303 7.19424460431655 3.37837837837838 6.50887573964497 5.49450549450549 3.19767441860465 3.62116991643454 3.10734463276836 4.35835351089588 3.40136054421769 4.42307692307692 3.43347639484979
Heffingen 2.3121387283237 1.40845070422535 2.14477211796247 2.35602094240838 2.72277227722772 2.15827338129496 0.919540229885057 2.38095238095238 2.76595744680851 2.45901639344262 2.55905511811024 4.17495029821074
Larochette 2.41657077100115 3.60766629086809 4.03690888119954 4.76718403547672 4.46735395189003 5.20951302378256 5.78778135048232 6.53923541247485 7.56476683937824 6.36363636363636 7.36738703339882 6
Lintgen 0.900900900900901 1.81818181818182 2.79589934762349 3.85321100917431 5.27728085867621 4.36681222707424 4 4.76973684210526 4.13961038961039 4.76190476190476 5.19287833827893 4.37452033768227
Lorentzweiler 1.37221269296741 2.44313395113732 2.33722871452421 3.51437699680511 3.37349397590361 3.80566801619433 3.60501567398119 3.80228136882129 4.63096960926194 4.78142076502732 3.85382059800664 4.36827956989247
Mersch 2.1250758955677 2.734375 3.32936979785969 3.79411764705882 4.94568324757004 4.73496128648005 3.95004356665699 4.68208092485549 5.86236193712829 6.27044711014177 6.85279187817259 7.10925248301098
Nommern 2.08768267223382 3.30578512396694 2.7027027027027 3.31262939958592 5.02008032128514 3.99201596806387 3.25047801147228 3.80434782608696 4.67128027681661 5.19930675909879 4.24448217317487 6.02409638554217
Tuntange 2.85035629453682 2.04081632653061 3.25581395348837 2.12264150943396 2.97872340425532 3.63636363636364 3.11850311850312 2.92397660818713 3.38345864661654 2.72727272727273 3.74149659863946 3.43053173241853
Clervaux 3.48360655737705 3.9241334205363 4.875 4.83005366726297 5.5365296803653 5.54938956714761 5.5224688684353 5.71428571428571 7.07876370887338 6.7275348390197 7.97101449275362 6.29699248120301
Parc Hosingen 2.63991552270327 3.07845084409136 3.91969407265774 3.3210332103321 3.125 4.52261306532663 4.7427652733119 4.32766615146832 4.73022912047302 5.86972083035075 5.7371581054036 5.75988896599584
Troisvierges 3.27237728585178 3.57478833490122 5.44280442804428 4.68046804680468 7.38539898132428 5.39629005059022 6.07779578606159 5.95710881652105 7.63358778625954 8.62196020633751 7.37647877522617 6.80173661360347
Weiswampach 2.29166666666667 2.63157894736842 3.47490347490348 3.05343511450382 4.63821892393321 5.75539568345324 5.09666080843585 4.83333333333333 5.77507598784195 5.29411764705882 5.28511821974965 6.42458100558659
Wincrange 3.1757233592096 3.20557491289199 4.00543109300747 3.41207349081365 4.82758620689655 4.9273531269741 4.68557336621455 4.56760048721072 5.02630040911748 5.43909348441926 5.84380120152922 5.97014925373134
Bettendorf 2.96010296010296 3.74193548387097 5.03875968992248 4.29447852760736 6.2200956937799 4.78821362799263 4.20017873100983 5.88235294117647 6.27724498692241 4.7244094488189 6.6557107641742 6.83982683982684
Bourscheid 2.44897959183673 3.13111545988258 2.84552845528455 3.40681362725451 3.16205533596838 3.58361774744027 4.26621160409556 3.60065466448445 3.72771474878444 4.85133020344288 6.24113475177305 5.68513119533528
Diekirch 2.98507462686567 3.07529162248144 4.17391304347826 2.73925104022191 5.15641113784806 5.7327258921792 6.11005692599621 5.76131687242798 7.66099185788305 7.95660036166365 8.85764499121265 7.9776067179846
Erpeldange 0.832466181061394 1.44628099173554 2.13849287169043 2.19341974077767 4.22110552763819 3.74220374220374 3.02724520686176 4.1708043694141 4.34782608695652 4.96592015579357 4.75737392959087 4.9951028403526
Ettelbruck 3.2161106101593 3.19469559975889 3.725782414307 3.69931932524415 5.91557669441141 5.42061611374408 5.40141676505313 5.99765944997074 7.57531441942088 7.76178379904036 9.29035752979415 8.383727322704781
Feulen 2.61941448382126 3.09597523219814 3.47003154574132 2.28658536585366 4.16666666666667 3.43283582089552 3.33817126269956 3.30123796423659 4.73061760840999 4.60526315789474 4.42132639791938 5.23489932885906
Mertzig 1.97693574958814 3.53846153846154 1.97268588770865 2.56797583081571 4.90620490620491 3.47826086956522 3.54223433242507 4.08684546615581 5.0131926121372 4.98084291187739 4.9438202247191 4.47585394581861
Reisdorf 3.75 3.46820809248555 3.5230352303523 2.7027027027027 4.69135802469136 7.0048309178744 6.69745958429561 8.685968819599109 8.752735229759301 7.59493670886076 10.0378787878788 11.275415896488
Schieren 3.07692307692308 4.18760469011725 3.33889816360601 4.21585160202361 5.5205047318612 5.73643410852713 5.81039755351682 5.15759312320917 7.30027548209366 6.62824207492795 7.18232044198895 7.76699029126214
Vallée de l'Ernz 3.98457583547558 3.14861460957179 2.60869565217391 3.41463414634146 5.13112884834664 4.27807486631016 5.05561172901921 5.47945205479452 5.58608058608059 5.65371024734982 6.63308144416457 6.28768303186908
Beckerich 1.34310134310134 1.49439601494396 2.20858895705521 2.60972716488731 4.08653846153846 4.70183486238532 2.92792792792793 3.96145610278373 3.4375 3.6697247706422 4.71698113207547 5.24809160305344
Ell 1.17647058823529 1.69491525423729 1.44508670520231 1.73913043478261 1.03896103896104 2.13270142180095 1.55555555555556 2.39651416122004 2.31578947368421 2.00400801603206 3.87453874538745 2.65151515151515
Grosbous 0.72463768115942 0.72463768115942 1.38888888888889 2.5 2.76073619631902 3.77833753148615 3.21782178217822 3.84615384615385 4.48430493273543 4.30839002267574 5.06607929515418 6.55021834061135
Préizerdaul 1.03448275862069 1.51515151515152 1.6366612111293 2.3961661341853 1.55763239875389 4.17362270450751 2.92207792207792 2.85714285714286 3.72093023255814 4.28790199081164 3.79008746355685 3.125
Rambrouch 1.78970917225951 3.023598820059 4.65772759350741 4.14035087719298 4.51745379876797 4.09511228533686 4.58064516129032 5.24296675191816 6.37785800240674 6.59868026394721 6.64772727272727 7.02054794520548
Redange 8.70511425462459 1.8757327080891 2.53456221198157 2.23964165733483 1.87018701870187 2.33977619532045 2.34375 3.2015065913371 3.93412625800549 3.51035103510351 4.41558441558442 4.98251748251748
Saeul 1.51515151515152 4.30622009569378 3.84615384615385 1.32743362831858 3.07017543859649 2.55474452554745 3.02013422818792 3.125 5.8252427184466 7.16510903426791 7.26744186046512 5.99369085173502
Useldange 0.889679715302491 1.74825174825175 2.92598967297762 1.5358361774744 2.67295597484277 3.40557275541796 2.41691842900302 2.25903614457831 4.16666666666667 4.5643153526971 4.51612903225806 4.07358738501971
Vichten 2.50696378830084 1.64383561643836 1.56657963446475 3.1496062992126 3.58974358974359 4.20792079207921 2.03160270880361 5.175983436853 5.64516129032258 4.9800796812749 5.20231213872832 6.11854684512428
Wahl 2 2.83018867924528 1.53374233128834 1.5625 2.31884057971015 2.63929618768328 2.27272727272727 3.80434782608696 4.48548812664908 4.63215258855586 5.46875 4.86486486486486
Putscheid 3.14465408805031 2.62751159196291 4.72103004291846 3.16804407713499 4.46780551905388 4.42477876106195 3.47394540942928 3.20987654320988 4.54002389486261 5.02183406113537 4.42105263157895 5.33049040511727
Tandel 2.53164556962025 4.71698113207547 4.22960725075529 5.30973451327434 4.41988950276243 7.28643216080402 5.18518518518519 4.23940149625935 4.92957746478873 4.98220640569395 4.72972972972973 4.69644902634593
Vianden 6.37958532695375 7.63473053892216 6.49926144756278 7.10526315789474 9.95907230559345 9.6816976127321 9.66494845360825 9.912170639899619 10.1965601965602 10.0123609394314 13.9080459770115 11.0179640718563
Boulaide 2.56410256410256 2.98507462686567 3.28358208955224 3.24483775811209 5.54016620498615 6.46900269541779 3.91644908616188 5.37084398976982 6.51629072681704 7.67386091127098 5.13392857142857 6.74698795180723
Esch-sur-Sûre 3.10391363022942 3.27225130890052 4.06290956749672 3.01047120418848 3.75469336670839 4.61538461538462 3.66259711431743 5.19067796610169 5.05675954592363 6.31681243926142 6.04982206405694 5.87155963302752
Eschweiler 2.85714285714286 2.83687943262411 4.74576271186441 6.17283950617284 6.36363636363636 8.086253369272241 6.91489361702128 7.40740740740741 6.96517412935323 7.28643216080402 10.0467289719626 9.09090909090909
Goesdorf 1.64705882352941 2.81995661605206 1.52838427947598 1.65631469979296 3.06122448979592 3.03030303030303 3.73831775700935 3.64583333333333 3.01003344481605 2.81456953642384 4.16024653312789 3.80348652931854
Kiischpelt 4.14364640883978 2.78551532033426 3.78378378378378 5.59796437659033 7.59493670886076 6.40394088669951 6.63390663390663 6.77570093457944 6.9284064665127 7.48299319727891 8.68686868686869 7.57575757575758
Lac de la Haute-Sûre 2.98245614035088 3.05084745762712 2.67558528428094 3.50877192982456 2.91734197730956 3.6624203821656 5.39291217257319 5.03703703703704 6.20592383638928 5.62962962962963 6.00801068090788 5.52407932011331
Wiltz 6.15883306320908 6.78879310344828 7.90450928381963 7.10925248301098 8.58768753233316 8.24685963954123 9.014232999472849 9.01041666666667 9.59183673469388 11.2098765432099 11.9444444444444 11.2244897959184
Winseler 3.07692307692308 3.55029585798817 6.11702127659574 6.71834625322997 6.73575129533679 4.35729847494553 6.36942675159236 6.2753036437247 5.83501006036217 6.16302186878728 5.84677419354839 5.4989816700611
Beaufort 5.08720930232558 3.50404312668464 5.17464424320828 5.07246376811594 5.8891454965358 6.71892497200448 4.29988974641676 7.08418891170431 8.517034068136271 7.95135640785781 9.85790408525755 8.65209471766849
Bech 1.75 1.23456790123457 1.02827763496144 1.79948586118252 1.98511166253102 2.97766749379653 1.20772946859903 2.52293577981651 3.65591397849462 5.08130081300813 2.51937984496124 3.47490347490348
Berdorf 5.33333333333333 5.36480686695279 4.7808764940239 9.025270758122741 10.3250478011472 7.83333333333333 6.17696160267112 7.46500777604977 8.61538461538462 8.3969465648855 8.230452674897119 7.4235807860262
Consdorf 2.67737617135208 3.46205059920106 4.16666666666667 3.21750321750322 5.05181347150259 5.36912751677852 4.38247011952191 4.04699738903394 6.50510204081633 6.62576687116565 4.33734939759036 4.47761194029851
Echternach 5 5.84958217270195 5.33208606173994 5.50660792951542 7.61353517364203 8.2737030411449 4.73128158015618 8.837825894829869 10.4651162790698 10.2348993288591 9.706362153344211 10.1632653061224
Mompach 2.38805970149254 3.44827586206897 4.29799426934097 4.09356725146199 5.32544378698225 4.77386934673367 6.60592255125285 5.55555555555556 6.59340659340659 5.84269662921348 5.5984555984556 7.08333333333333
Rosport 3.21637426900585 2.5974025974026 2.41820768136558 2.65734265734266 3.45744680851064 3.22209436133487 3.85462555066079 3.59477124183007 3.93013100436681 4.26439232409382 4.84210526315789 4.75184794086589
Waldbillig 1.68067226890756 3.23232323232323 3.89105058365759 3.48623853211009 4.55341506129597 4.21052631578947 3.125 4.65489566613162 4.88599348534202 4.74683544303798 4.29799426934097 4.02384500745156
Betzdorf 1.13636363636364 1.67652859960552 2.25933202357564 3.03030303030303 2.76981852913085 2.71691498685364 3.05280528052805 2.65755504935459 3.96825396825397 3.69056068133428 2.46831220813876 2.86713286713287
Biwer 1.13085621970921 1.48026315789474 2.32919254658385 2.24887556221889 2.71816881258941 3.23943661971831 2.97297297297297 4.58839406207827 4.47154471544715 3.48525469168901 3.50649350649351 5.03311258278146
Flaxweiler 0.634920634920635 1.49253731343284 1.68302945301543 1.79063360881543 3.382949932341 2.74869109947644 2.45161290322581 2.38693467336683 2.67857142857143 4.65686274509804 4.1002277904328 3.19905213270142
Grevenmacher 2.35168359166221 3.18111852231914 2.75689223057644 3.75679683638161 4.51306413301663 4.75173518419648 4.63300364393545 4.46700507614213 6.61728395061728 6.65024630541872 6.51340996168582 7.32984293193717
Junglinster 1.27226463104326 2.14917825537295 2.01850294365013 2.29166666666667 2.6602176541717 2.87175452399685 2.21015897634742 2.7037319116527 3.15633122911251 3.30697340043134 4.41892832289492 3.38319088319088
Manternach 2.04678362573099 3.07262569832402 3.44827586206897 4.58015267175572 4.56730769230769 2.45398773006135 2.55681818181818 3.13351498637602 3.75335120643432 4.00534045393858 4.5 4.32569974554707
Mertert 2.15128383067314 2.96551724137931 4.79041916167665 4.23102753525856 5.66157760814249 5.71791613722999 5.67901234567901 5.55894929749542 8.584961515689759 8.357183743560389 7.89613142554319 8.22368421052632
Wormeldange 1.35922330097087 2.02507232401157 2.28789323164919 2.42537313432836 2.94117647058824 2.95434198746643 2.75066548358474 2.21434898139947 4.64316423043852 4.72175379426644 4.83870967741936 4.96215306980656
Bous 1.09170305676856 2.52100840336134 2.51046025104603 1.61616161616162 3.21361058601134 3.07692307692308 2.55591054313099 3.06278713629403 2.59541984732824 3.7037037037037 2.24089635854342 2.51396648044693
Dalheim 2.23152022315202 2.33516483516484 2.98507462686567 2.72373540856031 3.11332503113325 3.57583230579531 2.7479091995221 2.55516840882695 4.26758938869665 4.19977298524404 4.72527472527473 4.99445061043285
Lenningen 1.00401606425703 2.70793036750484 2.97397769516729 3.48623853211009 3.45454545454545 2.11161387631976 2.31548480463097 2.58249641319943 4.35967302452316 4.17209908735332 2.75 4.1405269761606
Mondorf-les-Bains 2.46652572233968 3.86631716906946 4.36766623207301 4.20326223337516 4.77941176470588 4.59427207637232 4.75086906141367 5.863539445629 6.89110994213572 8.083375699034059 7.14285714285714 6.83974038941588
Remich 3.0564263322884 3.31534309946029 4.88354620586026 5.97122302158273 5.33049040511727 5.64285714285714 3.93586005830904 5.58823529411765 7.61346998535871 8.298465829846579 8.560311284046691 6.78642714570858
Schengen 2.0979020979021 2.27416298168035 2.83950617283951 2.82791817087846 3.42182890855457 3.80794701986755 3.50215517241379 2.75754422476587 4.70941883767535 4.11440040140492 4.13461538461539 4.99279884781565
Stadtbredimus 2.17785843920145 2.75387263339071 2.77777777777778 1.68918918918919 2.02360876897133 3.26086956521739 2.69461077844311 3.78151260504202 4.66321243523316 4.43864229765013 4.14634146341463 4.52261306532663
Waldbredimus 0.561797752808989 2.5 2.4 4.46194225721785 5.68475452196382 5 5.94315245478036 3.43980343980344 4.15704387990762 3.13199105145414 3.76569037656904 4.0948275862069
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Chômage</title>
<link rel="stylesheet" type="text/css" href="http://necolas.github.io/normalize.css/2.1.3/normalize.css">
<style>
.subunit {
fill: #ddd;
stroke: none;
}
.boundary {
fill: none;
stroke-linejoin: round;
stroke-width: 0.5px;
opacity: 1;
}
.boundary.commune {
stroke: #999;
}
.boundary.canton {
stroke: #666;
}
.boundary.district {
stroke: #333;
}
text {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 10px;
pointer-events: none;
text-anchor: middle;
}
.commune-label {
font-size: 14px;
background-color: #fff;
}
.axis {
font: 10px sans-serif;
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
}
.axis .domain {
fill: none;
stroke: #000;
stroke-opacity: .3;
stroke-width: 10px;
stroke-linecap: round;
}
.axis .halo {
fill: none;
stroke: #ddd;
stroke-width: 8px;
stroke-linecap: round;
}
.slider .handle {
fill: #fff;
stroke: #000;
stroke-opacity: .5;
stroke-width: 1.25px;
pointer-events: none;
}
</style>
</head>
<body>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/2.2.1/lodash.min.js"></script>
<script src="http://d3js.org/d3.v3.min.js"></script>
<script src="http://d3js.org/queue.v1.min.js"></script>
<script src="http://d3js.org/topojson.v1.js"></script>
<script>
var width = 600,
height = 600;
var projection = d3.geo.albers()
.rotate([-6.1332989, 0])
.center([0, 49.81531255])
.parallels([49.631583225, 49.999041875])
.scale(1200 * 35)
.translate([width>>1, height>>1]);
var path = d3.geo.path()
.projection(projection);
var quantize = d3.scale.quantize()
.range(d3.range(9).map(function(i) { return 'q' + i + '-9'; }));
var color = d3.scale.linear()
.range(['rgb(247,251,255)', 'rgb(8,48,107)']);
var svg = d3.select('body').append('svg')
.attr('width', width)
.attr('height', height);
var map = svg.append('g')
.attr('class', 'map')
.attr('transform', 'translate(0,-25)');
var timeSlider = svg.append('g')
.attr('class', 'timeSlider')
.attr('transform', 'translate(' + (width >> 2) + ',' + (height - 25)+ ')');
var time = d3.time.scale()
.domain([new Date(2000, 11, 1), new Date(2012, 1, 1)])
.range([0, width>>1])
.clamp(true);
var timeAxis = d3.svg.axis()
.scale(time)
.orient('bottom')
.ticks(d3.time.year)
.tickSize(0)
.tickPadding(12);
var brush = d3.svg.brush()
.x(time)
.extent([0,0])
.on('brush', brushed);
timeSlider.append('g')
.attr('class', 'time axis')
.call(timeAxis)
.select('.domain')
.select(function() { return this.parentNode.appendChild(this.cloneNode(true)); })
.attr('class', 'halo');
var slider = timeSlider.append('g')
.attr('class', 'slider')
.call(brush)
.call(brush.event);
slider.selectAll('.extent,.resize').remove();
slider.select('.background')
.attr('height', 50)
.attr('y', -25);
var handle = slider.append('circle')
.attr('class', 'handle')
.attr('r', 9);
function brushed() {
if (!handle) return;
var d0 = d3.time.year.round(brush.extent()[0]);
if (d3.event.sourceEvent) { // not a programmatic event
d0 = d3.time.year.round(time.invert(d3.mouse(this)[0]));
brush.extent([d0, d0]);
}
var cx = time(d0);
if ( communes && cx !== +handle.attr('cx')) {
handle.attr('cx', cx);
update(d0.getFullYear());
}
}
function update(year) {
var units = map.selectAll('.commune')
.data(communes.features);
units
.transition()
.style('fill', function(d) {
return color( d.properties.chomage[year] );
});
units.enter().append('path')
.style('fill', function(d) {
return color( d.properties.chomage[year] );
})
.attr('class', function(d) {
return 'commune c' + d.properties.id;
})
.attr('d', path);
units
.on('mouseover', function(d) {
map.selectAll('.commune-label.c' + d.properties.id)
.style('display', 'inline');
})
.on('mouseout', function(d) {
map.selectAll('.commune-label.c' + d.properties.id)
.style('display', 'none');
});
var unitsLabel = map.selectAll('.commune-label')
.data(communes.features);
unitsLabel
.text(function(d) {
return d.properties.commune + ' ' + d.properties.chomage[year].toFixed(1) +'%';
});
unitsLabel.enter().append('text')
.attr('class', function(d) { return 'commune-label c' + d.properties.id; })
.attr('transform', function(d) {
var c = path.centroid(d);
return 'translate(' + c[0] + ',' + (c[1]-10) + ')';
})
.style('display', 'none')
.attr('dy', '.35em')
.text(function(d) {
return d.properties.commune + ' ' + d.properties.chomage[year].toFixed(1) +'%';
});
};
var communes;
queue()
.defer(d3.json, 'lux.json')
.defer(d3.csv, 'chomage.csv')
.await(function(error, lux, chomage) {
// console.log( lux );
lux.objects.communes.geometries.forEach(function(c, i) {
var commune = _.find(chomage, function(d) {
return d.commune === c.properties.commune;
});
if ( !commune ) console.log( c.properties.commune );
c.properties.id = i;
c.properties.chomage = {};
_.each(_.omit(commune, 'commune'), function(val, key) {
c.properties.chomage[+key] = +val;
});
});
var vals = _.flatten(
lux.objects.communes.geometries.map( function(d) {
var arr = _.map(d.properties.chomage, function(e) {
return +e;
});
return arr;
})
);
quantize.domain(d3.extent(vals));
color.domain(d3.extent(vals));
communes = topojson.feature(lux, lux.objects.communes);
update(2012);
slider
.call(brush.extent([new Date(2012, 0, 1), new Date(2012, 0, 1)]))
.call(brush.event);
var boundaries = map.append('g')
.attr('class', 'boundaries')
boundaries.append('path')
.datum(topojson.mesh(lux, lux.objects.communes, function(a, b) {
return a.properties.district !== b.properties.district
}))
.attr('d', path)
.attr('class', 'district boundary');
boundaries.append('path')
.datum(topojson.mesh(lux, lux.objects.communes, function(a, b) {
return a.properties.canton !== b.properties.canton && a.properties.district === b.properties.district
}))
.attr('d', path)
.attr('class', 'canton boundary');
boundaries.append('path')
.datum(topojson.mesh(lux, lux.objects.communes, function(a, b) {
return a.properties.commune !== b.properties.commune && a.properties.canton === b.properties.canton && a.properties.district === b.properties.district;
}))
.attr('d', path)
.attr('class', 'commune boundary');
});
</script>
</body>
</html>
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment