Advertisement
Guest User

Untitled

a guest
Jul 4th, 2015
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.53 KB | None | 0 0
  1. /*global _:false */
  2.  
  3. /**
  4. * nom
  5. * code
  6. * type
  7. * Site parent
  8. * Service mainteneur
  9. * long
  10. * lat
  11. */
  12.  
  13.  
  14. var _ = require('lodash');
  15.  
  16. var input = require('./highways.json');
  17. var elements = input.elements;
  18. var names = [];
  19. var name;
  20. var data = {};
  21.  
  22. _.forEach(elements, function (element) {
  23. if (!element.tags){
  24. return;
  25. }
  26. if (!element.tags.name) {
  27. return;
  28. }
  29. name = element.tags.name;
  30. if (!_.contains(names, name)) {
  31. names.push(name);
  32. data[element.id] = {
  33. name: element.tags.name,
  34. type: element.tags.highway
  35. };
  36. if (element.type === 'node') {
  37. data[element.id].long = element.lon;
  38. data[element.id].lat = element.lat;
  39. }
  40. if (element.type === 'way') {
  41. var nodeid = element.nodes[0];
  42. _.forEach(elements, function (node) {
  43. if (node.type === 'node' && node.id === nodeid) {
  44. data[element.id].long = node.lon;
  45. data[element.id].lat = node.lat;
  46. }
  47. });
  48. }
  49. } else {
  50. _.forOwn(data, function (value, key) {
  51. if (value.name === name && element.type === 'node' && !value.lat) {
  52. value.long = element.lon;
  53. value.lat = element.lat;
  54. }
  55. });
  56. }
  57. });
  58.  
  59. var str;
  60. _.forOwn(data, function (value, key) {
  61. str = value.name + ';osm_highway_' + value.type + '_' + key + ';RTE;;';
  62. if (value.lat) {
  63. str += value.long + ';' + value.lat;
  64. }
  65. console.log(str);
  66. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement