95 require(path.join(__dirname,'..','..', 'bower_components/ammap3/ammap/maps/js/worldLow.js')); |
96 require(path.join(__dirname,'..','..', 'bower_components/ammap3/ammap/maps/js/worldLow.js')); |
96 require(path.join(__dirname,'..','..', 'bower_components/ammap3/ammap/maps/js/continentsLow.js')); |
97 require(path.join(__dirname,'..','..', 'bower_components/ammap3/ammap/maps/js/continentsLow.js')); |
97 require(path.join(__dirname,'..','..', 'bower_components/ammap3/ammap/maps/js/france2016Low.js')); |
98 require(path.join(__dirname,'..','..', 'bower_components/ammap3/ammap/maps/js/france2016Low.js')); |
98 |
99 |
99 |
100 |
100 function convert_path_id(map, ids) { |
101 const geonamesUsername = process.argv[2]; |
101 map['svg']['g']['path'] = _.map(map['svg']['g']['path'], function(path) { |
102 |
102 return _.defaults( { 'id': ids[path['id']] } ,path ); |
103 http.globalAgent.maxSockets = 20; |
103 }) |
104 |
104 return map; |
105 function requestq(url) { |
|
106 var deferred = Q.defer(); |
|
107 request(url, (error, resp, body) => { |
|
108 if (!error && resp.statusCode == 200) { |
|
109 deferred.resolve(body); |
|
110 } else { |
|
111 defaultStatus.reject(error, resp); |
|
112 } |
|
113 }); |
|
114 return deferred.promise; |
105 } |
115 } |
106 |
116 |
107 fs.writeFileSync( |
117 function convert_path_id(map, ids) { |
108 path.join(__dirname,'..','..','vendor/data/maps/france2016Low.js'), |
118 return Q.all(_.map(map['svg']['g']['path'], (path) => { |
109 "AmCharts.maps.france2016Low=" + JSON.stringify(convert_path_id(AmCharts.maps.france2016Low, regionsGeonamesIds), null, '\t') |
119 let geonamesId = ids[path['id']]; |
110 ); |
120 return requestq("http://api.geonames.org/getJSON?formatted=true&geonameId="+geonamesId+"&username="+geonamesUsername+"&style=full").then((body)=>{ |
|
121 let geoInfo = JSON.parse(body); |
|
122 let name = null; |
|
123 _.each(geoInfo["alternateNames"], (alName) => { |
|
124 if(alName['lang'] == 'fr' && (alName['isPreferredName'] || name == null) && !alName['isHistoric']) { |
|
125 name = alName['name']; |
|
126 } |
|
127 }); |
|
128 name = name || path['title']; |
|
129 return _.defaults( { 'id': geonamesId, 'title': name } ,path ); |
|
130 }); |
|
131 })).then((paths) => { |
|
132 map['svg']['g']['path'] = paths; |
|
133 return map; |
|
134 }); |
|
135 } |
111 |
136 |
112 fs.writeFileSync( |
137 convert_path_id(AmCharts.maps.france2016Low, regionsGeonamesIds).then((map)=> { |
113 path.join(__dirname,'..','..','vendor/data/maps/continentsLow.js'), |
138 fs.writeFileSync( |
114 "AmCharts.maps.continentsLow=" + JSON.stringify(convert_path_id(AmCharts.maps.continentsLow, continentGeonamesIds), null, '\t') |
139 path.join(__dirname,'..','..','vendor/data/maps/france2016Low.js'), |
115 ); |
140 "AmCharts.maps.france2016Low=" + JSON.stringify(map, null, '\t') |
|
141 ); |
|
142 }).done(); |
116 |
143 |
117 fs.writeFileSync( |
144 convert_path_id(AmCharts.maps.continentsLow, continentGeonamesIds).then((map)=> { |
118 path.join(__dirname,'..','..','vendor/data/maps/worldLow.js'), |
145 fs.writeFileSync( |
119 "AmCharts.maps.worldLow=" + JSON.stringify(convert_path_id(AmCharts.maps.worldLow, contriesGeonamesIds), null, '\t') |
146 path.join(__dirname,'..','..','vendor/data/maps/continentsLow.js'), |
120 ); |
147 "AmCharts.maps.continentsLow=" + JSON.stringify(map, null, '\t') |
|
148 ); |
|
149 }).done(); |
|
150 |
|
151 convert_path_id(AmCharts.maps.worldLow, contriesGeonamesIds).then((map)=> { |
|
152 fs.writeFileSync( |
|
153 path.join(__dirname,'..','..','vendor/data/maps/worldLow.js'), |
|
154 "AmCharts.maps.worldLow=" + JSON.stringify(map, null, '\t') |
|
155 ); |
|
156 }).done(); |
|
157 |
|
158 |
|
159 // fs.writeFileSync( |
|
160 // path.join(__dirname,'..','..','vendor/data/maps/continentsLow.js'), |
|
161 // "AmCharts.maps.continentsLow=" + JSON.stringify(convert_path_id(AmCharts.maps.continentsLow, continentGeonamesIds), null, '\t') |
|
162 // ); |
|
163 |
|
164 // fs.writeFileSync( |
|
165 // path.join(__dirname,'..','..','vendor/data/maps/worldLow.js'), |
|
166 // "AmCharts.maps.worldLow=" + JSON.stringify(convert_path_id(AmCharts.maps.worldLow, contriesGeonamesIds), null, '\t') |
|
167 // ); |