Transforming a PSV File to JSON

<h3 class="entry-title">Transforming a PSV File to JSON</h3>
Posted on



Description

Being from Colorado, I am an avid hiker and enjoy checking off 14er's ( a mountain over 14,000 feet ) whenever possible.

I came across a Spreadsheet of the all of the peaks and wanted to transform the content to JSON and have the peaks grouped by the mountain range they are in.

To avoid using a CSV parsing libray, I exported the content as a Pipe Separated Value because the elevation values contain a comma.

By default the script outputs the JSON content to the terminal, but you can append the output to a new file by running the command below.

node transform-data.js > formatted_results.json
Relevant Files
1|Mount Elbert|Sawatch Range|4401.2 m|14,440 ft|2772 m|9,093 ft|1,079 km|671 mi|39.1178°N 106.4454°W
2|Mount Massive|Sawatch Range|4398 m|14,428 ft|598 m|1,961 ft|8.14 km|5.06 mi|39.1875°N 106.4757°W
3|Mount Harvard|Sawatch Range|4395.6 m|14,421 ft|719 m|2,360 ft|24.0 km|14.93 mi|38.9244°N 106.3207°W
4|Blanca Peak|Sangre de Cristo Range|4374 m|14,351 ft|1623 m|5,326 ft|166.4 km|103.4 mi|37.5775°N 105.4856°W
5|La Plata Peak|Sawatch Range|4372 m|14,343 ft|560 m|1,836 ft|10.11 km|6.28 mi|39.0294°N 106.4729°W
6|Uncompahgre Peak|San Juan Mountains|4365.0 m|14,321 ft|1304 m|4,277 ft|136.9 km|85.1 mi|38.0717°N 107.4621°W
7|Crestone Peak|Sangre de Cristo Range|4359 m|14,300 ft|1388 m|4,554 ft|44.1 km|27.4 mi|37.9669°N 105.5855°W
8|Mount Lincoln|Mosquito Range|4356.5 m|14,293 ft|1177 m|3,862 ft|36.3 km|22.6 mi|39.3515°N 106.1116°W
9|Castle Peak|Elk Mountains|4352.2 m|14,279 ft|721 m|2,365 ft|33.7 km|20.9 mi|39.0097°N 106.8614°W
10|Grays Peak|Front Range|4352 m|14,278 ft|844 m|2,770 ft|40.3 km|25.0 mi|39.6339°N 105.8176°W
11|Mount Antero|Sawatch Range|4351.4 m|14,276 ft|763 m|2,503 ft|28.6 km|17.75 mi|38.6741°N 106.2462°W
12|Torreys Peak|Front Range|4351 m|14,275 ft|171 m|560 ft|1.05 km|0.65 mi|39.6428°N 105.8212°W
13|Quandary Peak|Mosquito Range|4349.9 m|14,271 ft|343 m|1,125 ft|5.09 km|3.16 mi|39.3973°N 106.1064°W
14|Mount Evans|Front Range|4350 m|14,271 ft|844 m|2,770 ft|15.76 km|9.79 mi|39.5883°N 105.6438°W
15|Longs Peak|Front Range|4346 m|14,259 ft|896 m|2,940 ft|70.2 km|43.6 mi|40.2550°N 105.6151°W
16|Mount Wilson|San Miguel Mountains|4344 m|14,252 ft|1227 m|4,024 ft|53.2 km|33.1 mi|37.8391°N 107.9916°W
17|Mount Shavano|Sawatch Range|4337.7 m|14,231 ft|493 m|1,619 ft|6.09 km|3.78 mi|38.6192°N 106.2393°W
18|Mount Princeton|Sawatch Range|4329.3 m|14,204 ft|664 m|2,177 ft|8.36 km|5.19 mi|38.7492°N 106.2424°W
19|Mount Belford|Sawatch Range|4329.1 m|14,203 ft|408 m|1,337 ft|5.31 km|3.30 mi|38.9607°N 106.3607°W
20|Crestone Needle|Sangre de Cristo Range|4329 m|14,203 ft|139 m|457 ft|0.72 km|0.45 mi|37.9647°N 105.5766°W
21|Mount Yale|Sawatch Range|4328.2 m|14,200 ft|578 m|1,896 ft|8.93 km|5.55 mi|38.8442°N 106.3138°W
22|Mount Bross|Mosquito Range|4321.6 m|14,178 ft|95 m|312 ft|1.60 km|0.99 mi|39.3354°N 106.1077°W
23|Kit Carson Mountain|Sangre de Cristo Range|4319 m|14,171 ft|312 m|1,025 ft|2.05 km|1.27 mi|37.9797°N 105.6026°W
24|Maroon Peak|Elk Mountains|4317.0 m|14,163 ft|712 m|2,336 ft|12.97 km|8.06 mi|39.0708°N 106.9890°W
25|Tabeguache Peak|Sawatch Range|4316.7 m|14,162 ft|139 m|455 ft|1.21 km|0.75 mi|38.6255°N 106.2509°W
26|Mount Oxford (Colorado)|Collegiate Peaks|4315.9 m|14,160 ft|199 m|653 ft|1.97 km|1.22 mi|38.9648°N 106.3388°W
27|Mount Sneffels|Sneffels Range|4315.4 m|14,158 ft|930 m|3,050 ft|25.3 km|15.73 mi|38.0038°N 107.7923°W
28|Mount Democrat|Mosquito Range|4314.5 m|14,155 ft|234 m|768 ft|2.04 km|1.27 mi|39.3396°N 106.1400°W
29|Capitol Peak|Elk Mountains|4309 m|14,137 ft|533 m|1,750 ft|11.98 km|7.44 mi|39.1503°N 107.0829°W
30|Pikes Peak|Front Range|4302.31 m|14,115 ft|1686 m|5,530 ft|97.8 km|60.8 mi|38.8405°N 105.0442°W
31|Snowmass Mountain|Elk Mountains|4297.3 m|14,099 ft|351 m|1,152 ft|3.77 km|2.34 mi|39.1188°N 107.0665°W
32|Windom Peak|Needle Mountains|4296 m|14,093 ft|667 m|2,187 ft|42.4 km|26.4 mi|37.6212°N 107.5919°W
33|Mount Eolus|San Juan Mountains|4295 m|14,090 ft|312 m|1,024 ft|2.72 km|1.69 mi|37.6218°N 107.6227°W
34|Challenger Point|Sangre de Cristo Range|4294 m|14,087 ft|92 m|301 ft|0.36 km|0.22 mi|37.9804°N 105.6066°W
35|Mount Columbia|Sawatch Range|4290.8 m|14,077 ft|272 m|893 ft|3.05 km|1.90 mi|38.9039°N 106.2975°W
36|Missouri Mountain|Sawatch Range|4289.8 m|14,074 ft|258 m|847 ft|2.11 km|1.31 mi|38.9476°N 106.3785°W
37|Humboldt Peak|Sangre de Cristo Range|4289 m|14,070 ft|367 m|1,204 ft|2.27 km|1.41 mi|37.9762°N 105.5552°W
38|Mount Bierstadt|Front Range|4287 m|14,065 ft|219 m|720 ft|1.80 km|1.12 mi|39.5826°N 105.6688°W
39|Sunlight Peak|San Juan Mountains|4287 m|14,065 ft|122 m|399 ft|0.77 km|0.48 mi|37.6274°N 107.5959°W
40|Handies Peak|San Juan Mountains|4284.8 m|14,058 ft|582 m|1,908 ft|18.00 km|11.18 mi|37.9130°N 107.5044°W
41|Culebra Peak|Culebra Range|4283 m|14,053 ft|1471 m|4,827 ft|57.1 km|35.5 mi|37.1224°N 105.1858°W
42|Ellingwood Point|Sangre de Cristo Range|4282 m|14,048 ft|104 m|342 ft|0.83 km|0.52 mi|37.5826°N 105.4927°W
43|Mount Lindsey|Sangre de Cristo Range|4282 m|14,048 ft|470 m|1,542 ft|3.64 km|2.26 mi|37.5837°N 105.4449°W
44|Little Bear Peak|Sangre de Cristo Range|4280 m|14,043 ft|115 m|377 ft|1.58 km|0.98 mi|37.5666°N 105.4972°W
45|Mount Sherman|Mosquito Range|4280 m|14,043 ft|259 m|850 ft|12.97 km|8.06 mi|39.2250°N 106.1699°W
46|Redcloud Peak|San Juan Mountains|4280 m|14,041 ft|438 m|1,436 ft|7.90 km|4.91 mi|37.9410°N 107.4219°W
47|Pyramid Peak|Elk Mountains|4274.7 m|14,025 ft|499 m|1,638 ft|3.36 km|2.09 mi|39.0717°N 106.9502°W
48|Wilson Peak|San Juan Mountains|4274 m|14,023 ft|261 m|857 ft|2.43 km|1.51 mi|37.8603°N 107.9847°W
49|San Luis Peak|La Garita Mountains|4273.8 m|14,022 ft|949 m|3,113 ft|43.4 km|27.0 mi|37.9868°N 106.9313°W
50|Wetterhorn Peak|San Juan Mountains|4274 m|14,021 ft|498 m|1,635 ft|4.45 km|2.77 mi|38.0607°N 107.5109°W
51|Mount of the Holy Cross|Sawatch Range|4270.5 m|14,011 ft|644 m|2,113 ft|29.8 km|18.52 mi|39.4668°N 106.4817°W
52|Huron Peak|Sawatch Range|4270.2 m|14,010 ft|434 m|1,423 ft|5.16 km|3.21 mi|38.9455°N 106.4381°W
53|Sunshine Peak|San Juan Mountains|4269 m|14,007 ft|153 m|501 ft|2.05 km|1.27 mi|37.9228°N 107.4256°W
const fs = require('fs');
const utils = {
  groupBy: function(xs, key) {
          return xs.reduce((rv, x) => {
            (rv[x[key]] = rv[x[key]] || []).push(x);
            return rv;
          }, {});
  }
}
// Create Asynchronous version of readFile and writeFile by wrapping them with a native promise.
fs.readFileAsync = function (filename) {
    return new Promise(function (resolve, reject) {
        try {
            fs.readFile(filename, 'utf8', function(err, buffer){
                if (err) reject(err); else resolve(buffer);
            });
        } catch (err) {
            reject(err);
        }
    });
};

