Created
May 1, 2009 04:07
-
-
Save ajturner/104867 to your computer and use it in GitHub Desktop.
Parses the data from http://lacounty.solarmap.org/ and exports as KML. It's ugly - it works.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
zipMarkers = { | |
93536 => {'zipcode' => 93536, 'name' => 'Lancaster/Quartz Hill', 'number of installations' => '17', 'size' => '77.406', 'cost' => '670991.4', 'incentives' => '187572.39', 'lat' => 34.77131, 'lng' => -118.47496}, | |
93534 => {'zipcode' => 93534, 'name' => 'Lancaster', 'number of installations' => '3', 'size' => '15.176', 'cost' => '149260', 'incentives' => '37486.56', 'lat' => 34.73728, 'lng' => -118.15001}, | |
93523 => {'zipcode' => 93523, 'name' => 'Edwards AFB', 'number of installations' => '1', 'size' => '2.075', 'cost' => '21000', 'incentives' => '4563', 'lat' => 34.80315, 'lng' => -117.95937}, | |
93535 => {'zipcode' => 93535, 'name' => 'Hi Vista', 'number of installations' => '9', 'size' => '42.582', 'cost' => '381678.07', 'incentives' => '98170.06', 'lat' => 34.69016, 'lng' => -117.88353}, | |
91384 => {'zipcode' => 91384, 'name' => 'Castaic', 'number of installations' => '13', 'size' => '80.314', 'cost' => '737545.1', 'incentives' => '188829.17', 'lat' => 34.53395, 'lng' => -118.67296}, | |
93552 => {'zipcode' => 93552, 'name' => 'Palmdale', 'number of installations' => '2', 'size' => '8.38', 'cost' => '71927.57', 'incentives' => '20923.55', 'lat' => 34.48401, 'lng' => -118.01676}, | |
93591 => {'zipcode' => 93591, 'name' => 'Palmdale/Lake Los Angeles', 'number of installations' => '1', 'size' => '7.962', 'cost' => '67000', 'incentives' => '19853', 'lat' => 34.59469, 'lng' => -117.80704}, | |
93550 => {'zipcode' => 93550, 'name' => 'Palmdale/Lake Los Angeles', 'number of installations' => '8', 'size' => '34.27', 'cost' => '349135.25', 'incentives' => '87320.6', 'lat' => 34.35122, 'lng' => -118.05677}, | |
93551 => {'zipcode' => 93551, 'name' => 'Palmdale', 'number of installations' => '18', 'size' => '115.744', 'cost' => '1042291.28', 'incentives' => '375734.79', 'lat' => 34.61161, 'lng' => -118.26471}, | |
91390 => {'zipcode' => 91390, 'name' => 'Santa Clarita', 'number of installations' => '34', 'size' => '208.919', 'cost' => '1976013.95', 'incentives' => '493629.55', 'lat' => 34.55807, 'lng' => -118.42457}, | |
93543 => {'zipcode' => 93543, 'name' => 'Littlerock/Juniper Hills', 'number of installations' => '1', 'size' => '4.093', 'cost' => '29319.22', 'incentives' => '10230', 'lat' => 34.46926, 'lng' => -117.96238}, | |
93510 => {'zipcode' => 93510, 'name' => 'Acton', 'number of installations' => '7', 'size' => '43.11', 'cost' => '397223', 'incentives' => '111766.18', 'lat' => 34.4576, 'lng' => -118.20799}, | |
93553 => {'zipcode' => 93553, 'name' => 'Pearblossom', 'number of installations' => '3', 'size' => '15.748', 'cost' => '130967', 'incentives' => '44066', 'lat' => 34.37204, 'lng' => -117.89723}, | |
91354 => {'zipcode' => 91354, 'name' => 'Santa Clarita (Valencia)', 'number of installations' => '13', 'size' => '68.467', 'cost' => '625789.73', 'incentives' => '160470.09', 'lat' => 34.45173, 'lng' => -118.55378}, | |
91351 => {'zipcode' => 91351, 'name' => 'Santa Clarita (Canyon Country)', 'number of installations' => '11', 'size' => '60.986', 'cost' => '583483.83', 'incentives' => '141138.3', 'lat' => 34.43011, 'lng' => -118.46523}, | |
91387 => {'zipcode' => 91387, 'name' => 'Canyon Country', 'number of installations' => '21', 'size' => '158.359', 'cost' => '1479238.72', 'incentives' => '369532.5', 'lat' => 34.35, 'lng' => -118.40631}, | |
91350 => {'zipcode' => 91350, 'name' => 'Agua Dulce/Saugus', 'number of installations' => '23', 'size' => '106.146', 'cost' => '1027200.23', 'incentives' => '246716.74', 'lat' => 34.4076, 'lng' => -118.50788}, | |
91355 => {'zipcode' => 91355, 'name' => 'Santa Clarita (Valencia)', 'number of installations' => '9', 'size' => '46.168', 'cost' => '361880.01', 'incentives' => '104357.23', 'lat' => 34.42214, 'lng' => -118.60386}, | |
91381 => {'zipcode' => 91381, 'name' => 'Stevenson Ranch', 'number of installations' => '13', 'size' => '79.902', 'cost' => '832370.04', 'incentives' => '181967.08', 'lat' => 34.36976, 'lng' => -118.59531}, | |
91321 => {'zipcode' => 91321, 'name' => 'Santa Clarita (Newhall)', 'number of installations' => '10', 'size' => '60.582', 'cost' => '548077.61', 'incentives' => '136356.67', 'lat' => 34.34799, 'lng' => -118.4937}, | |
91342 => {'zipcode' => 91342, 'name' => 'Lake View Terrace (City of LA)/Sylmar (City of LA)', 'number of installations' => '12', 'size' => '262.062', 'cost' => '103290.8', 'incentives' => '21110', 'lat' => 34.30807, 'lng' => -118.39839}, | |
91042 => {'zipcode' => 91042, 'name' => 'Tujunga (City of LA)', 'number of installations' => '24', 'size' => '88.9', 'cost' => '0', 'incentives' => '0', 'lat' => 34.32183, 'lng' => -118.22652}, | |
91750 => {'zipcode' => 91750, 'name' => 'La Verne', 'number of installations' => '12', 'size' => '47.308', 'cost' => '450702.72', 'incentives' => '108259', 'lat' => 34.22696, 'lng' => -117.73044}, | |
91311 => {'zipcode' => 91311, 'name' => 'Chatsworth (City of LA)', 'number of installations' => '32', 'size' => '707.244', 'cost' => '89617.58', 'incentives' => '19893', 'lat' => 34.27973, 'lng' => -118.612}, | |
91326 => {'zipcode' => 91326, 'name' => 'Porter Ranch (City of LA)', 'number of installations' => '24', 'size' => '170.463', 'cost' => '36591', 'incentives' => '10110.66', 'lat' => 34.2887, 'lng' => -118.55655}, | |
91344 => {'zipcode' => 91344, 'name' => 'Granada Hills (City of LA)', 'number of installations' => '49', 'size' => '195.3', 'cost' => '0', 'incentives' => '0', 'lat' => 34.28784, 'lng' => -118.50667}, | |
91024 => {'zipcode' => 91024, 'name' => 'Sierra Madre', 'number of installations' => '11', 'size' => '58.886', 'cost' => '579593.67', 'incentives' => '128371.76', 'lat' => 34.246, 'lng' => -118.00361}, | |
91340 => {'zipcode' => 91340, 'name' => 'San Fernando', 'number of installations' => '2', 'size' => '5.175', 'cost' => '49240.18', 'incentives' => '11743.05', 'lat' => 34.28944, 'lng' => -118.43339}, | |
91702 => {'zipcode' => 91702, 'name' => 'Azusa', 'number of installations' => '1', 'size' => '7.675', 'cost' => '64765.05', 'incentives' => '18492', 'lat' => 34.24535, 'lng' => -117.85106}, | |
91011 => {'zipcode' => 91011, 'name' => 'La Canada-Flintridge', 'number of installations' => '50', 'size' => '253.808', 'cost' => '2474564.66', 'incentives' => '574887.27', 'lat' => 34.26442, 'lng' => -118.13827}, | |
91040 => {'zipcode' => 91040, 'name' => 'Shadow Hills (City of LA)/Sunland (City of LA)', 'number of installations' => '19', 'size' => '93.1', 'cost' => '0', 'incentives' => '0', 'lat' => 34.25507, 'lng' => -118.34574}, | |
91331 => {'zipcode' => 91331, 'name' => 'Arleta (City of LA)/Pacoima (City of LA)', 'number of installations' => '5', 'size' => '327.9', 'cost' => '0', 'incentives' => '0', 'lat' => 34.25446, 'lng' => -118.42199}, | |
91345 => {'zipcode' => 91345, 'name' => 'Mission Hills (City of LA)', 'number of installations' => '4', 'size' => '23.4', 'cost' => '0', 'incentives' => '0', 'lat' => 34.26569, 'lng' => -118.45665}, | |
91214 => {'zipcode' => 91214, 'name' => 'La Crescenta', 'number of installations' => '2', 'size' => '6.688', 'cost' => '60626.82', 'incentives' => '16554', 'lat' => 34.24278, 'lng' => -118.24372}, | |
91304 => {'zipcode' => 91304, 'name' => 'Canoga Park (City of LA)', 'number of installations' => '19', 'size' => '391', 'cost' => '0', 'incentives' => '0', 'lat' => 34.22388, 'lng' => -118.64673}, | |
91001 => {'zipcode' => 91001, 'name' => 'Altadena', 'number of installations' => '28', 'size' => '123.638', 'cost' => '1181402.69', 'incentives' => '284211.63', 'lat' => 34.2166, 'lng' => -118.10638}, | |
91325 => {'zipcode' => 91325, 'name' => 'Northridge (City of LA)', 'number of installations' => '21', 'size' => '139', 'cost' => '0', 'incentives' => '0', 'lat' => 34.23323, 'lng' => -118.51824}, | |
91324 => {'zipcode' => 91324, 'name' => 'Northridge (City of LA)', 'number of installations' => '7', 'size' => '55.6', 'cost' => '0', 'incentives' => '0', 'lat' => 34.23874, 'lng' => -118.55261}, | |
91343 => {'zipcode' => 91343, 'name' => 'North Hills (City of LA)', 'number of installations' => '25', 'size' => '82.1', 'cost' => '0', 'incentives' => '0', 'lat' => 34.23921, 'lng' => -118.47722}, | |
91330 => {'zipcode' => 91330, 'name' => 'Northridge (City of LA), California State University', 'number of installations' => '2', 'size' => '577.7', 'cost' => '0', 'incentives' => '0', 'lat' => 34.24003, 'lng' => -118.52826}, | |
91352 => {'zipcode' => 91352, 'name' => 'Sun Valley (City of LA)', 'number of installations' => '6', 'size' => '12.7', 'cost' => '0', 'incentives' => '0', 'lat' => 34.22822, 'lng' => -118.34438}, | |
91402 => {'zipcode' => 91402, 'name' => 'Panorama City (City of LA)', 'number of installations' => '3', 'size' => '68', 'cost' => '0', 'incentives' => '0', 'lat' => 34.22549, 'lng' => -118.4442}, | |
91016 => {'zipcode' => 91016, 'name' => 'Monrovia', 'number of installations' => '9', 'size' => '38.49', 'cost' => '392725.15', 'incentives' => '87971', 'lat' => 34.205, 'lng' => -117.95939}, | |
91306 => {'zipcode' => 91306, 'name' => 'Winnetka (City of LA)', 'number of installations' => '20', 'size' => '194.5', 'cost' => '0', 'incentives' => '0', 'lat' => 34.20999, 'lng' => -118.57538}, | |
91406 => {'zipcode' => 91406, 'name' => 'Van Nuys (City of LA)', 'number of installations' => '12', 'size' => '279.7', 'cost' => '0', 'incentives' => '0', 'lat' => 34.20369, 'lng' => -118.49233}, | |
91605 => {'zipcode' => 91605, 'name' => 'North Hollywood', 'number of installations' => '6', 'size' => '66.9', 'cost' => '0', 'incentives' => '0', 'lat' => 34.20777, 'lng' => -118.39548}, | |
91335 => {'zipcode' => 91335, 'name' => 'Reseda (City of LA)', 'number of installations' => '14', 'size' => '71.1', 'cost' => '0', 'incentives' => '0', 'lat' => 34.20044, 'lng' => -118.54041}, | |
91020 => {'zipcode' => 91020, 'name' => 'Montrose', 'number of installations' => '2', 'size' => '8.162', 'cost' => '64768', 'incentives' => '19088', 'lat' => 34.21184, 'lng' => -118.23013}, | |
91711 => {'zipcode' => 91711, 'name' => 'Claremont', 'number of installations' => '32', 'size' => '144.258', 'cost' => '1408212.17', 'incentives' => '325078.95', 'lat' => 34.13266, 'lng' => -117.70497}, | |
91405 => {'zipcode' => 91405, 'name' => 'Van Nuys (City of LA)', 'number of installations' => '9', 'size' => '29', 'cost' => '0', 'incentives' => '0', 'lat' => 34.20071, 'lng' => -118.44458}, | |
91307 => {'zipcode' => 91307, 'name' => 'West Hills (City of LA)', 'number of installations' => '20', 'size' => '108.768', 'cost' => '297195.54', 'incentives' => '75063', 'lat' => 34.19599, 'lng' => -118.64082}, | |
91303 => {'zipcode' => 91303, 'name' => 'Canoga Park (City of LA)', 'number of installations' => '9', 'size' => '81', 'cost' => '0', 'incentives' => '0', 'lat' => 34.19799, 'lng' => -118.60141}, | |
91741 => {'zipcode' => 91741, 'name' => 'Glendora', 'number of installations' => '11', 'size' => '82.805', 'cost' => '758983.57', 'incentives' => '196308', 'lat' => 34.16623, 'lng' => -117.83607}, | |
91411 => {'zipcode' => 91411, 'name' => 'Van Nuys (City of LA)', 'number of installations' => '3', 'size' => '81.9', 'cost' => '0', 'incentives' => '0', 'lat' => 34.17758, 'lng' => -118.46132}, | |
91401 => {'zipcode' => 91401, 'name' => 'Van Nuys (City of LA)', 'number of installations' => '13', 'size' => '60.3', 'cost' => '0', 'incentives' => '0', 'lat' => 34.17939, 'lng' => -118.43128}, | |
91606 => {'zipcode' => 91606, 'name' => 'North Hollywood', 'number of installations' => '2', 'size' => '4.1', 'cost' => '0', 'incentives' => '0', 'lat' => 34.18648, 'lng' => -118.39066}, | |
91367 => {'zipcode' => 91367, 'name' => 'Woodland Hills (City of LA)', 'number of installations' => '42', 'size' => '185.3', 'cost' => '0', 'incentives' => '0', 'lat' => 34.17767, 'lng' => -118.61515}, | |
91010 => {'zipcode' => 91010, 'name' => 'Bradbury', 'number of installations' => '4', 'size' => '25.04', 'cost' => '232341.73', 'incentives' => '55762', 'lat' => 34.15951, 'lng' => -117.95262}, | |
91302 => {'zipcode' => 91302, 'name' => 'Calabasas/Hidden Hills', 'number of installations' => '19', 'size' => '150.085', 'cost' => '1208910.47', 'incentives' => '291796.29', 'lat' => 34.13261, 'lng' => -118.67745}, | |
91316 => {'zipcode' => 91316, 'name' => 'Encino (City of LA)', 'number of installations' => '19', 'size' => '107.3', 'cost' => '0', 'incentives' => '0', 'lat' => 34.15856, 'lng' => -118.51642}, | |
91436 => {'zipcode' => 91436, 'name' => 'Encino (City of LA)', 'number of installations' => '12', 'size' => '100', 'cost' => '0', 'incentives' => '0', 'lat' => 34.13265, 'lng' => -118.4872}, | |
91107 => {'zipcode' => 91107, 'name' => 'Pasadena', 'number of installations' => '8', 'size' => '37.774', 'cost' => '392215.29', 'incentives' => '88422', 'lat' => 34.15614, 'lng' => -118.08931}, | |
91356 => {'zipcode' => 91356, 'name' => 'Tarzana (City of LA)', 'number of installations' => '15', 'size' => '71.9', 'cost' => '0', 'incentives' => '0', 'lat' => 34.15292, 'lng' => -118.55001}, | |
91104 => {'zipcode' => 91104, 'name' => 'Pasadena', 'number of installations' => '1', 'size' => '3.181', 'cost' => '33400', 'incentives' => '6998', 'lat' => 34.16762, 'lng' => -118.12223}, | |
91607 => {'zipcode' => 91607, 'name' => 'North Hollywood (City of LA)/Valley Village (City of LA)', 'number of installations' => '13', 'size' => '42.5', 'cost' => '0', 'incentives' => '0', 'lat' => 34.1668, 'lng' => -118.40092}, | |
91601 => {'zipcode' => 91601, 'name' => 'North Hollywood (City of LA)', 'number of installations' => '8', 'size' => '23.5', 'cost' => '0', 'incentives' => '0', 'lat' => 34.16859, 'lng' => -118.36999}, | |
91006 => {'zipcode' => 91006, 'name' => 'Arcadia', 'number of installations' => '17', 'size' => '94.248', 'cost' => '887657.91', 'incentives' => '210225.99', 'lat' => 34.13535, 'lng' => -118.02983}, | |
91364 => {'zipcode' => 91364, 'name' => 'Woodland Hills (City of LA)', 'number of installations' => '36', 'size' => '236.882', 'cost' => '32694.35', 'incentives' => '10201.94', 'lat' => 34.15424, 'lng' => -118.59977}, | |
91361 => {'zipcode' => 91361, 'name' => 'Westlake Village', 'number of installations' => '23', 'size' => '154.715', 'cost' => '1523015.7', 'incentives' => '392920.88', 'lat' => 34.13202, 'lng' => -118.82893}, | |
91362 => {'zipcode' => 91362, 'name' => 'Westlake Village', 'number of installations' => '22', 'size' => '120.261', 'cost' => '1160098.12', 'incentives' => '277708.7', 'lat' => 34.15589, 'lng' => -118.79994}, | |
91301 => {'zipcode' => 91301, 'name' => 'Agoura/Oak Park', 'number of installations' => '24', 'size' => '140.067', 'cost' => '1355793.16', 'incentives' => '320977.25', 'lat' => 34.13004, 'lng' => -118.77541}, | |
91773 => {'zipcode' => 91773, 'name' => 'San Dimas', 'number of installations' => '7', 'size' => '32.703', 'cost' => '324864.45', 'incentives' => '70614', 'lat' => 34.10458, 'lng' => -117.8088}, | |
91423 => {'zipcode' => 91423, 'name' => 'Sherman Oaks (City of LA)/Van Nuys (City of LA)', 'number of installations' => '18', 'size' => '216.9', 'cost' => '0', 'incentives' => '0', 'lat' => 34.15047, 'lng' => -118.43444}, | |
91403 => {'zipcode' => 91403, 'name' => 'Sherman Oaks (City of LA)/Van Nuys (City of LA)', 'number of installations' => '22', 'size' => '100.5', 'cost' => '0', 'incentives' => '0', 'lat' => 34.14792, 'lng' => -118.46746}, | |
90027 => {'zipcode' => 90027, 'name' => 'Griffith Park (City of LA)/Los Feliz (City of LA)', 'number of installations' => '32', 'size' => '143', 'cost' => '0', 'incentives' => '0', 'lat' => 34.12572, 'lng' => -118.28906}, | |
91602 => {'zipcode' => 91602, 'name' => 'North Hollywood (City of LA)/Toluca Lake (City of LA)', 'number of installations' => '7', 'size' => '26.7', 'cost' => '0', 'incentives' => '0', 'lat' => 34.15086, 'lng' => -118.36649}, | |
91101 => {'zipcode' => 91101, 'name' => 'Pasadena', 'number of installations' => '3', 'size' => '8.655', 'cost' => '77804.18', 'incentives' => '20259', 'lat' => 34.14671, 'lng' => -118.13887}, | |
91604 => {'zipcode' => 91604, 'name' => 'North Hollywood (City of LA)/Studio City (City of LA)', 'number of installations' => '19', 'size' => '97.1', 'cost' => '0', 'incentives' => '0', 'lat' => 34.13678, 'lng' => -118.39097}, | |
90068 => {'zipcode' => 90068, 'name' => 'Hollywood (City of LA)', 'number of installations' => '42', 'size' => '236.2', 'cost' => '0', 'incentives' => '0', 'lat' => 34.12593, 'lng' => -118.33593}, | |
90039 => {'zipcode' => 90039, 'name' => 'Atwater Village (City of LA)', 'number of installations' => '25', 'size' => '84.5', 'cost' => '0', 'incentives' => '0', 'lat' => 34.10775, 'lng' => -118.26048}, | |
90265 => {'zipcode' => 90265, 'name' => 'Malibu', 'number of installations' => '40', 'size' => '261.574', 'cost' => '3523983.06', 'incentives' => '595826.64', 'lat' => 34.03346, 'lng' => -118.76487}, | |
90041 => {'zipcode' => 90041, 'name' => 'Eagle Rock (City of LA)', 'number of installations' => '18', 'size' => '52.5', 'cost' => '0', 'incentives' => '0', 'lat' => 34.13798, 'lng' => -118.20485}, | |
91007 => {'zipcode' => 91007, 'name' => 'Arcadia', 'number of installations' => '10', 'size' => '68.908', 'cost' => '629927.01', 'incentives' => '153217.04', 'lat' => 34.12651, 'lng' => -118.05003}, | |
90290 => {'zipcode' => 90290, 'name' => 'Topanga', 'number of installations' => '17', 'size' => '118.64', 'cost' => '1189793.74', 'incentives' => '286310.3', 'lat' => 34.089, 'lng' => -118.61155}, | |
90210 => {'zipcode' => 90210, 'name' => 'Beverly Hills/Beverly Glen (City of LA)', 'number of installations' => '25', 'size' => '165.907', 'cost' => '1070886.32', 'incentives' => '261162.49', 'lat' => 34.09847, 'lng' => -118.4151}, | |
90272 => {'zipcode' => 90272, 'name' => 'Castellemare (City of LA)/Pacific Highlands (City of LA)/Pacifi', 'number of installations' => '50', 'size' => '227.8', 'cost' => '0', 'incentives' => '0', 'lat' => 34.06421, 'lng' => -118.54151}, | |
90065 => {'zipcode' => 90065, 'name' => 'Cypress Park (City of LA)/Glassell Park (City of LA)/Mt. Washin', 'number of installations' => '28', 'size' => '90.6', 'cost' => '0', 'incentives' => '0', 'lat' => 34.11244, 'lng' => -118.22886}, | |
91108 => {'zipcode' => 91108, 'name' => 'San Marino', 'number of installations' => '11', 'size' => '68.217', 'cost' => '654665.44', 'incentives' => '145768', 'lat' => 34.12285, 'lng' => -118.11619}, | |
90077 => {'zipcode' => 90077, 'name' => 'Bel Air Estates & Beverly Glen (City of LA)', 'number of installations' => '12', 'size' => '62.8', 'cost' => '0', 'incentives' => '0', 'lat' => 34.10439, 'lng' => -118.45252}, | |
90049 => {'zipcode' => 90049, 'name' => 'Bel Air Estates (City of LA)/Brentwood (City of LA)', 'number of installations' => '56', 'size' => '336.3', 'cost' => '0', 'incentives' => '0', 'lat' => 34.08683, 'lng' => -118.4849}, | |
91706 => {'zipcode' => 91706, 'name' => 'Baldwin Park/Irwindale', 'number of installations' => '2', 'size' => '11.453', 'cost' => '107402', 'incentives' => '24886', 'lat' => 34.06249, 'lng' => -117.96662}, | |
90042 => {'zipcode' => 90042, 'name' => 'Highland Park (City of LA)', 'number of installations' => '9', 'size' => '29.1', 'cost' => '0', 'incentives' => '0', 'lat' => 34.11528, 'lng' => -118.19133}, | |
90046 => {'zipcode' => 90046, 'name' => 'Mount Olympus (City of LA)', 'number of installations' => '33', 'size' => '153.921', 'cost' => '61711.58', 'incentives' => '13881', 'lat' => 34.09056, 'lng' => -118.36898}, | |
91775 => {'zipcode' => 91775, 'name' => 'San Gabriel', 'number of installations' => '6', 'size' => '18.896', 'cost' => '203897.58', 'incentives' => '43858.79', 'lat' => 34.1102, 'lng' => -118.09421}, | |
91740 => {'zipcode' => 91740, 'name' => 'Glendora', 'number of installations' => '5', 'size' => '23.535', 'cost' => '215378.07', 'incentives' => '54464', 'lat' => 34.11815, 'lng' => -117.85137}, | |
91030 => {'zipcode' => 91030, 'name' => 'South Pasadena', 'number of installations' => '20', 'size' => '91.368', 'cost' => '836113.17', 'incentives' => '210551.74', 'lat' => 34.11131, 'lng' => -118.15653}, | |
91780 => {'zipcode' => 91780, 'name' => 'Temple City', 'number of installations' => '2', 'size' => '11.199', 'cost' => '99388.34', 'incentives' => '25042', 'lat' => 34.09742, 'lng' => -118.05085}, | |
91722 => {'zipcode' => 91722, 'name' => 'Covina', 'number of installations' => '3', 'size' => '8.832', 'cost' => '87539.89', 'incentives' => '18159', 'lat' => 34.09656, 'lng' => -117.90727}, | |
91767 => {'zipcode' => 91767, 'name' => 'Pomona', 'number of installations' => '5', 'size' => '20.97', 'cost' => '181855', 'incentives' => '48361', 'lat' => 34.079, 'lng' => -117.73452}, | |
91801 => {'zipcode' => 91801, 'name' => 'Alhambra', 'number of installations' => '4', 'size' => '12.46', 'cost' => '117824.8', 'incentives' => '28887.58', 'lat' => 34.08613, 'lng' => -118.13459}, | |
90069 => {'zipcode' => 90069, 'name' => 'West Hollywood', 'number of installations' => '14', 'size' => '55.02', 'cost' => '67490', 'incentives' => '15102', 'lat' => 34.09345, 'lng' => -118.38099}, | |
90028 => {'zipcode' => 90028, 'name' => 'Hollywood (City of LA)', 'number of installations' => '5', 'size' => '79.9', 'cost' => '0', 'incentives' => '0', 'lat' => 34.09985, 'lng' => -118.32741}, | |
91724 => {'zipcode' => 91724, 'name' => 'Covina', 'number of installations' => '8', 'size' => '42.099', 'cost' => '395873.87', 'incentives' => '93425.44', 'lat' => 34.07287, 'lng' => -117.84926}, | |
91776 => {'zipcode' => 91776, 'name' => 'San Gabriel', 'number of installations' => '1', 'size' => '2.579', 'cost' => '21750', 'incentives' => '5672', 'lat' => 34.08801, 'lng' => -118.09314}, | |
90032 => {'zipcode' => 90032, 'name' => 'El Sereno (City of LA)/Monterey Hills (City of LA)', 'number of installations' => '3', 'size' => '6', 'cost' => '0', 'incentives' => '0', 'lat' => 34.07992, 'lng' => -118.17753}, | |
90031 => {'zipcode' => 90031, 'name' => 'Montecito Heights (City of LA)', 'number of installations' => '5', 'size' => '127.3', 'cost' => '0', 'incentives' => '0', 'lat' => 34.07152, 'lng' => -118.21889}, | |
91732 => {'zipcode' => 91732, 'name' => 'El Monte', 'number of installations' => '1', 'size' => '5.27', 'cost' => '51063.96', 'incentives' => '12549', 'lat' => 34.07095, 'lng' => -118.01395}, | |
91731 => {'zipcode' => 91731, 'name' => 'El Monte', 'number of installations' => '1', 'size' => '1.896', 'cost' => '11921.2', 'incentives' => '4171', 'lat' => 34.08043, 'lng' => -118.04643}, | |
90029 => {'zipcode' => 90029, 'name' => 'Downtown Los Angeles (City of LA)', 'number of installations' => '4', 'size' => '8.3', 'cost' => '0', 'incentives' => '0', 'lat' => 34.08958, 'lng' => -118.29313}, | |
90026 => {'zipcode' => 90026, 'name' => 'Echo Park/Silverlake (City of LA)', 'number of installations' => '50', 'size' => '146.2', 'cost' => '0', 'incentives' => '0', 'lat' => 34.07502, 'lng' => -118.26258}, | |
90038 => {'zipcode' => 90038, 'name' => 'Hollywood (City of LA)', 'number of installations' => '5', 'size' => '119.336', 'cost' => '24501.08', 'incentives' => '5665', 'lat' => 34.08879, 'lng' => -118.32715}, | |
91770 => {'zipcode' => 91770, 'name' => 'Rosemead', 'number of installations' => '2', 'size' => '6.668', 'cost' => '54655.47', 'incentives' => '15032', 'lat' => 34.06535, 'lng' => -118.08197}, | |
91768 => {'zipcode' => 91768, 'name' => 'Pomona', 'number of installations' => '2', 'size' => '4.347', 'cost' => '44742', 'incentives' => '111151', 'lat' => 34.06368, 'lng' => -117.79297}, | |
90012 => {'zipcode' => 90012, 'name' => 'Civic Center (City of LA)/Chinatown (City of LA)', 'number of installations' => '3', 'size' => '308.4', 'cost' => '0', 'incentives' => '0', 'lat' => 34.0678, 'lng' => -118.24099}, | |
91790 => {'zipcode' => 91790, 'name' => 'West Covina', 'number of installations' => '3', 'size' => '10.717', 'cost' => '91582.96', 'incentives' => '25328.24', 'lat' => 34.06878, 'lng' => -117.9418}, | |
91803 => {'zipcode' => 91803, 'name' => 'Alhambra', 'number of installations' => '2', 'size' => '4.113', 'cost' => '34022', 'incentives' => '9485.39', 'lat' => 34.07415, 'lng' => -118.14391}, | |
91791 => {'zipcode' => 91791, 'name' => 'West Covina', 'number of installations' => '4', 'size' => '19.507', 'cost' => '197398.64', 'incentives' => '46980.1', 'lat' => 34.06012, 'lng' => -117.88766}, | |
90048 => {'zipcode' => 90048, 'name' => 'West Beverly (City of LA)', 'number of installations' => '10', 'size' => '30.6', 'cost' => '0', 'incentives' => '0', 'lat' => 34.05965, 'lng' => -118.3758}, | |
90036 => {'zipcode' => 90036, 'name' => 'Park La Brea (City of LA)', 'number of installations' => '15', 'size' => '110.4', 'cost' => '0', 'incentives' => '0', 'lat' => 34.07031, 'lng' => -118.35082}, | |
90004 => {'zipcode' => 90004, 'name' => 'Hancock Park (City of LA)', 'number of installations' => '18', 'size' => '67.9', 'cost' => '0', 'incentives' => '0', 'lat' => 34.07629, 'lng' => -118.3106}, | |
90024 => {'zipcode' => 90024, 'name' => 'Westwood (City of LA)', 'number of installations' => '7', 'size' => '44.5', 'cost' => '0', 'incentives' => '0', 'lat' => 34.06515, 'lng' => -118.43623}, | |
90057 => {'zipcode' => 90057, 'name' => 'Westlake (City of LA)', 'number of installations' => '2', 'size' => '36.8', 'cost' => '0', 'incentives' => '0', 'lat' => 34.06048, 'lng' => -118.27541}, | |
90211 => {'zipcode' => 90211, 'name' => 'Beverly Hills', 'number of installations' => '1', 'size' => '30.2', 'cost' => '0', 'incentives' => '0', 'lat' => 34.06632, 'lng' => -118.38114}, | |
91755 => {'zipcode' => 91755, 'name' => 'Monterey Park', 'number of installations' => '3', 'size' => '10.243', 'cost' => '101774.69', 'incentives' => '23192.39', 'lat' => 34.05053, 'lng' => -118.11169}, | |
91733 => {'zipcode' => 91733, 'name' => 'South El Monte', 'number of installations' => '1', 'size' => '2.024', 'cost' => '22143', 'incentives' => '5301.08', 'lat' => 34.05148, 'lng' => -118.04675}, | |
90020 => {'zipcode' => 90020, 'name' => 'Hancock Park (City of LA)', 'number of installations' => '2', 'size' => '13.5', 'cost' => '0', 'incentives' => '0', 'lat' => 34.06631, 'lng' => -118.31119}, | |
91754 => {'zipcode' => 91754, 'name' => 'Monterey Park', 'number of installations' => '4', 'size' => '17.967', 'cost' => '145759.94', 'incentives' => '40792', 'lat' => 34.04695, 'lng' => -118.14643}, | |
90212 => {'zipcode' => 90212, 'name' => 'Beverly Hills', 'number of installations' => '3', 'size' => '11.524', 'cost' => '106269.56', 'incentives' => '27281.17', 'lat' => 34.06218, 'lng' => -118.402}, | |
90033 => {'zipcode' => 90033, 'name' => 'Boyle Heights (City of LA)', 'number of installations' => '1', 'size' => '2.6', 'cost' => '0', 'incentives' => '0', 'lat' => 34.04961, 'lng' => -118.2116}, | |
90063 => {'zipcode' => 90063, 'name' => 'City Terrace', 'number of installations' => '4', 'size' => '7.375', 'cost' => '79400', 'incentives' => '16876', 'lat' => 34.0454, 'lng' => -118.18751}, | |
90035 => {'zipcode' => 90035, 'name' => 'West Fairfax (City of LA)', 'number of installations' => '13', 'size' => '46.7', 'cost' => '0', 'incentives' => '0', 'lat' => 34.05089, 'lng' => -118.38537}, | |
91789 => {'zipcode' => 91789, 'name' => 'Diamond Bar/City of Industry/Walnut', 'number of installations' => '13', 'size' => '44.736', 'cost' => '438000.87', 'incentives' => '105226.2', 'lat' => 33.96682, 'lng' => -117.85504}, | |
90005 => {'zipcode' => 90005, 'name' => 'Koreatown (City of LA)', 'number of installations' => '7', 'size' => '31.7', 'cost' => '0', 'incentives' => '0', 'lat' => 34.05878, 'lng' => -118.31158}, | |
90025 => {'zipcode' => 90025, 'name' => 'Sawtelle (City of LA)/West Los Angeles (City of LA)', 'number of installations' => '14', 'size' => '56.4', 'cost' => '0', 'incentives' => '0', 'lat' => 34.04439, 'lng' => -118.44395}, | |
91766 => {'zipcode' => 91766, 'name' => 'Phillips Ranch/Pomoona', 'number of installations' => '2', 'size' => '10.772', 'cost' => '106563.63', 'incentives' => '23587', 'lat' => 34.04134, 'lng' => -117.75486}, | |
90019 => {'zipcode' => 90019, 'name' => 'Country Club Park (City of LA)/Mid City (City of LA)', 'number of installations' => '18', 'size' => '64.7', 'cost' => '0', 'incentives' => '0', 'lat' => 34.04864, 'lng' => -118.33971}, | |
90006 => {'zipcode' => 90006, 'name' => 'Pico Heights (City of LA)', 'number of installations' => '2', 'size' => '3', 'cost' => '0', 'incentives' => '0', 'lat' => 34.04802, 'lng' => -118.29238}, | |
90064 => {'zipcode' => 90064, 'name' => 'Cheviot Hills (City of LA)/Rancho Park (City of LA)', 'number of installations' => '18', 'size' => '88.2', 'cost' => '0', 'incentives' => '0', 'lat' => 34.0359, 'lng' => -118.43009}, | |
90015 => {'zipcode' => 90015, 'name' => 'Downtown Los Angeles (City of LA)', 'number of installations' => '3', 'size' => '35.9', 'cost' => '0', 'incentives' => '0', 'lat' => 34.03979, 'lng' => -118.26655}, | |
90402 => {'zipcode' => 90402, 'name' => 'Santa Monica', 'number of installations' => '36', 'size' => '179.581', 'cost' => '1205693.77', 'incentives' => '300362.82', 'lat' => 34.03587, 'lng' => -118.50174}, | |
90022 => {'zipcode' => 90022, 'name' => 'East Los Angeles', 'number of installations' => '18', 'size' => '34.014', 'cost' => '369032.01', 'incentives' => '79522', 'lat' => 34.02198, 'lng' => -118.15057}, | |
90403 => {'zipcode' => 90403, 'name' => 'Santa Monica', 'number of installations' => '15', 'size' => '40.465', 'cost' => '350921.3', 'incentives' => '77019.25', 'lat' => 34.03281, 'lng' => -118.48846}, | |
91792 => {'zipcode' => 91792, 'name' => 'West Covina', 'number of installations' => '1', 'size' => '2.835', 'cost' => '26441', 'incentives' => '7071', 'lat' => 34.02744, 'lng' => -117.89724}, | |
90263 => {'zipcode' => 90263, 'name' => 'Pepperdine University (Malibu)', 'number of installations' => '1', 'size' => '3.501', 'cost' => '29400', 'incentives' => '8089', 'lat' => 34.03771, 'lng' => -118.70785}, | |
90034 => {'zipcode' => 90034, 'name' => 'Palms (City of LA)', 'number of installations' => '19', 'size' => '171.7', 'cost' => '0', 'incentives' => '0', 'lat' => 34.02951, 'lng' => -118.39953}, | |
90601 => {'zipcode' => 90601, 'name' => 'Whittier', 'number of installations' => '4', 'size' => '17.304', 'cost' => '165566.08', 'incentives' => '43033.86', 'lat' => 34.00701, 'lng' => -118.03311}, | |
90640 => {'zipcode' => 90640, 'name' => 'Montebello', 'number of installations' => '2', 'size' => '3.718', 'cost' => '41352.18', 'incentives' => '8558', 'lat' => 34.01271, 'lng' => -118.10603}, | |
91765 => {'zipcode' => 91765, 'name' => 'Diamond Bar', 'number of installations' => '8', 'size' => '36.232', 'cost' => '342854.53', 'incentives' => '81897', 'lat' => 34.00362, 'lng' => -117.81425}, | |
90016 => {'zipcode' => 90016, 'name' => 'West Adams (City of LA)', 'number of installations' => '3', 'size' => '322.9', 'cost' => '0', 'incentives' => '0', 'lat' => 34.02978, 'lng' => -118.35792}, | |
90021 => {'zipcode' => 90021, 'name' => 'Downtown Los Angeles (City of LA)', 'number of installations' => '3', 'size' => '1392.6', 'cost' => '0', 'incentives' => '0', 'lat' => 34.02979, 'lng' => -118.2405}, | |
90404 => {'zipcode' => 90404, 'name' => 'Santa Monica', 'number of installations' => '5', 'size' => '14.465', 'cost' => '135136.37', 'incentives' => '34861.78', 'lat' => 34.02965, 'lng' => -118.47152}, | |
90018 => {'zipcode' => 90018, 'name' => 'Jefferson Park (City of LA)', 'number of installations' => '1', 'size' => '5.1', 'cost' => '0', 'incentives' => '0', 'lat' => 34.02905, 'lng' => -118.31767}, | |
90007 => {'zipcode' => 90007, 'name' => 'South Central (City of LA)', 'number of installations' => '5', 'size' => '151.6', 'cost' => '0', 'incentives' => '0', 'lat' => 34.01707, 'lng' => -118.28259}, | |
90023 => {'zipcode' => 90023, 'name' => 'East Los Angeles (City of LA)', 'number of installations' => '8', 'size' => '18.708', 'cost' => '94249.95', 'incentives' => '22248', 'lat' => 34.01914, 'lng' => -118.20049}, | |
90232 => {'zipcode' => 90232, 'name' => 'Culver City', 'number of installations' => '10', 'size' => '36.919', 'cost' => '330977.91', 'incentives' => '84106', 'lat' => 34.01542, 'lng' => -118.3933}, | |
90660 => {'zipcode' => 90660, 'name' => 'Pico Rivera', 'number of installations' => '2', 'size' => '3.832', 'cost' => '41495', 'incentives' => '8648', 'lat' => 33.99956, 'lng' => -118.0814}, | |
91745 => {'zipcode' => 91745, 'name' => 'La Puente (Hacienda Heights)', 'number of installations' => '8', 'size' => '44.093', 'cost' => '426150.86', 'incentives' => '95945', 'lat' => 33.99659, 'lng' => -117.97298}, | |
90011 => {'zipcode' => 90011, 'name' => 'South Central (City of LA)', 'number of installations' => '13', 'size' => '32.7', 'cost' => '0', 'incentives' => '0', 'lat' => 34.00776, 'lng' => -118.25858}, | |
90405 => {'zipcode' => 90405, 'name' => 'Santa Monica', 'number of installations' => '30', 'size' => '98.579', 'cost' => '951031.97', 'incentives' => '227546.95', 'lat' => 34.01297, 'lng' => -118.46761}, | |
90066 => {'zipcode' => 90066, 'name' => 'Mar Vista (City of LA)', 'number of installations' => '35', 'size' => '134.39', 'cost' => '58980.33', 'incentives' => '13147', 'lat' => 33.97779, 'lng' => -118.43258}, | |
90401 => {'zipcode' => 90401, 'name' => 'Santa Monica', 'number of installations' => '5', 'size' => '23.658', 'cost' => '238025.86', 'incentives' => '53560.14', 'lat' => 34.0167, 'lng' => -118.49292}, | |
90008 => {'zipcode' => 90008, 'name' => 'Baldwin Hills/Crenshaw (City of LA)/Leimert Park (City of LA)', 'number of installations' => '1', 'size' => '2.2', 'cost' => '0', 'incentives' => '0', 'lat' => 34.00947, 'lng' => -118.34768}, | |
90037 => {'zipcode' => 90037, 'name' => 'South Central (City of LA)', 'number of installations' => '1', 'size' => '6.9', 'cost' => '0', 'incentives' => '0', 'lat' => 34.00072, 'lng' => -118.28698}, | |
90062 => {'zipcode' => 90062, 'name' => 'South Central (City of LA)', 'number of installations' => '5', 'size' => '13.1', 'cost' => '0', 'incentives' => '0', 'lat' => 34.00362, 'lng' => -118.30909}, | |
90230 => {'zipcode' => 90230, 'name' => 'Culver City', 'number of installations' => '13', 'size' => '45.902', 'cost' => '456945.25', 'incentives' => '98953.27', 'lat' => 33.99537, 'lng' => -118.39683}, | |
90291 => {'zipcode' => 90291, 'name' => 'Venice (City of LA)', 'number of installations' => '92', 'size' => '345.2', 'cost' => '0', 'incentives' => '0', 'lat' => 33.98505, 'lng' => -118.47836}, | |
91748 => {'zipcode' => 91748, 'name' => 'Rowland Heights', 'number of installations' => '5', 'size' => '19.912', 'cost' => '186735.73', 'incentives' => '47695.885', 'lat' => 33.95767, 'lng' => -117.90349}, | |
90606 => {'zipcode' => 90606, 'name' => 'Los Nietos', 'number of installations' => '1', 'size' => '5.085', 'cost' => '46343.43', 'incentives' => '12264', 'lat' => 33.98305, 'lng' => -118.06522}, | |
90043 => {'zipcode' => 90043, 'name' => 'Hyde Park (City of LA)/View Park/Windsor Hills', 'number of installations' => '2', 'size' => '10.072', 'cost' => '73892', 'incentives' => '18610.15', 'lat' => 33.99195, 'lng' => -118.33796}, | |
90056 => {'zipcode' => 90056, 'name' => 'Ladera Heights (City of LA)', 'number of installations' => '3', 'size' => '11.028', 'cost' => '70260.13', 'incentives' => '17806', 'lat' => 33.9882, 'lng' => -118.37133}, | |
90292 => {'zipcode' => 90292, 'name' => 'Marina del Rey', 'number of installations' => '5', 'size' => '14.7', 'cost' => '0', 'incentives' => '0', 'lat' => 33.9706, 'lng' => -118.46205}, | |
90047 => {'zipcode' => 90047, 'name' => 'South Central (City of LA)', 'number of installations' => '6', 'size' => '60.7', 'cost' => '0', 'incentives' => '0', 'lat' => 33.95316, 'lng' => -118.30905}, | |
90044 => {'zipcode' => 90044, 'name' => 'Athens', 'number of installations' => '19', 'size' => '35.8', 'cost' => '0', 'incentives' => '0', 'lat' => 33.95292, 'lng' => -118.29173}, | |
90003 => {'zipcode' => 90003, 'name' => 'South Central (City of LA)', 'number of installations' => '7', 'size' => '16.6', 'cost' => '0', 'incentives' => '0', 'lat' => 33.96444, 'lng' => -118.27399}, | |
90001 => {'zipcode' => 90001, 'name' => 'Florence/South Central (City of LA)', 'number of installations' => '4', 'size' => '292.3', 'cost' => '0', 'incentives' => '0', 'lat' => 33.97435, 'lng' => -118.24716}, | |
90602 => {'zipcode' => 90602, 'name' => 'Whittier', 'number of installations' => '3', 'size' => '17.664', 'cost' => '166049', 'incentives' => '40202.04', 'lat' => 33.9741, 'lng' => -118.025}, | |
90045 => {'zipcode' => 90045, 'name' => 'LAX Area (City of LA)/Westchester (City of LA)', 'number of installations' => '30', 'size' => '1358.2', 'cost' => '0', 'incentives' => '0', 'lat' => 33.9563, 'lng' => -118.4016}, | |
90302 => {'zipcode' => 90302, 'name' => 'Inglewood', 'number of installations' => '1', 'size' => '4.763', 'cost' => '48165.11', 'incentives' => '10922', 'lat' => 33.97385, 'lng' => -118.35275}, | |
90240 => {'zipcode' => 90240, 'name' => 'Downey', 'number of installations' => '3', 'size' => '10.314', 'cost' => '101848', 'incentives' => '24223.18', 'lat' => 33.95918, 'lng' => -118.11865}, | |
90605 => {'zipcode' => 90605, 'name' => 'Whittier/South Whittier', 'number of installations' => '6', 'size' => '28.842', 'cost' => '253098.13', 'incentives' => '66152', 'lat' => 33.95754, 'lng' => -118.01606}, | |
90670 => {'zipcode' => 90670, 'name' => 'Santa Fe Springs', 'number of installations' => '1', 'size' => '2.034', 'cost' => '21658.25', 'incentives' => '5085', 'lat' => 33.89905, 'lng' => -118.06362}, | |
90293 => {'zipcode' => 90293, 'name' => 'Playa del Rey (City of LA)', 'number of installations' => '12', 'size' => '44.6', 'cost' => '0', 'incentives' => '0', 'lat' => 33.93958, 'lng' => -118.45336}, | |
90603 => {'zipcode' => 90603, 'name' => 'Whittier', 'number of installations' => '3', 'size' => '18.218', 'cost' => '168576.74', 'incentives' => '40827', 'lat' => 33.94443, 'lng' => -117.99491}, | |
90280 => {'zipcode' => 90280, 'name' => 'South Gate', 'number of installations' => '2', 'size' => '9.662', 'cost' => '90680', 'incentives' => '21825', 'lat' => 33.94854, 'lng' => -118.19402}, | |
90241 => {'zipcode' => 90241, 'name' => 'Downey', 'number of installations' => '2', 'size' => '11.628', 'cost' => '66066.19', 'incentives' => '12857', 'lat' => 33.93953, 'lng' => -118.1258}, | |
90604 => {'zipcode' => 90604, 'name' => 'Whittier', 'number of installations' => '3', 'size' => '12.32', 'cost' => '114910', 'incentives' => '32567', 'lat' => 33.93417, 'lng' => -118.00917}, | |
90304 => {'zipcode' => 90304, 'name' => 'Lennox', 'number of installations' => '1', 'size' => '1.742', 'cost' => '14077.17', 'incentives' => '4317', 'lat' => 33.93822, 'lng' => -118.35697}, | |
90242 => {'zipcode' => 90242, 'name' => 'Downey', 'number of installations' => '2', 'size' => '6.596', 'cost' => '58796.5', 'incentives' => '21138.6', 'lat' => 33.92066, 'lng' => -118.13935}, | |
90061 => {'zipcode' => 90061, 'name' => 'South Central (City of LA)', 'number of installations' => '1', 'size' => '2.4', 'cost' => '0', 'incentives' => '0', 'lat' => 33.92061, 'lng' => -118.27389}, | |
90059 => {'zipcode' => 90059, 'name' => 'Watts (City of LA)/Willowbrook', 'number of installations' => '1', 'size' => '2.4', 'cost' => '0', 'incentives' => '0', 'lat' => 33.92932, 'lng' => -118.24545}, | |
90245 => {'zipcode' => 90245, 'name' => 'El Segundo', 'number of installations' => '4', 'size' => '14.726', 'cost' => '151330.86', 'incentives' => '33573', 'lat' => 33.91672, 'lng' => -118.39819}, | |
90250 => {'zipcode' => 90250, 'name' => 'Hawthorne (Holly Park)', 'number of installations' => '7', 'size' => '22.139', 'cost' => '217856.73', 'incentives' => '51752.67', 'lat' => 33.91622, 'lng' => -118.34607}, | |
90638 => {'zipcode' => 90638, 'name' => 'La Mirada', 'number of installations' => '6', 'size' => '28.043', 'cost' => '275159.12', 'incentives' => '61815', 'lat' => 33.90438, 'lng' => -118.00722}, | |
90249 => {'zipcode' => 90249, 'name' => 'Gardena', 'number of installations' => '1', 'size' => '2.376', 'cost' => '23851.3', 'incentives' => '5882.47', 'lat' => 33.90193, 'lng' => -118.31748}, | |
90247 => {'zipcode' => 90247, 'name' => 'Gardena', 'number of installations' => '4', 'size' => '8.881', 'cost' => '119223.19', 'incentives' => '20159', 'lat' => 33.89511, 'lng' => -118.29968}, | |
90706 => {'zipcode' => 90706, 'name' => 'Bellflower', 'number of installations' => '3', 'size' => '13.925', 'cost' => '125145.67', 'incentives' => '31259', 'lat' => 33.88939, 'lng' => -118.12917}, | |
90266 => {'zipcode' => 90266, 'name' => 'Manhattan Beach', 'number of installations' => '35', 'size' => '186.929', 'cost' => '1845112.07', 'incentives' => '422320.207', 'lat' => 33.88928, 'lng' => -118.39686}, | |
90278 => {'zipcode' => 90278, 'name' => 'Redondo Beach/Torrance', 'number of installations' => '8', 'size' => '29.025', 'cost' => '295365.89', 'incentives' => '62195', 'lat' => 33.87647, 'lng' => -118.37195}, | |
90703 => {'zipcode' => 90703, 'name' => 'Cerritos', 'number of installations' => '10', 'size' => '43.991', 'cost' => '401893.25', 'incentives' => '104438.71', 'lat' => 33.86606, 'lng' => -118.06864}, | |
90504 => {'zipcode' => 90504, 'name' => 'Torrance', 'number of installations' => '3', 'size' => '10.617', 'cost' => '107630', 'incentives' => '24445.67', 'lat' => 33.86944, 'lng' => -118.33249}, | |
90746 => {'zipcode' => 90746, 'name' => 'Carson', 'number of installations' => '2', 'size' => '6.368', 'cost' => '76991', 'incentives' => '13515', 'lat' => 33.84876, 'lng' => -118.25655}, | |
90805 => {'zipcode' => 90805, 'name' => 'North Long Beach (Long Beach)', 'number of installations' => '3', 'size' => '21.005', 'cost' => '215504.4', 'incentives' => '47871.66', 'lat' => 33.86718, 'lng' => -118.17763}, | |
90254 => {'zipcode' => 90254, 'name' => 'Hermosa Beach', 'number of installations' => '15', 'size' => '53.01', 'cost' => '544055.29', 'incentives' => '119723', 'lat' => 33.86388, 'lng' => -118.39537}, | |
90713 => {'zipcode' => 90713, 'name' => 'Lakewood', 'number of installations' => '5', 'size' => '12.786', 'cost' => '132860.53', 'incentives' => '28286.04', 'lat' => 33.84895, 'lng' => -118.10962}, | |
90712 => {'zipcode' => 90712, 'name' => 'Lakewood', 'number of installations' => '5', 'size' => '15.562', 'cost' => '139678.02', 'incentives' => '33762', 'lat' => 33.85065, 'lng' => -118.14635}, | |
90503 => {'zipcode' => 90503, 'name' => 'Torrance', 'number of installations' => '5', 'size' => '16.2', 'cost' => '143486.12', 'incentives' => '36780', 'lat' => 33.84209, 'lng' => -118.35334}, | |
90277 => {'zipcode' => 90277, 'name' => 'Redondo Beach/Torrance', 'number of installations' => '11', 'size' => '34.737', 'cost' => '367189.69', 'incentives' => '77263', 'lat' => 33.82975, 'lng' => -118.38367}, | |
90501 => {'zipcode' => 90501, 'name' => 'Torrance', 'number of installations' => '4', 'size' => '110.64', 'cost' => '76383', 'incentives' => '17948.41', 'lat' => 33.83259, 'lng' => -118.31493}, | |
90745 => {'zipcode' => 90745, 'name' => 'Carson', 'number of installations' => '3', 'size' => '13.986', 'cost' => '124929.12', 'incentives' => '34328.53', 'lat' => 33.82194, 'lng' => -118.25942}, | |
90807 => {'zipcode' => 90807, 'name' => 'Long Beach', 'number of installations' => '28', 'size' => '87.953', 'cost' => '851491.67', 'incentives' => '203141.92', 'lat' => 33.8332, 'lng' => -118.18097}, | |
90715 => {'zipcode' => 90715, 'name' => 'Lakewood', 'number of installations' => '3', 'size' => '10.685', 'cost' => '104342.82', 'incentives' => '24383', 'lat' => 33.84154, 'lng' => -118.0791}, | |
90808 => {'zipcode' => 90808, 'name' => 'Long Beach', 'number of installations' => '20', 'size' => '71.921', 'cost' => '682923.31', 'incentives' => '164144.71', 'lat' => 33.82139, 'lng' => -118.10316}, | |
90810 => {'zipcode' => 90810, 'name' => 'Carson/Long Beach', 'number of installations' => '2', 'size' => '7.032', 'cost' => '60524.09', 'incentives' => '16990', 'lat' => 33.81804, 'lng' => -118.22226}, | |
90505 => {'zipcode' => 90505, 'name' => 'Torrance', 'number of installations' => '4', 'size' => '12.194', 'cost' => '121976.82', 'incentives' => '26229', 'lat' => 33.81004, 'lng' => -118.35027}, | |
90755 => {'zipcode' => 90755, 'name' => 'Signal Hill', 'number of installations' => '1', 'size' => '3.279', 'cost' => '31642', 'incentives' => '7095', 'lat' => 33.80144, 'lng' => -118.16721}, | |
90710 => {'zipcode' => 90710, 'name' => 'Harbor City (City of LA)', 'number of installations' => '1', 'size' => '5', 'cost' => '0', 'incentives' => '0', 'lat' => 33.79727, 'lng' => -118.29591}, | |
90806 => {'zipcode' => 90806, 'name' => 'Long Beach', 'number of installations' => '3', 'size' => '10.717', 'cost' => '119624.29', 'incentives' => '23746.09', 'lat' => 33.81237, 'lng' => -118.17413}, | |
90815 => {'zipcode' => 90815, 'name' => 'Long Beach', 'number of installations' => '36', 'size' => '122.591', 'cost' => '1208810.12', 'incentives' => '283466.45', 'lat' => 33.79957, 'lng' => -118.11591}, | |
90717 => {'zipcode' => 90717, 'name' => 'Lomita/Rancho Palos Verdes', 'number of installations' => '7', 'size' => '42.044', 'cost' => '391950.91', 'incentives' => '96780', 'lat' => 33.77553, 'lng' => -118.31798}, | |
90274 => {'zipcode' => 90274, 'name' => 'Palos Verdes Estates/Rolling Hills/Rolling Hills Estates', 'number of installations' => '22', 'size' => '118.092', 'cost' => '1186016.31', 'incentives' => '268034.67', 'lat' => 33.78258, 'lng' => -118.35084}, | |
90744 => {'zipcode' => 90744, 'name' => 'Wilmington (City of LA)', 'number of installations' => '2', 'size' => '5.6', 'cost' => '0', 'incentives' => '0', 'lat' => 33.78218, 'lng' => -118.25866}, | |
90275 => {'zipcode' => 90275, 'name' => 'Rancho Palos Verdes', 'number of installations' => '40', 'size' => '183.774', 'cost' => '1812091.44', 'incentives' => '409152.9', 'lat' => 33.75134, 'lng' => -118.37179}, | |
90804 => {'zipcode' => 90804, 'name' => 'Long Beach', 'number of installations' => '4', 'size' => '14.226', 'cost' => '134810.86', 'incentives' => '29913', 'lat' => 33.78247, 'lng' => -118.14447}, | |
90813 => {'zipcode' => 90813, 'name' => 'Long Beach', 'number of installations' => '1', 'size' => '2.765', 'cost' => '21507.36', 'incentives' => '6879', 'lat' => 33.78234, 'lng' => -118.19618}, | |
90731 => {'zipcode' => 90731, 'name' => 'San Pedro (City of LA)/Terminal Island (City of LA)', 'number of installations' => '26', 'size' => '60.5', 'cost' => '0', 'incentives' => '0', 'lat' => 33.72733, 'lng' => -118.28005}, | |
90802 => {'zipcode' => 90802, 'name' => 'Long Beach', 'number of installations' => '1', 'size' => '5.299', 'cost' => '45376.32', 'incentives' => '12483', 'lat' => 33.76684, 'lng' => -118.18715}, | |
90803 => {'zipcode' => 90803, 'name' => 'Long Beach', 'number of installations' => '20', 'size' => '75.955', 'cost' => '732612.5', 'incentives' => '174457.03', 'lat' => 33.7614, 'lng' => -118.13262}, | |
90814 => {'zipcode' => 90814, 'name' => 'Long Beach', 'number of installations' => '13', 'size' => '42.395', 'cost' => '394337.86', 'incentives' => '103108.74', 'lat' => 33.77152, 'lng' => -118.14241}, | |
90732 => {'zipcode' => 90732, 'name' => 'Rancho Palos Verdes', 'number of installations' => '6', 'size' => '17.1', 'cost' => '0', 'incentives' => '0', 'lat' => 33.72662, 'lng' => -118.32058}, | |
90704 => {'zipcode' => 90704, 'name' => 'Avalon', 'number of installations' => '10', 'size' => '27.967', 'cost' => '248837.5', 'incentives' => '63100', 'lat' => 33.13635, 'lng' => -118.45573}, | |
91310 => {'zipcode' => 91310, 'name' => 'Castaic', 'number of installations' => '5', 'size' => '21.926', 'cost' => '232567', 'incentives' => '50416.38', 'lat' => 34.49464, 'lng' => -118.61446}, | |
91327 => {'zipcode' => 91327, 'name' => 'Northridge', 'number of installations' => '1', 'size' => '2.6', 'cost' => '0', 'incentives' => '0', 'lat' => 34.27302, 'lng' => -118.55143}, | |
91043 => {'zipcode' => 91043, 'name' => 'Tujunga (City of LA)', 'number of installations' => '1', 'size' => '3', 'cost' => '0', 'incentives' => '0', 'lat' => 34.25201, 'lng' => -118.29279}, | |
90801 => {'zipcode' => 90801, 'name' => 'Long Beach', 'number of installations' => '1', 'size' => '2.336', 'cost' => '20300', 'incentives' => '4939', 'lat' => 33.77378, 'lng' => -118.18631}, | |
90711 => {'zipcode' => 90711, 'name' => 'Lakewood', 'number of installations' => '1', 'size' => '3.578', 'cost' => '32804', 'incentives' => '10916', 'lat' => 33.84894, 'lng' => -118.14677}, | |
90406 => {'zipcode' => 90406, 'name' => 'Santa Monica', 'number of installations' => '1', 'size' => '3.579', 'cost' => '39244', 'incentives' => '8892', 'lat' => 34.01817, 'lng' => -118.4972}, | |
90213 => {'zipcode' => 90213, 'name' => 'Beverly Hills', 'number of installations' => '1', 'size' => '8.893', 'cost' => '81802', 'incentives' => '21388', 'lat' => 34.05481, 'lng' => -118.40416}, | |
90209 => {'zipcode' => 90209, 'name' => 'Beverly Hills', 'number of installations' => '2', 'size' => '20.172', 'cost' => '203761.78', 'incentives' => '48214', 'lat' => 34.072, 'lng' => -118.39142}, | |
90311 => {'zipcode' => 90311, 'name' => 'Inglewood', 'number of installations' => '1', 'size' => '106.5', 'cost' => '0', 'incentives' => '0', 'lat' => 33.95731, 'lng' => -118.35838}, | |
91769 => {'zipcode' => 91769, 'name' => 'Pomona', 'number of installations' => '1', 'size' => '6.269', 'cost' => '56815', 'incentives' => '14922.07', 'lat' => 34.06136, 'lng' => -117.75682}, | |
90086 => {'zipcode' => 90086, 'name' => 'Los Angeles', 'number of installations' => '1', 'size' => '2', 'cost' => '0', 'incentives' => '0', 'lat' => 34.06636, 'lng' => -118.23972}, | |
90060 => {'zipcode' => 90060, 'name' => 'Los Angeles', 'number of installations' => '1', 'size' => '3.8', 'cost' => '0', 'incentives' => '0', 'lat' => 33.99574, 'lng' => -118.42202}, | |
90055 => {'zipcode' => 90055, 'name' => 'Los Angeles', 'number of installations' => '1', 'size' => '3.2', 'cost' => '0', 'incentives' => '0', 'lat' => 34.04754, 'lng' => -118.25656}, | |
91371 => {'zipcode' => 91371, 'name' => 'Woodland Hills', 'number of installations' => '1', 'size' => '149.9', 'cost' => '0', 'incentives' => '0', 'lat' => 34.18114, 'lng' => -118.57061}, | |
0 => {'zipcode' => 0, 'name' => 'Pasadena (all)', 'number of installations' => '92', 'size' => '560.5', 'cost' => '0', 'incentives' => '0', 'lat' => 34.14777, 'lng' => -118.14355} | |
} | |
pasadena_zips = [91101,91102,91103,91104,91105,91106,91107,91109,91110,91114,91115,91116,91117,91121,91123,91124,91125,91126,91129,91131,91175,91182,91184,91185,91186,91187,91188,91189,91191] | |
pasadena_shapes = [] | |
%w{ rubygems geo_ruby }.each {|gem| require gem} | |
kml = %Q{<?xml version="1.0" encoding="UTF-8"?> | |
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom"> | |
<Document> | |
<name>LA County Solar Arrays</name> | |
<open>1</open> | |
} | |
include GeoRuby::Shp4r | |
ShpFile.open("/Users/ajturner/Downloads/zt06_d00_shp/zt06_d00") do |shp| | |
shp.each do |shape| | |
pasadena_shapes << shape.geometry if pasadena_zips.include?(shape.data["ZCTA"].to_i) | |
if zipMarkers.keys.include?(shape.data["ZCTA"].to_i) | |
item = zipMarkers[shape.data["ZCTA"].to_i] | |
kml << %Q{<Placemark id="#{item["zipcode"]}"> | |
<name>#{(item["name"] || "").gsub(/&/,'&')}</name> | |
<description><![CDATA[#{(item["name"] || "").gsub(/&/,'&')}]]></description> | |
#{shape.geometry.as_kml} | |
<ExtendedData>} | |
# 90806 => {'zipcode' => 90806, 'name' => 'Long Beach', 'number of installations' => '3', 'size' => '10.717', 'cost' => '119624.29', 'incentives' => '23746.09', 'lat' => 33.81237, 'lng' => -118.17413}, | |
["zipcode", "name", "number of installations", "size", "cost", "incentives"].each do |attribute| | |
kml << %Q{ | |
<Data name="#{attribute}"> | |
<value>#{item[attribute]}</value> | |
</Data>} | |
end | |
kml << %Q{</ExtendedData> | |
<address>#{item["name"]}</address> | |
</Placemark> | |
} | |
end | |
end | |
end | |
item = zipMarkers[0] # all of Pasadena | |
kml << %Q{<Placemark id="#{item["zipcode"]}"> | |
<name>#{(item["name"] || "").gsub(/&/,'&')}</name> | |
<description><![CDATA[#{(item["name"] || "").gsub(/&/,'&')}]]></description> | |
#{GeoRuby::SimpleFeatures::MultiPolygon.from_polygons(pasadena_shapes).as_kml} | |
<ExtendedData>} | |
# 90806 => {'zipcode' => 90806, 'name' => 'Long Beach', 'number of installations' => '3', 'size' => '10.717', 'cost' => '119624.29', 'incentives' => '23746.09', 'lat' => 33.81237, 'lng' => -118.17413}, | |
["zipcode", "name", "number of installations", "size", "cost", "incentives"].each do |attribute| | |
kml << %Q{ | |
<Data name="#{attribute}"> | |
<value>#{item[attribute]}</value> | |
</Data>} | |
end | |
kml << %Q{</ExtendedData> | |
<address>#{item["name"]}</address> | |
</Placemark> | |
} | |
kml << %Q{</Document> | |
</kml>} | |
File.open("lacountysolar.kml","w") {|f| f << kml} | |
# Individual | |
# /** | |
# id => unique id of the install | |
# typ => type of installation | |
# 0 => Government | |
# 1 => Residential | |
# 2 => School/Library | |
# 3 => Non-profit | |
# 4 => Commercial | |
# cs => case study | |
# name => name of the location | |
# s => size | |
# out; electricity generated | |
# sav => savings | |
# inst => installer name | |
# url => installer url | |
# q => quote | |
# e => emissions | |
# lat => latitude | |
# lng => longitude | |
# */ | |
indivInstalls= [ | |
{'id' => 1, 'lng' => -118.257581, 'lat' => 34.23347, 'typ' => 1, 'case study' => '0', 'name' => '', 'size' => '0', 'electricity generated' => '', 'savings' => '', 'emissions' => '', 'installer name' => 'Phat Energy', 'url' => 'http://www.phatenergy.com', 'quote' => ''}, | |
{'id' => 2, 'lng' => -118.233537, 'lat' => 34.205743, 'typ' => 1, 'case study' => '0', 'name' => '', 'size' => '1.35', 'electricity generated' => '2,012', 'savings' => '302', 'emissions' => '1,456', 'installer name' => 'Phat Energy', 'url' => 'http://www.phatenergy.com', 'quote' => 'My concern about the climate change and the ability to save money at the same time meant that as soon as I could afford to put in solar I did'}, | |
{'id' => 3, 'lng' => -118.182305, 'lat' => 34.208123, 'typ' => 1, 'case study' => '0', 'name' => '', 'size' => '3.51', 'electricity generated' => '5,230', 'savings' => '784', 'emissions' => '3,786', 'installer name' => 'Phat Energy', 'url' => 'http://www.phatenergy.com', 'quote' => 'I believe in solar so much that I got a job at a local solar company. Global warming, national security, and sky rocketing future energy costs convinced me solar was the way to go. The utility rebate and federal tax credit made it a no brainer'}, | |
{'id' => 4, 'lng' => -118.48989, 'lat' => 34.011523, 'typ' => 0, 'case study' => '0', 'name' => 'Civic Center Parking Structure', 'size' => '181', 'electricity generated' => '269,690', 'savings' => '40,454', 'emissions' => '195,256', 'installer name' => 'R.W.E Schott', 'url' => '', 'quote' => ''}, | |
{'id' => 5, 'lng' => -118.448345, 'lat' => 34.014624, 'typ' => 0, 'case study' => '0', 'name' => '', 'size' => '52', 'electricity generated' => '77,480', 'savings' => '11,622', 'emissions' => '56,096', 'installer name' => 'Kyocera', 'url' => '', 'quote' => ''}, | |
{'id' => 6, 'lng' => -118.497582, 'lat' => 34.008498, 'typ' => 0, 'case study' => '0', 'name' => 'Solar Ferris Wheel - Pacific Ocean Park', 'size' => '30', 'electricity generated' => '44,700', 'savings' => '6,705', 'emissions' => '32,363', 'installer name' => '', 'url' => '', 'quote' => ''}, | |
{'id' => 7, 'lng' => -118.489826, 'lat' => 34.008874, 'typ' => 0, 'case study' => '0', 'name' => 'SolarPort', 'size' => '35', 'electricity generated' => '52,150', 'savings' => '7,823', 'emissions' => '37,757', 'installer name' => 'Unisolar', 'url' => '', 'quote' => ''}, | |
{'id' => 8, 'lng' => -118.493345, 'lat' => 34.018076, 'typ' => 2, 'case study' => '0', 'name' => 'Santa Monica Public Library', 'size' => '10', 'electricity generated' => '14,900', 'savings' => '2,235', 'emissions' => '10,788', 'installer name' => '', 'url' => '', 'quote' => ''}, | |
{'id' => 9, 'lng' => -118.475025, 'lat' => 34.024436, 'typ' => 3, 'case study' => '0', 'name' => 'Olympic Studios', 'size' => '30', 'electricity generated' => '44,700', 'savings' => '6,705', 'emissions' => '32,363', 'installer name' => 'Sharp', 'url' => '', 'quote' => ''}, | |
{'id' => 10, 'lng' => -118.490603, 'lat' => 34.014444, 'typ' => 3, 'case study' => '0', 'name' => 'CCSM Colorado Court', 'size' => '28', 'electricity generated' => '41,720', 'savings' => '6,258', 'emissions' => '30,205', 'installer name' => 'BP Solar', 'url' => '', 'quote' => ''}, | |
{'id' => 11, 'lng' => -118.493592, 'lat' => 34.023315, 'typ' => 4, 'case study' => '0', 'name' => 'The Phelps Group', 'size' => '50', 'electricity generated' => '74,500', 'savings' => '11,175', 'emissions' => '53,938', 'installer name' => '', 'url' => '', 'quote' => ''}, | |
{'id' => 12, 'lng' => -118.498505, 'lat' => 34.015671, 'typ' => 4, 'case study' => '0', 'name' => 'NRDC Building', 'size' => '7.5', 'electricity generated' => '11,175', 'savings' => '1,676', 'emissions' => '8,091', 'installer name' => '', 'url' => '', 'quote' => ''}, | |
{'id' => 13, 'lng' => -118.476979, 'lat' => 34.02407, 'typ' => 4, 'case study' => '0', 'name' => 'Michael Lee, Inc.', 'size' => '9', 'electricity generated' => '13,410', 'savings' => '2,012', 'emissions' => '9,709', 'installer name' => '', 'url' => '', 'quote' => ''}, | |
{'id' => 14, 'lng' => -118.474963, 'lat' => 34.023901, 'typ' => 4, 'case study' => '0', 'name' => 'Studio of Environmental Architecture', 'size' => '13.5', 'electricity generated' => '20,115', 'savings' => '3,017', 'emissions' => '14,563', 'installer name' => '', 'url' => '', 'quote' => ''}, | |
{'id' => 15, 'lng' => -118.1224, 'lat' => 34.139459, 'typ' => 2, 'case study' => '1', 'name' => 'CalTech', 'size' => '199', 'electricity generated' => '296,510', 'savings' => '44,477', 'emissions' => '214,673', 'installer name' => '', 'url' => 'http://sustainability.caltech.edu/utilities/CaltechSolar', 'quote' => ''}, | |
{'id' => 16, 'lng' => -118.33335, 'lat' => 34.159863, 'typ' => 1, 'case study' => '0', 'name' => '', 'size' => '2.8', 'electricity generated' => '4,172', 'savings' => '876', 'emissions' => '3,021', 'installer name' => 'Solar Electrical Systems', 'url' => 'http://www.solarelectricalsystems.com/', 'quote' => 'One reason that I made the investement in solar power is that my price for electricity won\'t go up for the next 25 years'} | |
] | |
kml = %Q{<?xml version="1.0" encoding="UTF-8"?> | |
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom"> | |
<Document> | |
<name>LA County Solar Installations</name> | |
<open>1</open> | |
} | |
indivInstalls.each do |item| | |
kml << %Q{<Placemark id="#{item["zipcode"]}"> | |
<name>#{(item["name"] || "").gsub(/&/,'&')}</name> | |
<description><![CDATA[#{(item["name"] || "").gsub(/&/,'&')}]]></description> | |
<Point> | |
<coordinates>#{item["lng"]},#{item["lat"]},0</coordinates> | |
</Point> | |
<ExtendedData>} | |
["id", "name", "installer name", "url", "quote", "save", 'emissions', 'electricity generated', 'savings','case study', 'size'].each do |attribute| | |
kml << %Q{ | |
<Data name="#{attribute}"> | |
<value>#{item[attribute].gsub(/&/,'&')}</value> | |
</Data>} | |
end | |
kml << %Q{</ExtendedData> | |
<address>#{item["name"]}</address> | |
</Placemark> | |
} | |
end | |
kml << %Q{</Document> | |
</kml>} | |
File.open("lasolarinstallations.kml","w") {|f| f << kml} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment