function makeLandmark(name, height, image) { views = { building: { attributes: { height: { name: "Height", power: 1, type: "length", base: height } }, image: image, name: "building" }, }; return makeEntity({ name: name }, views); } function makeLandmarks() { const results = []; results.push({ name: "Burj Khalifa", constructor: () => makeLandmark( "Burj Khalifa", math.unit(829.8, "meter"), { source: "./media/landmarks/burj-khalifa.svg" } ) }); results.push({ name: "Canton Tower", constructor: () => makeLandmark( "Canton Tower", math.unit(604, "meter"), { source: "./media/landmarks/canton-tower.svg" } ) }); results.push({ name: "CN Tower", constructor: () => makeLandmark( "CN Tower", math.unit(553.3, "meter"), { source: "./media/landmarks/cn-tower.svg" } ) }); results.push({ name: "Taipei 101", constructor: () => makeLandmark( "Taipei 101", math.unit(509.2, "meter"), { source: "./media/landmarks/taipei-101.svg" } ) }); results.push({ name: "Empire State Building", constructor: () => makeLandmark( "Empire State Building", math.unit(443.2, "meter"), { source: "./media/landmarks/empire-state-building.svg" } ) }); results.push({ name: "Eiffel Tower", constructor: () => makeLandmark( "Eiffel Tower", math.unit(324, "meter"), { source: "./media/landmarks/eiffel-tower.svg" } ) }); results.push({ name: "Chrysler Building", constructor: () => makeLandmark( "Chrysler Building", math.unit(318.9, "meter"), { source: "./media/landmarks/chrysler-building.svg" } ) }); results.push({ name: "Gateway Arch", constructor: () => makeLandmark( "Gateway Arch", math.unit(630, "feet"), { source: "./media/landmarks/gateway-arch.svg" } ) }); results.push({ name: "Washington Monument", constructor: () => makeLandmark( "Washington Monument", math.unit(555 + 5 / 12, "feet"), { source: "./media/landmarks/washington-monument.svg" } ) }); results.push({ name: "Great Pyramid of Giza", constructor: () => makeLandmark( "Great Pyramid of Giza", math.unit(146, "meters"), { source: "./media/landmarks/pyramid.svg" } ) }); results.push({ name: "Statue of Liberty", constructor: () => makeLandmark( "Statue of Liberty", math.unit(305.5, "feet"), { source: "./media/landmarks/statue-of-liberty.svg" } ) }); results.push({ name: "Leaning Tower of Pisa", constructor: () => makeLandmark( "Leaning Tower of Pisa", math.unit(185.93, "feet"), { source: "./media/landmarks/leaning-tower-of-pisa.svg", bottom: 84 / 3755 } ) }); results.push({ name: "Elizabeth Tower", constructor: () => makeLandmark( "Elizabeth Tower", math.unit(315, "feet"), { source: "./media/landmarks/elizabeth-tower.svg" } ) }); results.sort((b1, b2) => { e1 = b1.constructor(); e2 = b2.constructor(); return -math.subtract(e1.views[e1.defaultView].height, e2.views[e2.defaultView].height).value; }); return results; }