fs.writeFileAsync = function (filename) {
    return new Promise( (resolve, reject) => {
        try {
            fs.writeFile(filename, 'utf8', (err, buffer) => {
                if (err) reject(err); else resolve(buffer);
            });
        } catch (err) {
            reject(err);
        }
    });
};



// Main Execution
fs.readFileAsync('./14ers.psv').then( file => { 
 const headers= [
	'number',
	'name', 
	'range', 
	'elevation_meters', 
	'elevation_feet', 
	'prominence_meters',
	'prominence_feet', 
	'isolation_kilometers', 
	'isolation_miles', 
	'location'];

   const rows = file.split('\n');

   const psvObjects  = rows.map( r => r.split('|'));

   const jsonObjects = psvObjects.map( (p) => Object.assign({}, ...headers.map((h, index) => ({[h]: p[index]}))));

   const groupedByRange = utils.groupBy(jsonObjects, 'range');

   // Remove range from subitem.
   const groupedByRangev2 = Object.keys(groupedByRange).map(k => {
     let mountains = groupedByRange[k].map( (m, index) => {
	 delete m.range;
         return m;

    });
  
     return Object.assign({ range: k }, { moutains: mountains});
  })

   console.log(JSON.stringify(groupedByRangev2, null, 2));	
   process.exit(0);
  })
  .catch((err) => { 
	console.error(err);
  	process.exit(-1);
   });
