diff --git a/Makefile b/Makefile index e4f23e97f..8c2f86d16 100644 --- a/Makefile +++ b/Makefile @@ -96,7 +96,8 @@ dist/img/line-presets.png: svg/line-presets.svg dist/img/relation-presets.png: svg/relation-presets.svg if [ `which inkscape` ]; then $(SPRITE) --export-png=$@ $<; else echo "Inkscape is not installed"; fi; -dist/img/maki-sprite.png: $(wildcard node_modules/maki/renders/*.png) +dist/img/maki-sprite.png: ./node_modules/maki/www/images/maki-sprite.png + cp $< $@ node data/maki_sprite D3_FILES = \ diff --git a/css/feature-icons.css b/css/feature-icons.css index d66bb5bfe..0b911aa7a 100644 --- a/css/feature-icons.css +++ b/css/feature-icons.css @@ -3,99 +3,107 @@ .preset-icon{background-image:url(img/maki-sprite.png);background-repeat:no-repeat;width:24px;height:24px;} .preset-icon-line{background-image:url(img/line-presets.png);background-repeat:no-repeat;width:60px;height:60px;} .preset-icon-relation{background-image:url(img/relation-presets.png);background-repeat:no-repeat;width:60px;height:60px;} -.feature-airfield{background-position:-0px -34px;} -.feature-airport{background-position:-0px -94px;} -.feature-alcohol-shop{background-position:-0px -154px;} -.feature-america-football{background-position:-0px -214px;} -.feature-art-gallery{background-position:-0px -274px;} -.feature-bank{background-position:-0px -334px;} -.feature-bar{background-position:-0px -394px;} -.feature-baseball{background-position:-0px -454px;} -.feature-basketball{background-position:-0px -514px;} -.feature-beer{background-position:-0px -574px;} -.feature-bicycle{background-position:-0px -634px;} -.feature-building{background-position:-0px -694px;} -.feature-bus{background-position:-0px -754px;} -.feature-cafe{background-position:-0px -814px;} -.feature-campsite{background-position:-0px -874px;} -.feature-cemetery{background-position:-0px -934px;} -.feature-cinema{background-position:-0px -994px;} -.feature-circle{background-position:-0px -1054px;} -.feature-circle-stroked{background-position:-0px -1114px;} -.feature-city{background-position:-0px -1174px;} -.feature-college{background-position:-0px -1234px;} -.feature-commercial{background-position:-0px -1294px;} -.feature-cricket{background-position:-0px -1354px;} -.feature-cross{background-position:-0px -1414px;} -.feature-dam{background-position:-0px -1474px;} -.feature-danger{background-position:-0px -1534px;} -.feature-disability{background-position:-0px -1594px;} -.feature-embassy{background-position:-0px -1654px;} -.feature-emergency-telephone{background-position:-0px -1714px;} -.feature-farm{background-position:-0px -1774px;} -.feature-fast-food{background-position:-0px -1834px;} -.feature-ferry{background-position:-0px -1894px;} -.feature-fire-station{background-position:-0px -1954px;} -.feature-fuel{background-position:-0px -2014px;} -.feature-garden{background-position:-0px -2074px;} -.feature-golf{background-position:-0px -2134px;} -.feature-grocery{background-position:-0px -2194px;} -.feature-harbor{background-position:-0px -2254px;} -.feature-heliport{background-position:-0px -2314px;} -.feature-hospital{background-position:-0px -2374px;} -.feature-industrial{background-position:-0px -2434px;} -.feature-land-use{background-position:-0px -2494px;} -.feature-library{background-position:-0px -2554px;} -.feature-lodging{background-position:-0px -2614px;} -.feature-logging{background-position:-0px -2674px;} -.feature-marker{background-position:-0px -2734px;} -.feature-marker-stroked{background-position:-0px -2794px;} -.feature-monument{background-position:-0px -2854px;} -.feature-museum{background-position:-0px -2914px;} -.feature-music{background-position:-0px -2974px;} -.feature-oil-well{background-position:-0px -3034px;} -.feature-park{background-position:-0px -3094px;} -.feature-park2{background-position:-0px -3154px;} -.feature-parking{background-position:-0px -3214px;} -.feature-parking-garage{background-position:-0px -3274px;} -.feature-pharmacy{background-position:-0px -3334px;} -.feature-pitch{background-position:-0px -3394px;} -.feature-place-of-worship{background-position:-0px -3454px;} -.feature-police{background-position:-0px -3514px;} -.feature-post{background-position:-0px -3574px;} -.feature-prison{background-position:-0px -3634px;} -.feature-rail{background-position:-0px -3694px;} -.feature-rail-above{background-position:-0px -3754px;} -.feature-rail-underground{background-position:-0px -3814px;} -.feature-religious-christian{background-position:-0px -3874px;} -.feature-religious-jewish{background-position:-0px -3934px;} -.feature-religious-muslim{background-position:-0px -3994px;} -.feature-restaurant{background-position:-0px -4054px;} -.feature-roadblock{background-position:-0px -4114px;} -.feature-school{background-position:-0px -4174px;} -.feature-shop{background-position:-0px -4234px;} -.feature-skiing{background-position:-0px -4294px;} -.feature-slaughterhouse{background-position:-0px -4354px;} -.feature-soccer{background-position:-0px -4414px;} -.feature-square{background-position:-0px -4474px;} -.feature-square-stroked{background-position:-0px -4534px;} -.feature-star{background-position:-0px -4594px;} -.feature-star-stroked{background-position:-0px -4654px;} -.feature-swimming{background-position:-0px -4714px;} -.feature-telephone{background-position:-0px -4774px;} -.feature-tennis{background-position:-0px -4834px;} -.feature-theatre{background-position:-0px -4894px;} -.feature-toilets{background-position:-0px -4954px;} -.feature-town{background-position:-0px -5014px;} -.feature-town-hall{background-position:-0px -5074px;} -.feature-triangle{background-position:-0px -5134px;} -.feature-triangle-stroked{background-position:-0px -5194px;} -.feature-village{background-position:-0px -5254px;} -.feature-warehouse{background-position:-0px -5314px;} -.feature-waste-basket{background-position:-0px -5374px;} -.feature-water{background-position:-0px -5434px;} -.feature-wetland{background-position:-0px -5494px;} -.feature-zoo{background-position:-0px -5554px;} +.feature-circle-stroked{background-position:-0px -0px;} +.feature-circle{background-position:-54px -0px;} +.feature-square-stroked{background-position:-108px -0px;} +.feature-square{background-position:-162px -0px;} +.feature-triangle-stroked{background-position:-216px -0px;} +.feature-triangle{background-position:-0px -24px;} +.feature-star-stroked{background-position:-54px -24px;} +.feature-star{background-position:-108px -24px;} +.feature-cross{background-position:-162px -24px;} +.feature-marker-stroked{background-position:-216px -24px;} +.feature-marker{background-position:-0px -48px;} +.feature-religious-jewish{background-position:-54px -48px;} +.feature-religious-christian{background-position:-108px -48px;} +.feature-religious-muslim{background-position:-162px -48px;} +.feature-cemetery{background-position:-216px -48px;} +.feature-rocket{background-position:-0px -72px;} +.feature-airport{background-position:-54px -72px;} +.feature-heliport{background-position:-108px -72px;} +.feature-rail{background-position:-162px -72px;} +.feature-rail-underground{background-position:-216px -72px;} +.feature-rail-above{background-position:-0px -96px;} +.feature-bus{background-position:-54px -96px;} +.feature-fuel{background-position:-108px -96px;} +.feature-parking{background-position:-162px -96px;} +.feature-parking-garage{background-position:-216px -96px;} +.feature-airfield{background-position:-0px -120px;} +.feature-roadblock{background-position:-54px -120px;} +.feature-ferry{background-position:-108px -120px;} +.feature-harbor{background-position:-162px -120px;} +.feature-bicycle{background-position:-216px -120px;} +.feature-park{background-position:-0px -144px;} +.feature-park2{background-position:-54px -144px;} +.feature-museum{background-position:-108px -144px;} +.feature-lodging{background-position:-162px -144px;} +.feature-monument{background-position:-216px -144px;} +.feature-zoo{background-position:-0px -168px;} +.feature-garden{background-position:-54px -168px;} +.feature-campsite{background-position:-108px -168px;} +.feature-theatre{background-position:-162px -168px;} +.feature-art-gallery{background-position:-216px -168px;} +.feature-pitch{background-position:-0px -192px;} +.feature-soccer{background-position:-54px -192px;} +.feature-america-football{background-position:-108px -192px;} +.feature-tennis{background-position:-162px -192px;} +.feature-basketball{background-position:-216px -192px;} +.feature-baseball{background-position:-0px -216px;} +.feature-golf{background-position:-54px -216px;} +.feature-swimming{background-position:-108px -216px;} +.feature-cricket{background-position:-162px -216px;} +.feature-skiing{background-position:-216px -216px;} +.feature-school{background-position:-0px -240px;} +.feature-college{background-position:-54px -240px;} +.feature-library{background-position:-108px -240px;} +.feature-post{background-position:-162px -240px;} +.feature-fire-station{background-position:-216px -240px;} +.feature-town-hall{background-position:-0px -264px;} +.feature-police{background-position:-54px -264px;} +.feature-prison{background-position:-108px -264px;} +.feature-embassy{background-position:-162px -264px;} +.feature-beer{background-position:-216px -264px;} +.feature-restaurant{background-position:-0px -288px;} +.feature-cafe{background-position:-54px -288px;} +.feature-shop{background-position:-108px -288px;} +.feature-fast-food{background-position:-162px -288px;} +.feature-bar{background-position:-216px -288px;} +.feature-bank{background-position:-0px -312px;} +.feature-grocery{background-position:-54px -312px;} +.feature-cinema{background-position:-108px -312px;} +.feature-pharmacy{background-position:-162px -312px;} +.feature-hospital{background-position:-216px -312px;} +.feature-danger{background-position:-0px -336px;} +.feature-industrial{background-position:-54px -336px;} +.feature-warehouse{background-position:-108px -336px;} +.feature-commercial{background-position:-162px -336px;} +.feature-building{background-position:-216px -336px;} +.feature-place-of-worship{background-position:-0px -360px;} +.feature-alcohol-shop{background-position:-54px -360px;} +.feature-logging{background-position:-108px -360px;} +.feature-oil-well{background-position:-162px -360px;} +.feature-slaughterhouse{background-position:-216px -360px;} +.feature-dam{background-position:-0px -384px;} +.feature-water{background-position:-54px -384px;} +.feature-wetland{background-position:-108px -384px;} +.feature-disability{background-position:-162px -384px;} +.feature-telephone{background-position:-216px -384px;} +.feature-emergency-telephone{background-position:-0px -408px;} +.feature-toilets{background-position:-54px -408px;} +.feature-waste-basket{background-position:-108px -408px;} +.feature-music{background-position:-162px -408px;} +.feature-land-use{background-position:-216px -408px;} +.feature-city{background-position:-0px -432px;} +.feature-town{background-position:-54px -432px;} +.feature-village{background-position:-108px -432px;} +.feature-farm{background-position:-162px -432px;} +.feature-bakery{background-position:-216px -432px;} +.feature-dog-park{background-position:-0px -456px;} +.feature-lighthouse{background-position:-54px -456px;} +.feature-clothing-store{background-position:-108px -456px;} +.feature-london-underground{background-position:-162px -456px;} +.feature-minefield{background-position:-216px -456px;} +.feature-camera{background-position:-0px -480px;} .preset-icon-line.feature-highway-motorway{background-position:-20px -25px;} .preset-icon-line.feature-highway-trunk{background-position:-80px -25px;} .preset-icon-line.feature-highway-primary{background-position:-140px -25px;} diff --git a/data/feature-icons.json b/data/feature-icons.json index c98ddafd8..37a7b803f 100644 --- a/data/feature-icons.json +++ b/data/feature-icons.json @@ -1 +1 @@ -{"airfield":{"12":[0,0],"18":[0,14],"24":[0,34]},"airport":{"12":[0,60],"18":[0,74],"24":[0,94]},"alcohol-shop":{"12":[0,120],"18":[0,134],"24":[0,154]},"america-football":{"12":[0,180],"18":[0,194],"24":[0,214]},"art-gallery":{"12":[0,240],"18":[0,254],"24":[0,274]},"bank":{"12":[0,300],"18":[0,314],"24":[0,334]},"bar":{"12":[0,360],"18":[0,374],"24":[0,394]},"baseball":{"12":[0,420],"18":[0,434],"24":[0,454]},"basketball":{"12":[0,480],"18":[0,494],"24":[0,514]},"beer":{"12":[0,540],"18":[0,554],"24":[0,574]},"bicycle":{"12":[0,600],"18":[0,614],"24":[0,634]},"building":{"12":[0,660],"18":[0,674],"24":[0,694]},"bus":{"12":[0,720],"18":[0,734],"24":[0,754]},"cafe":{"12":[0,780],"18":[0,794],"24":[0,814]},"campsite":{"12":[0,840],"18":[0,854],"24":[0,874]},"cemetery":{"12":[0,900],"18":[0,914],"24":[0,934]},"cinema":{"12":[0,960],"18":[0,974],"24":[0,994]},"circle":{"12":[0,1020],"18":[0,1034],"24":[0,1054]},"circle-stroked":{"12":[0,1080],"18":[0,1094],"24":[0,1114]},"city":{"12":[0,1140],"18":[0,1154],"24":[0,1174]},"college":{"12":[0,1200],"18":[0,1214],"24":[0,1234]},"commercial":{"12":[0,1260],"18":[0,1274],"24":[0,1294]},"cricket":{"12":[0,1320],"18":[0,1334],"24":[0,1354]},"cross":{"12":[0,1380],"18":[0,1394],"24":[0,1414]},"dam":{"12":[0,1440],"18":[0,1454],"24":[0,1474]},"danger":{"12":[0,1500],"18":[0,1514],"24":[0,1534]},"disability":{"12":[0,1560],"18":[0,1574],"24":[0,1594]},"embassy":{"12":[0,1620],"18":[0,1634],"24":[0,1654]},"emergency-telephone":{"12":[0,1680],"18":[0,1694],"24":[0,1714]},"farm":{"12":[0,1740],"18":[0,1754],"24":[0,1774]},"fast-food":{"12":[0,1800],"18":[0,1814],"24":[0,1834]},"ferry":{"12":[0,1860],"18":[0,1874],"24":[0,1894],"line":[2240,25]},"fire-station":{"12":[0,1920],"18":[0,1934],"24":[0,1954]},"fuel":{"12":[0,1980],"18":[0,1994],"24":[0,2014]},"garden":{"12":[0,2040],"18":[0,2054],"24":[0,2074]},"golf":{"12":[0,2100],"18":[0,2114],"24":[0,2134]},"grocery":{"12":[0,2160],"18":[0,2174],"24":[0,2194]},"harbor":{"12":[0,2220],"18":[0,2234],"24":[0,2254]},"heliport":{"12":[0,2280],"18":[0,2294],"24":[0,2314]},"hospital":{"12":[0,2340],"18":[0,2354],"24":[0,2374]},"industrial":{"12":[0,2400],"18":[0,2414],"24":[0,2434]},"land-use":{"12":[0,2460],"18":[0,2474],"24":[0,2494]},"library":{"12":[0,2520],"18":[0,2534],"24":[0,2554]},"lodging":{"12":[0,2580],"18":[0,2594],"24":[0,2614]},"logging":{"12":[0,2640],"18":[0,2654],"24":[0,2674]},"marker":{"12":[0,2700],"18":[0,2714],"24":[0,2734]},"marker-stroked":{"12":[0,2760],"18":[0,2774],"24":[0,2794]},"monument":{"12":[0,2820],"18":[0,2834],"24":[0,2854]},"museum":{"12":[0,2880],"18":[0,2894],"24":[0,2914]},"music":{"12":[0,2940],"18":[0,2954],"24":[0,2974]},"oil-well":{"12":[0,3000],"18":[0,3014],"24":[0,3034]},"park":{"12":[0,3060],"18":[0,3074],"24":[0,3094]},"park2":{"12":[0,3120],"18":[0,3134],"24":[0,3154]},"parking":{"12":[0,3180],"18":[0,3194],"24":[0,3214]},"parking-garage":{"12":[0,3240],"18":[0,3254],"24":[0,3274]},"pharmacy":{"12":[0,3300],"18":[0,3314],"24":[0,3334]},"pitch":{"12":[0,3360],"18":[0,3374],"24":[0,3394]},"place-of-worship":{"12":[0,3420],"18":[0,3434],"24":[0,3454]},"police":{"12":[0,3480],"18":[0,3494],"24":[0,3514]},"post":{"12":[0,3540],"18":[0,3554],"24":[0,3574]},"prison":{"12":[0,3600],"18":[0,3614],"24":[0,3634]},"rail":{"12":[0,3660],"18":[0,3674],"24":[0,3694]},"rail-above":{"12":[0,3720],"18":[0,3734],"24":[0,3754]},"rail-underground":{"12":[0,3780],"18":[0,3794],"24":[0,3814]},"religious-christian":{"12":[0,3840],"18":[0,3854],"24":[0,3874]},"religious-jewish":{"12":[0,3900],"18":[0,3914],"24":[0,3934]},"religious-muslim":{"12":[0,3960],"18":[0,3974],"24":[0,3994]},"restaurant":{"12":[0,4020],"18":[0,4034],"24":[0,4054]},"roadblock":{"12":[0,4080],"18":[0,4094],"24":[0,4114]},"school":{"12":[0,4140],"18":[0,4154],"24":[0,4174]},"shop":{"12":[0,4200],"18":[0,4214],"24":[0,4234]},"skiing":{"12":[0,4260],"18":[0,4274],"24":[0,4294]},"slaughterhouse":{"12":[0,4320],"18":[0,4334],"24":[0,4354]},"soccer":{"12":[0,4380],"18":[0,4394],"24":[0,4414]},"square":{"12":[0,4440],"18":[0,4454],"24":[0,4474]},"square-stroked":{"12":[0,4500],"18":[0,4514],"24":[0,4534]},"star":{"12":[0,4560],"18":[0,4574],"24":[0,4594]},"star-stroked":{"12":[0,4620],"18":[0,4634],"24":[0,4654]},"swimming":{"12":[0,4680],"18":[0,4694],"24":[0,4714]},"telephone":{"12":[0,4740],"18":[0,4754],"24":[0,4774]},"tennis":{"12":[0,4800],"18":[0,4814],"24":[0,4834]},"theatre":{"12":[0,4860],"18":[0,4874],"24":[0,4894]},"toilets":{"12":[0,4920],"18":[0,4934],"24":[0,4954]},"town":{"12":[0,4980],"18":[0,4994],"24":[0,5014]},"town-hall":{"12":[0,5040],"18":[0,5054],"24":[0,5074]},"triangle":{"12":[0,5100],"18":[0,5114],"24":[0,5134]},"triangle-stroked":{"12":[0,5160],"18":[0,5174],"24":[0,5194]},"village":{"12":[0,5220],"18":[0,5234],"24":[0,5254]},"warehouse":{"12":[0,5280],"18":[0,5294],"24":[0,5314]},"waste-basket":{"12":[0,5340],"18":[0,5354],"24":[0,5374]},"water":{"12":[0,5400],"18":[0,5414],"24":[0,5434]},"wetland":{"12":[0,5460],"18":[0,5474],"24":[0,5494]},"zoo":{"12":[0,5520],"18":[0,5534],"24":[0,5554]},"highway-motorway":{"line":[20,25]},"highway-trunk":{"line":[80,25]},"highway-primary":{"line":[140,25]},"highway-secondary":{"line":[200,25]},"highway-tertiary":{"line":[260,25]},"highway-motorway-link":{"line":[320,25]},"highway-trunk-link":{"line":[380,25]},"highway-primary-link":{"line":[440,25]},"highway-secondary-link":{"line":[500,25]},"highway-tertiary-link":{"line":[560,25]},"highway-residential":{"line":[620,25]},"highway-unclassified":{"line":[680,25]},"highway-service":{"line":[740,25]},"highway-road":{"line":[800,25]},"highway-track":{"line":[860,25]},"highway-living-street":{"line":[920,25]},"highway-path":{"line":[980,25]},"highway-cycleway":{"line":[1040,25]},"highway-footway":{"line":[1100,25]},"highway-bridleway":{"line":[1160,25]},"highway-steps":{"line":[1220,25]},"railway-rail":{"line":[1280,25]},"railway-disused":{"line":[1340,25]},"railway-abandoned":{"line":[1400,25]},"railway-subway":{"line":[1460,25]},"railway-light-rail":{"line":[1520,25]},"railway-monorail":{"line":[1580,25]},"waterway-river":{"line":[1640,25]},"waterway-stream":{"line":[1700,25]},"waterway-canal":{"line":[1760,25]},"waterway-ditch":{"line":[1820,25]},"power-line":{"line":[1880,25]},"other-line":{"line":[1940,25]},"category-roads":{"line":[2000,25]},"category-rail":{"line":[2060,25]},"category-path":{"line":[2120,25]},"category-water":{"line":[2180,25]},"pipeline":{"line":[2300,25]},"relation":{"relation":[20,25]},"restriction":{"relation":[80,25]},"multipolygon":{"relation":[140,25]},"boundary":{"relation":[200,25]},"route":{"relation":[260,25]},"route-road":{"relation":[320,25]},"route-bicycle":{"relation":[380,25]},"route-foot":{"relation":[440,25]},"route-bus":{"relation":[500,25]},"route-train":{"relation":[560,25]},"route-detour":{"relation":[620,25]},"route-tram":{"relation":[680,25]},"route-ferry":{"relation":[740,25]},"route-power":{"relation":[800,25]},"route-pipeline":{"relation":[860,25]},"route-master":{"relation":[920,25]}} \ No newline at end of file +{"circle-stroked":{"12":[42,0],"18":[24,0],"24":[0,0]},"circle":{"12":[96,0],"18":[78,0],"24":[54,0]},"square-stroked":{"12":[150,0],"18":[132,0],"24":[108,0]},"square":{"12":[204,0],"18":[186,0],"24":[162,0]},"triangle-stroked":{"12":[258,0],"18":[240,0],"24":[216,0]},"triangle":{"12":[42,24],"18":[24,24],"24":[0,24]},"star-stroked":{"12":[96,24],"18":[78,24],"24":[54,24]},"star":{"12":[150,24],"18":[132,24],"24":[108,24]},"cross":{"12":[204,24],"18":[186,24],"24":[162,24]},"marker-stroked":{"12":[258,24],"18":[240,24],"24":[216,24]},"marker":{"12":[42,48],"18":[24,48],"24":[0,48]},"religious-jewish":{"12":[96,48],"18":[78,48],"24":[54,48]},"religious-christian":{"12":[150,48],"18":[132,48],"24":[108,48]},"religious-muslim":{"12":[204,48],"18":[186,48],"24":[162,48]},"cemetery":{"12":[258,48],"18":[240,48],"24":[216,48]},"rocket":{"12":[42,72],"18":[24,72],"24":[0,72]},"airport":{"12":[96,72],"18":[78,72],"24":[54,72]},"heliport":{"12":[150,72],"18":[132,72],"24":[108,72]},"rail":{"12":[204,72],"18":[186,72],"24":[162,72]},"rail-underground":{"12":[258,72],"18":[240,72],"24":[216,72]},"rail-above":{"12":[42,96],"18":[24,96],"24":[0,96]},"bus":{"12":[96,96],"18":[78,96],"24":[54,96]},"fuel":{"12":[150,96],"18":[132,96],"24":[108,96]},"parking":{"12":[204,96],"18":[186,96],"24":[162,96]},"parking-garage":{"12":[258,96],"18":[240,96],"24":[216,96]},"airfield":{"12":[42,120],"18":[24,120],"24":[0,120]},"roadblock":{"12":[96,120],"18":[78,120],"24":[54,120]},"ferry":{"12":[150,120],"18":[132,120],"24":[108,120],"line":[2240,25]},"harbor":{"12":[204,120],"18":[186,120],"24":[162,120]},"bicycle":{"12":[258,120],"18":[240,120],"24":[216,120]},"park":{"12":[42,144],"18":[24,144],"24":[0,144]},"park2":{"12":[96,144],"18":[78,144],"24":[54,144]},"museum":{"12":[150,144],"18":[132,144],"24":[108,144]},"lodging":{"12":[204,144],"18":[186,144],"24":[162,144]},"monument":{"12":[258,144],"18":[240,144],"24":[216,144]},"zoo":{"12":[42,168],"18":[24,168],"24":[0,168]},"garden":{"12":[96,168],"18":[78,168],"24":[54,168]},"campsite":{"12":[150,168],"18":[132,168],"24":[108,168]},"theatre":{"12":[204,168],"18":[186,168],"24":[162,168]},"art-gallery":{"12":[258,168],"18":[240,168],"24":[216,168]},"pitch":{"12":[42,192],"18":[24,192],"24":[0,192]},"soccer":{"12":[96,192],"18":[78,192],"24":[54,192]},"america-football":{"12":[150,192],"18":[132,192],"24":[108,192]},"tennis":{"12":[204,192],"18":[186,192],"24":[162,192]},"basketball":{"12":[258,192],"18":[240,192],"24":[216,192]},"baseball":{"12":[42,216],"18":[24,216],"24":[0,216]},"golf":{"12":[96,216],"18":[78,216],"24":[54,216]},"swimming":{"12":[150,216],"18":[132,216],"24":[108,216]},"cricket":{"12":[204,216],"18":[186,216],"24":[162,216]},"skiing":{"12":[258,216],"18":[240,216],"24":[216,216]},"school":{"12":[42,240],"18":[24,240],"24":[0,240]},"college":{"12":[96,240],"18":[78,240],"24":[54,240]},"library":{"12":[150,240],"18":[132,240],"24":[108,240]},"post":{"12":[204,240],"18":[186,240],"24":[162,240]},"fire-station":{"12":[258,240],"18":[240,240],"24":[216,240]},"town-hall":{"12":[42,264],"18":[24,264],"24":[0,264]},"police":{"12":[96,264],"18":[78,264],"24":[54,264]},"prison":{"12":[150,264],"18":[132,264],"24":[108,264]},"embassy":{"12":[204,264],"18":[186,264],"24":[162,264]},"beer":{"12":[258,264],"18":[240,264],"24":[216,264]},"restaurant":{"12":[42,288],"18":[24,288],"24":[0,288]},"cafe":{"12":[96,288],"18":[78,288],"24":[54,288]},"shop":{"12":[150,288],"18":[132,288],"24":[108,288]},"fast-food":{"12":[204,288],"18":[186,288],"24":[162,288]},"bar":{"12":[258,288],"18":[240,288],"24":[216,288]},"bank":{"12":[42,312],"18":[24,312],"24":[0,312]},"grocery":{"12":[96,312],"18":[78,312],"24":[54,312]},"cinema":{"12":[150,312],"18":[132,312],"24":[108,312]},"pharmacy":{"12":[204,312],"18":[186,312],"24":[162,312]},"hospital":{"12":[258,312],"18":[240,312],"24":[216,312]},"danger":{"12":[42,336],"18":[24,336],"24":[0,336]},"industrial":{"12":[96,336],"18":[78,336],"24":[54,336]},"warehouse":{"12":[150,336],"18":[132,336],"24":[108,336]},"commercial":{"12":[204,336],"18":[186,336],"24":[162,336]},"building":{"12":[258,336],"18":[240,336],"24":[216,336]},"place-of-worship":{"12":[42,360],"18":[24,360],"24":[0,360]},"alcohol-shop":{"12":[96,360],"18":[78,360],"24":[54,360]},"logging":{"12":[150,360],"18":[132,360],"24":[108,360]},"oil-well":{"12":[204,360],"18":[186,360],"24":[162,360]},"slaughterhouse":{"12":[258,360],"18":[240,360],"24":[216,360]},"dam":{"12":[42,384],"18":[24,384],"24":[0,384]},"water":{"12":[96,384],"18":[78,384],"24":[54,384]},"wetland":{"12":[150,384],"18":[132,384],"24":[108,384]},"disability":{"12":[204,384],"18":[186,384],"24":[162,384]},"telephone":{"12":[258,384],"18":[240,384],"24":[216,384]},"emergency-telephone":{"12":[42,408],"18":[24,408],"24":[0,408]},"toilets":{"12":[96,408],"18":[78,408],"24":[54,408]},"waste-basket":{"12":[150,408],"18":[132,408],"24":[108,408]},"music":{"12":[204,408],"18":[186,408],"24":[162,408]},"land-use":{"12":[258,408],"18":[240,408],"24":[216,408]},"city":{"12":[42,432],"18":[24,432],"24":[0,432]},"town":{"12":[96,432],"18":[78,432],"24":[54,432]},"village":{"12":[150,432],"18":[132,432],"24":[108,432]},"farm":{"12":[204,432],"18":[186,432],"24":[162,432]},"bakery":{"12":[258,432],"18":[240,432],"24":[216,432]},"dog-park":{"12":[42,456],"18":[24,456],"24":[0,456]},"lighthouse":{"12":[96,456],"18":[78,456],"24":[54,456]},"clothing-store":{"12":[150,456],"18":[132,456],"24":[108,456]},"london-underground":{"12":[204,456],"18":[186,456],"24":[162,456]},"minefield":{"12":[258,456],"18":[240,456],"24":[216,456]},"camera":{"12":[42,480],"18":[24,480],"24":[0,480]},"highway-motorway":{"line":[20,25]},"highway-trunk":{"line":[80,25]},"highway-primary":{"line":[140,25]},"highway-secondary":{"line":[200,25]},"highway-tertiary":{"line":[260,25]},"highway-motorway-link":{"line":[320,25]},"highway-trunk-link":{"line":[380,25]},"highway-primary-link":{"line":[440,25]},"highway-secondary-link":{"line":[500,25]},"highway-tertiary-link":{"line":[560,25]},"highway-residential":{"line":[620,25]},"highway-unclassified":{"line":[680,25]},"highway-service":{"line":[740,25]},"highway-road":{"line":[800,25]},"highway-track":{"line":[860,25]},"highway-living-street":{"line":[920,25]},"highway-path":{"line":[980,25]},"highway-cycleway":{"line":[1040,25]},"highway-footway":{"line":[1100,25]},"highway-bridleway":{"line":[1160,25]},"highway-steps":{"line":[1220,25]},"railway-rail":{"line":[1280,25]},"railway-disused":{"line":[1340,25]},"railway-abandoned":{"line":[1400,25]},"railway-subway":{"line":[1460,25]},"railway-light-rail":{"line":[1520,25]},"railway-monorail":{"line":[1580,25]},"waterway-river":{"line":[1640,25]},"waterway-stream":{"line":[1700,25]},"waterway-canal":{"line":[1760,25]},"waterway-ditch":{"line":[1820,25]},"power-line":{"line":[1880,25]},"other-line":{"line":[1940,25]},"category-roads":{"line":[2000,25]},"category-rail":{"line":[2060,25]},"category-path":{"line":[2120,25]},"category-water":{"line":[2180,25]},"pipeline":{"line":[2300,25]},"relation":{"relation":[20,25]},"restriction":{"relation":[80,25]},"multipolygon":{"relation":[140,25]},"boundary":{"relation":[200,25]},"route":{"relation":[260,25]},"route-road":{"relation":[320,25]},"route-bicycle":{"relation":[380,25]},"route-foot":{"relation":[440,25]},"route-bus":{"relation":[500,25]},"route-train":{"relation":[560,25]},"route-detour":{"relation":[620,25]},"route-tram":{"relation":[680,25]},"route-ferry":{"relation":[740,25]},"route-power":{"relation":[800,25]},"route-pipeline":{"relation":[860,25]},"route-master":{"relation":[920,25]}} \ No newline at end of file diff --git a/data/maki_sprite.js b/data/maki_sprite.js index f459a69b4..1af307e58 100644 --- a/data/maki_sprite.js +++ b/data/maki_sprite.js @@ -1,63 +1,54 @@ var fs = require('fs'); -var path = require('path'); -var sprite = require('node-sprite'); var _ = require('../js/lib/lodash'); -var makipath = './node_modules/maki'; +var maki = require('maki/www/maki-sprite.json'); var lineIcons = require('./line-icons.json'); var relationIcons = require('./relation-icons.json'); -sprite.sprite('renders', { path: makipath }, function(err, makiSprite) { - if (err) process.exit(1); +// Generate CSS +var template = '.feature-{name}{background-position:-{x}px -{y}px;}\n'; +var css = "/* This file is generated by make. Do NOT edit manually. */\n\n"; +css += ".preset-icon{background-image:url(img/maki-sprite.png);background-repeat:no-repeat;width:24px;height:24px;}\n"; +css += ".preset-icon-line{background-image:url(img/line-presets.png);background-repeat:no-repeat;width:60px;height:60px;}\n"; +css += ".preset-icon-relation{background-image:url(img/relation-presets.png);background-repeat:no-repeat;width:60px;height:60px;}\n"; - // Move image files - fs.renameSync(path.join(makipath, makiSprite.filename()), './dist/img/maki-sprite.png'); +var images = {}; - // Generate CSS - var template = '.feature-{name}{background-position:-{x}px -{y}px;}\n'; - var css = "/* This file is generated by make. Do NOT edit manually. */\n\n"; - css += ".preset-icon{background-image:url(img/maki-sprite.png);background-repeat:no-repeat;width:24px;height:24px;}\n"; - css += ".preset-icon-line{background-image:url(img/line-presets.png);background-repeat:no-repeat;width:60px;height:60px;}\n"; - css += ".preset-icon-relation{background-image:url(img/relation-presets.png);background-repeat:no-repeat;width:60px;height:60px;}\n"; +_.forEach(maki, function(dimensions, name) { + var match = name.match(/(.*)-(12|18|24)/), + name = match[1], + size = match[2], + group = images[name] = images[name] || {}; + group[size] = [dimensions.x, dimensions.y]; - var images = {}; - - makiSprite.images.forEach(function(image) { - var match = image.name.match(/(.*)-(12|18|24)/), - name = match[1], - size = match[2], - group = images[name] = images[name] || {}; - group[size] = [image.positionX, image.positionY]; - - if (image.width === 24) { - css += template.replace('{name}', image.name.replace('-24', '')) - .replace('{x}', image.positionX) - .replace('{y}', image.positionY); - } - }); - - template = '.preset-icon-line.feature-{name}{background-position:-{x}px -{y}px;}\n'; - - _.forEach(lineIcons, function(position, name) { - css += template.replace('{name}', name) - .replace('{x}', position[0]) - .replace('{y}', position[1]); - - images[name] = images[name] || {}; - images[name].line = position; - }); - - template = '.preset-icon-relation.feature-{name}{background-position:-{x}px -{y}px;}\n'; - - _.forEach(relationIcons, function(position, name) { - css += template.replace('{name}', name) - .replace('{x}', position[0]) - .replace('{y}', position[1]); - - images[name] = images[name] || {}; - images[name].relation = position; - }); - - fs.writeFileSync('./css/feature-icons.css', css); - fs.writeFileSync('./data/feature-icons.json', JSON.stringify(images)); + if (dimensions.width === 24) { + css += template.replace('{name}', name.replace('-24', '')) + .replace('{x}', dimensions.x) + .replace('{y}', dimensions.y); + } }); + +template = '.preset-icon-line.feature-{name}{background-position:-{x}px -{y}px;}\n'; + +_.forEach(lineIcons, function(position, name) { + css += template.replace('{name}', name) + .replace('{x}', position[0]) + .replace('{y}', position[1]); + + images[name] = images[name] || {}; + images[name].line = position; +}); + +template = '.preset-icon-relation.feature-{name}{background-position:-{x}px -{y}px;}\n'; + +_.forEach(relationIcons, function(position, name) { + css += template.replace('{name}', name) + .replace('{x}', position[0]) + .replace('{y}', position[1]); + + images[name] = images[name] || {}; + images[name].relation = position; +}); + +fs.writeFileSync('./css/feature-icons.css', css); +fs.writeFileSync('./data/feature-icons.json', JSON.stringify(images)); diff --git a/dist/img/maki-sprite.png b/dist/img/maki-sprite.png index cbcba82e2..c08296146 100644 Binary files a/dist/img/maki-sprite.png and b/dist/img/maki-sprite.png differ diff --git a/package.json b/package.json index 3e3b52e8c..ca1c09181 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "d3": "3.3.8", "smash": "0.0", "uglify-js": "~2.2.5", - "maki": "0.1", + "maki": "0.3", "jshint": "2.3.0", "mocha": "~1.12", "mocha-phantomjs": "~3.1.0", @@ -35,7 +35,6 @@ "js-yaml": "~2.0.3", "request": "~2.16.2", "jsonschema": "~0.3.2", - "node-sprite": "~0.1.2", "delve": "0.2", "editor-imagery-index": "git://github.com/osmlab/editor-imagery-index.git#gh-pages" },