[
  {
    "range": "Sawatch Range",
    "moutains": [
      {
        "number": "1",
        "name": "Mount Elbert",
        "elevation_meters": "4401.2 m",
        "elevation_feet": "14,440 ft",
        "prominence_meters": "2772 m",
        "prominence_feet": "9,093 ft",
        "isolation_kilometers": "1,079 km",
        "isolation_miles": "671 mi",
        "location": "39.1178°N 106.4454°W"
      },
      {
        "number": "2",
        "name": "Mount Massive",
        "elevation_meters": "4398 m",
        "elevation_feet": "14,428 ft",
        "prominence_meters": "598 m",
        "prominence_feet": "1,961 ft",
        "isolation_kilometers": "8.14 km",
        "isolation_miles": "5.06 mi",
        "location": "39.1875°N 106.4757°W"
      },
      {
        "number": "3",
        "name": "Mount Harvard",
        "elevation_meters": "4395.6 m",
        "elevation_feet": "14,421 ft",
        "prominence_meters": "719 m",
        "prominence_feet": "2,360 ft",
        "isolation_kilometers": "24.0 km",
        "isolation_miles": "14.93 mi",
        "location": "38.9244°N 106.3207°W"
      },
      {
        "number": "5",
        "name": "La Plata Peak",
        "elevation_meters": "4372 m",
        "elevation_feet": "14,343 ft",
        "prominence_meters": "560 m",
        "prominence_feet": "1,836 ft",
        "isolation_kilometers": "10.11 km",
        "isolation_miles": "6.28 mi",
        "location": "39.0294°N 106.4729°W"
      },
      {
        "number": "11",
        "name": "Mount Antero",
        "elevation_meters": "4351.4 m",
        "elevation_feet": "14,276 ft",
        "prominence_meters": "763 m",
        "prominence_feet": "2,503 ft",
        "isolation_kilometers": "28.6 km",
        "isolation_miles": "17.75 mi",
        "location": "38.6741°N 106.2462°W"
      },
      {
        "number": "17",
        "name": "Mount Shavano",
        "elevation_meters": "4337.7 m",
        "elevation_feet": "14,231 ft",
        "prominence_meters": "493 m",
        "prominence_feet": "1,619 ft",
        "isolation_kilometers": "6.09 km",
        "isolation_miles": "3.78 mi",
        "location": "38.6192°N 106.2393°W"
      },
      {
        "number": "18",
        "name": "Mount Princeton",
        "elevation_meters": "4329.3 m",
        "elevation_feet": "14,204 ft",
        "prominence_meters": "664 m",
        "prominence_feet": "2,177 ft",
        "isolation_kilometers": "8.36 km",
        "isolation_miles": "5.19 mi",
        "location": "38.7492°N 106.2424°W"
      },
      {
        "number": "19",
        "name": "Mount Belford",
        "elevation_meters": "4329.1 m",
        "elevation_feet": "14,203 ft",
        "prominence_meters": "408 m",
        "prominence_feet": "1,337 ft",
        "isolation_kilometers": "5.31 km",
        "isolation_miles": "3.30 mi",
        "location": "38.9607°N 106.3607°W"
      },
      {
        "number": "21",
        "name": "Mount Yale",
        "elevation_meters": "4328.2 m",
        "elevation_feet": "14,200 ft",
        "prominence_meters": "578 m",
        "prominence_feet": "1,896 ft",
        "isolation_kilometers": "8.93 km",
        "isolation_miles": "5.55 mi",
        "location": "38.8442°N 106.3138°W"
      },
      {
        "number": "25",
        "name": "Tabeguache Peak",
        "elevation_meters": "4316.7 m",
        "elevation_feet": "14,162 ft",
        "prominence_meters": "139 m",
        "prominence_feet": "455 ft",
        "isolation_kilometers": "1.21 km",
        "isolation_miles": "0.75 mi",
        "location": "38.6255°N 106.2509°W"
      },
      {
        "number": "35",
        "name": "Mount Columbia",
        "elevation_meters": "4290.8 m",
        "elevation_feet": "14,077 ft",
        "prominence_meters": "272 m",
        "prominence_feet": "893 ft",
        "isolation_kilometers": "3.05 km",
        "isolation_miles": "1.90 mi",
        "location": "38.9039°N 106.2975°W"
      },
      {
        "number": "36",
        "name": "Missouri Mountain",
        "elevation_meters": "4289.8 m",
        "elevation_feet": "14,074 ft",
        "prominence_meters": "258 m",
        "prominence_feet": "847 ft",
        "isolation_kilometers": "2.11 km",
        "isolation_miles": "1.31 mi",
        "location": "38.9476°N 106.3785°W"
      },
      {
        "number": "51",
        "name": "Mount of the Holy Cross",
        "elevation_meters": "4270.5 m",
        "elevation_feet": "14,011 ft",
        "prominence_meters": "644 m",
        "prominence_feet": "2,113 ft",
        "isolation_kilometers": "29.8 km",
        "isolation_miles": "18.52 mi",
        "location": "39.4668°N 106.4817°W"
      },
      {
        "number": "52",
        "name": "Huron Peak",
        "elevation_meters": "4270.2 m",
        "elevation_feet": "14,010 ft",
        "prominence_meters": "434 m",
        "prominence_feet": "1,423 ft",
        "isolation_kilometers": "5.16 km",
        "isolation_miles": "3.21 mi",
        "location": "38.9455°N 106.4381°W"
      }
    ]
  },
  {
    "range": "Sangre de Cristo Range",
    "moutains": [
      {
        "number": "4",
        "name": "Blanca Peak",
        "elevation_meters": "4374 m",
        "elevation_feet": "14,351 ft",
        "prominence_meters": "1623 m",
        "prominence_feet": "5,326 ft",
        "isolation_kilometers": "166.4 km",
        "isolation_miles": "103.4 mi",
        "location": "37.5775°N 105.4856°W"
      },
      {
        "number": "7",
        "name": "Crestone Peak",
        "elevation_meters": "4359 m",
        "elevation_feet": "14,300 ft",
        "prominence_meters": "1388 m",
        "prominence_feet": "4,554 ft",
        "isolation_kilometers": "44.1 km",
        "isolation_miles": "27.4 mi",
        "location": "37.9669°N 105.5855°W"
      },
      {
        "number": "20",
        "name": "Crestone Needle",
        "elevation_meters": "4329 m",
        "elevation_feet": "14,203 ft",
        "prominence_meters": "139 m",
        "prominence_feet": "457 ft",
        "isolation_kilometers": "0.72 km",
        "isolation_miles": "0.45 mi",
        "location": "37.9647°N 105.5766°W"
      },
      {
        "number": "23",
        "name": "Kit Carson Mountain",
        "elevation_meters": "4319 m",
        "elevation_feet": "14,171 ft",
        "prominence_meters": "312 m",
        "prominence_feet": "1,025 ft",
        "isolation_kilometers": "2.05 km",
        "isolation_miles": "1.27 mi",
        "location": "37.9797°N 105.6026°W"
      },
      {
        "number": "34",
        "name": "Challenger Point",
        "elevation_meters": "4294 m",
        "elevation_feet": "14,087 ft",
        "prominence_meters": "92 m",
        "prominence_feet": "301 ft",
        "isolation_kilometers": "0.36 km",
        "isolation_miles": "0.22 mi",
        "location": "37.9804°N 105.6066°W"
      },
      {
        "number": "37",
        "name": "Humboldt Peak",
        "elevation_meters": "4289 m",
        "elevation_feet": "14,070 ft",
        "prominence_meters": "367 m",
        "prominence_feet": "1,204 ft",
        "isolation_kilometers": "2.27 km",
        "isolation_miles": "1.41 mi",
        "location": "37.9762°N 105.5552°W"
      },
      {
        "number": "42",
        "name": "Ellingwood Point",
        "elevation_meters": "4282 m",
        "elevation_feet": "14,048 ft",
        "prominence_meters": "104 m",
        "prominence_feet": "342 ft",
        "isolation_kilometers": "0.83 km",
        "isolation_miles": "0.52 mi",
        "location": "37.5826°N 105.4927°W"
      },
      {
        "number": "43",
        "name": "Mount Lindsey",
        "elevation_meters": "4282 m",
        "elevation_feet": "14,048 ft",
        "prominence_meters": "470 m",
        "prominence_feet": "1,542 ft",
        "isolation_kilometers": "3.64 km",
        "isolation_miles": "2.26 mi",
        "location": "37.5837°N 105.4449°W"
      },
      {
        "number": "44",
        "name": "Little Bear Peak",
        "elevation_meters": "4280 m",
        "elevation_feet": "14,043 ft",
        "prominence_meters": "115 m",
        "prominence_feet": "377 ft",
        "isolation_kilometers": "1.58 km",
        "isolation_miles": "0.98 mi",
        "location": "37.5666°N 105.4972°W"
      }
    ]
  },
  {
    "range": "San Juan Mountains",
    "moutains": [
      {
        "number": "6",
        "name": "Uncompahgre Peak",
        "elevation_meters": "4365.0 m",
        "elevation_feet": "14,321 ft",
        "prominence_meters": "1304 m",
        "prominence_feet": "4,277 ft",
        "isolation_kilometers": "136.9 km",
        "isolation_miles": "85.1 mi",
        "location": "38.0717°N 107.4621°W"
      },
      {
        "number": "33",
        "name": "Mount Eolus",
        "elevation_meters": "4295 m",
        "elevation_feet": "14,090 ft",
        "prominence_meters": "312 m",
        "prominence_feet": "1,024 ft",
        "isolation_kilometers": "2.72 km",
        "isolation_miles": "1.69 mi",
        "location": "37.6218°N 107.6227°W"
      },
      {
        "number": "39",
        "name": "Sunlight Peak",
        "elevation_meters": "4287 m",
        "elevation_feet": "14,065 ft",
        "prominence_meters": "122 m",
        "prominence_feet": "399 ft",
        "isolation_kilometers": "0.77 km",
        "isolation_miles": "0.48 mi",
        "location": "37.6274°N 107.5959°W"
      },
      {
        "number": "40",
        "name": "Handies Peak",
        "elevation_meters": "4284.8 m",
        "elevation_feet": "14,058 ft",
        "prominence_meters": "582 m",
        "prominence_feet": "1,908 ft",
        "isolation_kilometers": "18.00 km",
        "isolation_miles": "11.18 mi",
        "location": "37.9130°N 107.5044°W"
      },
      {
        "number": "46",
        "name": "Redcloud Peak",
        "elevation_meters": "4280 m",
        "elevation_feet": "14,041 ft",
        "prominence_meters": "438 m",
        "prominence_feet": "1,436 ft",
        "isolation_kilometers": "7.90 km",
        "isolation_miles": "4.91 mi",
        "location": "37.9410°N 107.4219°W"
      },
      {
        "number": "48",
        "name": "Wilson Peak",
        "elevation_meters": "4274 m",
        "elevation_feet": "14,023 ft",
        "prominence_meters": "261 m",
        "prominence_feet": "857 ft",
        "isolation_kilometers": "2.43 km",
        "isolation_miles": "1.51 mi",
        "location": "37.8603°N 107.9847°W"
      },
      {
        "number": "50",
        "name": "Wetterhorn Peak",
        "elevation_meters": "4274 m",
        "elevation_feet": "14,021 ft",
        "prominence_meters": "498 m",
        "prominence_feet": "1,635 ft",
        "isolation_kilometers": "4.45 km",
        "isolation_miles": "2.77 mi",
        "location": "38.0607°N 107.5109°W"
      },
      {
        "number": "53",
        "name": "Sunshine Peak",
        "elevation_meters": "4269 m",
        "elevation_feet": "14,007 ft",
        "prominence_meters": "153 m",
        "prominence_feet": "501 ft",
        "isolation_kilometers": "2.05 km",
        "isolation_miles": "1.27 mi",
        "location": "37.9228°N 107.4256°W"
      }
    ]
  },
  {
    "range": "Mosquito Range",
    "moutains": [
      {
        "number": "8",
        "name": "Mount Lincoln",
        "elevation_meters": "4356.5 m",
        "elevation_feet": "14,293 ft",
        "prominence_meters": "1177 m",
        "prominence_feet": "3,862 ft",
        "isolation_kilometers": "36.3 km",
        "isolation_miles": "22.6 mi",
        "location": "39.3515°N 106.1116°W"
      },
      {
        "number": "13",
        "name": "Quandary Peak",
        "elevation_meters": "4349.9 m",
        "elevation_feet": "14,271 ft",
        "prominence_meters": "343 m",
        "prominence_feet": "1,125 ft",
        "isolation_kilometers": "5.09 km",
        "isolation_miles": "3.16 mi",
        "location": "39.3973°N 106.1064°W"
      },
      {
        "number": "22",
        "name": "Mount Bross",
        "elevation_meters": "4321.6 m",
        "elevation_feet": "14,178 ft",
        "prominence_meters": "95 m",
        "prominence_feet": "312 ft",
        "isolation_kilometers": "1.60 km",
        "isolation_miles": "0.99 mi",
        "location": "39.3354°N 106.1077°W"
      },
      {
        "number": "28",
        "name": "Mount Democrat",
        "elevation_meters": "4314.5 m",
        "elevation_feet": "14,155 ft",
        "prominence_meters": "234 m",
        "prominence_feet": "768 ft",
        "isolation_kilometers": "2.04 km",
        "isolation_miles": "1.27 mi",
        "location": "39.3396°N 106.1400°W"
      },
      {
        "number": "45",
        "name": "Mount Sherman",
        "elevation_meters": "4280 m",
        "elevation_feet": "14,043 ft",
        "prominence_meters": "259 m",
        "prominence_feet": "850 ft",
        "isolation_kilometers": "12.97 km",
        "isolation_miles": "8.06 mi",
        "location": "39.2250°N 106.1699°W"
      }
    ]
  },
  {
    "range": "Elk Mountains",
    "moutains": [
      {
        "number": "9",
        "name": "Castle Peak",
        "elevation_meters": "4352.2 m",
        "elevation_feet": "14,279 ft",
        "prominence_meters": "721 m",
        "prominence_feet": "2,365 ft",
        "isolation_kilometers": "33.7 km",
        "isolation_miles": "20.9 mi",
        "location": "39.0097°N 106.8614°W"
      },
      {
        "number": "24",
        "name": "Maroon Peak",
        "elevation_meters": "4317.0 m",
        "elevation_feet": "14,163 ft",
        "prominence_meters": "712 m",
        "prominence_feet": "2,336 ft",
        "isolation_kilometers": "12.97 km",
        "isolation_miles": "8.06 mi",
        "location": "39.0708°N 106.9890°W"
      },
      {
        "number": "29",
        "name": "Capitol Peak",
        "elevation_meters": "4309 m",
        "elevation_feet": "14,137 ft",
        "prominence_meters": "533 m",
        "prominence_feet": "1,750 ft",
        "isolation_kilometers": "11.98 km",
        "isolation_miles": "7.44 mi",
        "location": "39.1503°N 107.0829°W"
      },
      {
        "number": "31",
        "name": "Snowmass Mountain",
        "elevation_meters": "4297.3 m",
        "elevation_feet": "14,099 ft",
        "prominence_meters": "351 m",
        "prominence_feet": "1,152 ft",
        "isolation_kilometers": "3.77 km",
        "isolation_miles": "2.34 mi",
        "location": "39.1188°N 107.0665°W"
      },
      {
        "number": "47",
        "name": "Pyramid Peak",
        "elevation_meters": "4274.7 m",
        "elevation_feet": "14,025 ft",
        "prominence_meters": "499 m",
        "prominence_feet": "1,638 ft",
        "isolation_kilometers": "3.36 km",
        "isolation_miles": "2.09 mi",
        "location": "39.0717°N 106.9502°W"
      }
    ]
  },
  {
    "range": "Front Range",
    "moutains": [
      {
        "number": "10",
        "name": "Grays Peak",
        "elevation_meters": "4352 m",
        "elevation_feet": "14,278 ft",
        "prominence_meters": "844 m",
        "prominence_feet": "2,770 ft",
        "isolation_kilometers": "40.3 km",
        "isolation_miles": "25.0 mi",
        "location": "39.6339°N 105.8176°W"
      },
      {
        "number": "12",
        "name": "Torreys Peak",
        "elevation_meters": "4351 m",
        "elevation_feet": "14,275 ft",
        "prominence_meters": "171 m",
        "prominence_feet": "560 ft",
        "isolation_kilometers": "1.05 km",
        "isolation_miles": "0.65 mi",
        "location": "39.6428°N 105.8212°W"
      },
      {
        "number": "14",
        "name": "Mount Evans",
        "elevation_meters": "4350 m",
        "elevation_feet": "14,271 ft",
        "prominence_meters": "844 m",
        "prominence_feet": "2,770 ft",
        "isolation_kilometers": "15.76 km",
        "isolation_miles": "9.79 mi",
        "location": "39.5883°N 105.6438°W"
      },
      {
        "number": "15",
        "name": "Longs Peak",
        "elevation_meters": "4346 m",
        "elevation_feet": "14,259 ft",
        "prominence_meters": "896 m",
        "prominence_feet": "2,940 ft",
        "isolation_kilometers": "70.2 km",
        "isolation_miles": "43.6 mi",
        "location": "40.2550°N 105.6151°W"
      },
      {
        "number": "30",
        "name": "Pikes Peak",
        "elevation_meters": "4302.31 m",
        "elevation_feet": "14,115 ft",
        "prominence_meters": "1686 m",
        "prominence_feet": "5,530 ft",
        "isolation_kilometers": "97.8 km",
        "isolation_miles": "60.8 mi",
        "location": "38.8405°N 105.0442°W"
      },
      {
        "number": "38",
        "name": "Mount Bierstadt",
        "elevation_meters": "4287 m",
        "elevation_feet": "14,065 ft",
        "prominence_meters": "219 m",
        "prominence_feet": "720 ft",
        "isolation_kilometers": "1.80 km",
        "isolation_miles": "1.12 mi",
        "location": "39.5826°N 105.6688°W"
      }
    ]
  },
  {
    "range": "San Miguel Mountains",
    "moutains": [
      {
        "number": "16",
        "name": "Mount Wilson",
        "elevation_meters": "4344 m",
        "elevation_feet": "14,252 ft",
        "prominence_meters": "1227 m",
        "prominence_feet": "4,024 ft",
        "isolation_kilometers": "53.2 km",
        "isolation_miles": "33.1 mi",
        "location": "37.8391°N 107.9916°W"
      }
    ]
  },
  {
    "range": "Collegiate Peaks",
    "moutains": [
      {
        "number": "26",
        "name": "Mount Oxford (Colorado)",
        "elevation_meters": "4315.9 m",
        "elevation_feet": "14,160 ft",
        "prominence_meters": "199 m",
        "prominence_feet": "653 ft",
        "isolation_kilometers": "1.97 km",
        "isolation_miles": "1.22 mi",
        "location": "38.9648°N 106.3388°W"
      }
    ]
  },
  {
    "range": "Sneffels Range",
    "moutains": [
      {
        "number": "27",
        "name": "Mount Sneffels",
        "elevation_meters": "4315.4 m",
        "elevation_feet": "14,158 ft",
        "prominence_meters": "930 m",
        "prominence_feet": "3,050 ft",
        "isolation_kilometers": "25.3 km",
        "isolation_miles": "15.73 mi",
        "location": "38.0038°N 107.7923°W"
      }
    ]
  },
  {
    "range": "Needle Mountains",
    "moutains": [
      {
        "number": "32",
        "name": "Windom Peak",
        "elevation_meters": "4296 m",
        "elevation_feet": "14,093 ft",
        "prominence_meters": "667 m",
        "prominence_feet": "2,187 ft",
        "isolation_kilometers": "42.4 km",
        "isolation_miles": "26.4 mi",
        "location": "37.6212°N 107.5919°W"
      }
    ]
  },
  {
    "range": "Culebra Range",
    "moutains": [
      {
        "number": "41",
        "name": "Culebra Peak",
        "elevation_meters": "4283 m",
        "elevation_feet": "14,053 ft",
        "prominence_meters": "1471 m",
        "prominence_feet": "4,827 ft",
        "isolation_kilometers": "57.1 km",
        "isolation_miles": "35.5 mi",
        "location": "37.1224°N 105.1858°W"
      }
    ]
  },
  {
    "range": "La Garita Mountains",
    "moutains": [
      {
        "number": "49",
        "name": "San Luis Peak",
        "elevation_meters": "4273.8 m",
        "elevation_feet": "14,022 ft",
        "prominence_meters": "949 m",
        "prominence_feet": "3,113 ft",
        "isolation_kilometers": "43.4 km",
        "isolation_miles": "27.0 mi",
        "location": "37.9868°N 106.9313°W"
      }
    ]
  }]