├── README.md ├── css └── style.css ├── images ├── about.png ├── animate.png ├── builtla_cover.png ├── builtla_logo.png ├── builtla_logo_v2.png ├── builtla_mobile.png ├── time1909.png ├── time1910.png ├── time1920.png ├── time1930.png ├── time1940.png ├── time1950.png ├── time1960.png ├── time1970.png ├── time1980.png ├── time1990.png ├── time2000.png └── time_mobile.png ├── index.html ├── index_2014.html ├── index_dep.html └── indexgl_touch.html /README.md: -------------------------------------------------------------------------------- 1 | ![alt text](https://github.com/cityhubla/LA_Building_Age/blob/master/images/builtla_cover.png) 2 | # built : Los Angeles 3 | 4 | [LIVE DEMO](http://cityhubla.github.io/LA_Building_Age/) 5 | 6 | This map was made to explore the potential uses of opensource mapping tools like QGIS, Mapbox, and Leaflet to be used as iterative tools to reframe the issues in Land Use, Planning and Public Policy. 7 | 8 | HTML to load Map tiles from cityhub server host // Breakdown on the processes involved in developing map will be up soon. 9 | 10 | Since 2008, there are over 2.9 million buildings in Los Angeles County. This visualization gives an overall look at the age of the building stock as of 2008. 11 | Each building is shaded according to the time they were built. 12 | Map made with Mapbox Studio and MapboxGL by [Omar Ureta](http://www.theworks.la), inspired by Portland, Oregon: The Age of a City 13 | 14 | ### Method 15 | * The display of the building outlines with their age was done by linking the two datasets (LARIAC and Local Roll) by their APN (Assessor's Parcel Number). Additionally the street number, name and city were linked through the two datasets. 16 | 17 | ### Updates 18 | 7.2.2015 // 2014 vector tiles made using Mapbox Studio, most buildings now have data on years built, government buildings still null while some buildings with no data have disappeared altogether. [Working demo](http://cityhubla.github.io/LA_Building_Age/index_2014.html) here. Data discrepancies are linking 2008 building outlines with 2014 parcel data. This 6 year gap between the two will not show buildings new and demoed between 2009 and 2014. Explorations in styling the demoed buildings are being considered. 19 | 20 | 7.2.2015 // [MapbogGL.js](https://github.com/mapbox/mapbox-gl-js) has been updated to version 0.8.1, allowing mobile touch command. [Working demo](http://cityhubla.github.io/LA_Building_Age/indexgl_touch.html) here. 21 | 22 | ### Future Updates 23 | * Map will be updated to the 2014 Local Roll made available on the [LA County GIS Data Portal](http://egis3.lacounty.gov/dataportal/2015/03/10/assessor-parcel/) 24 | * A search bar will be added to find specific addresses 25 | * Building Uses! The data behind this map also contains the use of every building, (single family homes, multifamily housing, retail, industrial warehouse, schools) 26 | 27 | ### Notes 28 | * Grey areas indicate no data on year building was built. 29 | * The addresses shown are according to what the 2011 LA County Assessor Roll Data had to the corresponding Parcel Number. Please check with the [LA County APN Property Search](http://maps.assessor.lacounty.gov/GVH_2_2/Index.html?configBase=http://maps.assessor.lacounty.gov/Geocortex/Essentials/REST/sites/PAIS/viewers/PAIS_hv/virtualdirectory/Resources/Config/Default) to get a more accurate view of your property. 30 | * Please contact me if you intend to use the map as a baselayer for other work. I will be changing the access keys and IP frequently. The intent of posting the code on github is for mappers to understand how this got built with mapbox-gl and the new styling of the features. 31 | 32 | ### Known Inaccuracies 33 | * Building outline data shows what existed in 2008, buildings during the century may have been replaced and is not shown with this map. 34 | * Parcels that have more than one building may contain dates of one of the buildings as the local roll contained only one. 35 | * There are missing dates on buildings even though their date is known through the [LA County APN Property Search](http://maps.assessor.lacounty.gov/GVH_2_2/Index.html?configBase=http://maps.assessor.lacounty.gov/Geocortex/Essentials/REST/sites/PAIS/viewers/PAIS_hv/virtualdirectory/Resources/Config/Default). The data worked with was from the 2011 parcel local roll, a look at the now released 2014 local roll through the County's Open Data portal shows that many have been updated with dates. My apartment for example did not have a date on 2011 local roll and now does on the 2014 set. Updates to the map will reflect the updated set. 36 | * There is a 3 (three) year gap between the Local Roll data (2011) and the Building Outlines (2008). Properties that have new buildings since 2008 will still have the building outline from 2008. The most recent building on the 2011 Local Roll was built in 2009 bringing the gap close to 1 year. The age map will be updated to remove this gap. 37 | * Please report any other inaccuracies in the Issues section of this repo. Many of these can be brought to the attention of LA County and help them improve their datasets. 38 | 39 | ### From these sources: 40 | 41 | * Building Outline Data: [Los Angeles County GIS Data Portal LARAIC2](http://egis3.lacounty.gov/dataportal/2011/04/28/countywide-building-outlines/) 42 | * Age attributes: [2011 LA County Assessor Parcel Local Roll](http://gis.ats.ucla.edu/Mapshare/) 43 | * The disclaimer from using these resources from the County are as follows: The data available on this website, including Geographic Information Systems (“GIS”) data, maps, tables, numbers, graphics, and text (hereinafter collectively referred to as the “Information”), is provided AS IS and for you to view, access, copy, distribute and otherwise use the Information at your own risk. The County of Los Angeles, its departments and its affiliated entities, elected and appointed officers, officials, employees and agents (hereinafter referred to as the “County”) make no representation or warranty of any kind regarding this website or Information, explicit or implied. 44 | 45 | Using this map will ask more questions about LA's development and it should continue to evolve and explore these inquiries. Maps should be [transformative agents](http://www.thepolisblog.org/2010/03/mapping-as-transformative-agent-in.html) 46 | 47 | #### Help improve this map! 48 | The building outline data is from 2008, there is a [2014](http://egis3.lacounty.gov/dataportal/2014/10/16/countywide-building-outlines-2014/) set from the county that is not public. An effort is underway to prepare the import of the 2008 buildings and hopefully the 2014 set to [OpenStreetMap](https://github.com/osmlab/labuildings). 49 | -------------------------------------------------------------------------------- /css/style.css: -------------------------------------------------------------------------------- 1 | @charset "utf-8"; 2 | @import url(https://fonts.googleapis.com/css?family=Lato:300,400,700); 3 | /* CSS Document */ 4 | body { margin: 0; padding: 0;} 5 | #map { position:absolute; top:0; bottom:0; width:100%; } 6 | 7 | a:visited{ 8 | color:aqua; 9 | } 10 | 11 | a:link{ 12 | color:dodgerblue; 13 | } 14 | 15 | button { 16 | position: relative; 17 | left:0px; 18 | margin: 2px auto; 19 | width: 50%; 20 | height: 20px; 21 | border: none; 22 | border-radius: 3px; 23 | font-size: 12px; 24 | text-align: center; 25 | color: #fff; 26 | } 27 | 28 | #info_mobile { 29 | display:none 30 | } 31 | 32 | #info { 33 | font-family: Sans-Serif; 34 | position: absolute; 35 | top: 20px; 36 | left: 20px; 37 | color: #FFF; 38 | width: 570px; 39 | height: 110px; 40 | } 41 | 42 | #timeline{ 43 | position: fixed; 44 | top: 105px; 45 | } 46 | 47 | #timeline img { 48 | float: left; 49 | } 50 | 51 | #icons{ 52 | position: fixed; 53 | top: 20px; 54 | left: 580px; 55 | width: 55px; 56 | } 57 | 58 | #icons img{ 59 | float:left; 60 | } 61 | 62 | #builtbox { 63 | background-color: black; 64 | width: 617px; 65 | height: 25px; 66 | padding-top: 5px; 67 | text-align: center; 68 | } 69 | 70 | #aboutbox { 71 | display: none; 72 | font-family: Sans-Serif; 73 | position: fixed; 74 | top: 20px; 75 | padding-left: 13px; 76 | color: #FFF; 77 | width: 548px; 78 | height: 320px; 79 | background-color: black; 80 | } 81 | 82 | #animate_mobile{ 83 | display:none; 84 | } 85 | 86 | .ui-button { 87 | background:#3887BE; 88 | color:#FFF; 89 | display:block; 90 | position:absolute; 91 | top:50%;left:50%; 92 | width:160px; 93 | margin:-20px 0 0 -80px; 94 | z-index:100; 95 | text-align:center; 96 | padding:10px; 97 | border:1px solid rgba(0,0,0,0.4); 98 | border-radius:3px; 99 | } 100 | .ui-button:hover { 101 | background:#3074a4; 102 | color:#fff; 103 | } 104 | 105 | 106 | .offbutton { 107 | background-color: #ff7911; 108 | } 109 | 110 | #divback{ 111 | background:#000; 112 | } 113 | 114 | @media (max-width:800px) { 115 | 116 | #info { 117 | display:none; 118 | } 119 | 120 | #icons{ 121 | position: fixed; 122 | top: 0px; 123 | left: 221px; 124 | width:100%; 125 | } 126 | 127 | #icons img{ 128 | float: left; 129 | width: 50px; 130 | } 131 | 132 | #info_mobile { 133 | display:block; 134 | height:70px; 135 | text-shadow:none; 136 | left:0px; 137 | top:0px; 138 | position: absolute; 139 | padding: 0px; 140 | background: #231f20; 141 | color: #FFF; 142 | } 143 | #aboutboxmobile { 144 | display:none; 145 | font-family: Sans-Serif; 146 | position: fixed; 147 | top: 70px; 148 | padding-left: 13px; 149 | color: #FFF; 150 | width: 80%; 151 | height: 80%; 152 | background-color: black; 153 | overflow: scroll; 154 | } 155 | 156 | #infobox{ 157 | display:none; 158 | } 159 | 160 | #animate_mobile{ 161 | display:block; 162 | position: fixed; 163 | width: 100%; 164 | bottom: 7%; 165 | } 166 | button { 167 | margin: 2px auto; 168 | height: 50px; 169 | width: 100%; 170 | } 171 | #divback{ 172 | background:#22ecf0; 173 | } 174 | } -------------------------------------------------------------------------------- /images/about.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cityhubla/LA_Building_Age/032d890b47d77029cdc51bd0a7451640b9453bb9/images/about.png -------------------------------------------------------------------------------- /images/animate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cityhubla/LA_Building_Age/032d890b47d77029cdc51bd0a7451640b9453bb9/images/animate.png -------------------------------------------------------------------------------- /images/builtla_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cityhubla/LA_Building_Age/032d890b47d77029cdc51bd0a7451640b9453bb9/images/builtla_cover.png -------------------------------------------------------------------------------- /images/builtla_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cityhubla/LA_Building_Age/032d890b47d77029cdc51bd0a7451640b9453bb9/images/builtla_logo.png -------------------------------------------------------------------------------- /images/builtla_logo_v2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cityhubla/LA_Building_Age/032d890b47d77029cdc51bd0a7451640b9453bb9/images/builtla_logo_v2.png -------------------------------------------------------------------------------- /images/builtla_mobile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cityhubla/LA_Building_Age/032d890b47d77029cdc51bd0a7451640b9453bb9/images/builtla_mobile.png -------------------------------------------------------------------------------- /images/time1909.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cityhubla/LA_Building_Age/032d890b47d77029cdc51bd0a7451640b9453bb9/images/time1909.png -------------------------------------------------------------------------------- /images/time1910.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cityhubla/LA_Building_Age/032d890b47d77029cdc51bd0a7451640b9453bb9/images/time1910.png -------------------------------------------------------------------------------- /images/time1920.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cityhubla/LA_Building_Age/032d890b47d77029cdc51bd0a7451640b9453bb9/images/time1920.png -------------------------------------------------------------------------------- /images/time1930.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cityhubla/LA_Building_Age/032d890b47d77029cdc51bd0a7451640b9453bb9/images/time1930.png -------------------------------------------------------------------------------- /images/time1940.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cityhubla/LA_Building_Age/032d890b47d77029cdc51bd0a7451640b9453bb9/images/time1940.png -------------------------------------------------------------------------------- /images/time1950.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cityhubla/LA_Building_Age/032d890b47d77029cdc51bd0a7451640b9453bb9/images/time1950.png -------------------------------------------------------------------------------- /images/time1960.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cityhubla/LA_Building_Age/032d890b47d77029cdc51bd0a7451640b9453bb9/images/time1960.png -------------------------------------------------------------------------------- /images/time1970.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cityhubla/LA_Building_Age/032d890b47d77029cdc51bd0a7451640b9453bb9/images/time1970.png -------------------------------------------------------------------------------- /images/time1980.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cityhubla/LA_Building_Age/032d890b47d77029cdc51bd0a7451640b9453bb9/images/time1980.png -------------------------------------------------------------------------------- /images/time1990.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cityhubla/LA_Building_Age/032d890b47d77029cdc51bd0a7451640b9453bb9/images/time1990.png -------------------------------------------------------------------------------- /images/time2000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cityhubla/LA_Building_Age/032d890b47d77029cdc51bd0a7451640b9453bb9/images/time2000.png -------------------------------------------------------------------------------- /images/time_mobile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cityhubla/LA_Building_Age/032d890b47d77029cdc51bd0a7451640b9453bb9/images/time_mobile.png -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Age of Los Angeles 5 | 6 | 7 | 11 | 16 | 17 | 18 | 19 | 23 | 27 | 28 | 52 | 53 |
54 |
55 | 56 |
57 | 62 | 67 |
68 |
69 |

70 | The mobile version does not allow pan or zoom yet, please use a 71 | desktop for full use 72 |

73 |

74 | Built:LA created by Omar UretaMapbox Studio and Mapbox-GL, 76 | inspired by 77 | Portland, Oregon: The Age of a City 80 | Terrain and Label Data by Mapbox. 81 | OpenStreetMap, under 82 | ODbL. 83 |

84 |

85 | Thanks goes out to Maptime for 86 | opening the doors to amazing cartographic possibilities!! 87 |

88 | 89 |

90 | Code and map research can be found on 91 | Github 92 |

93 |
94 |
95 |
96 | 97 |
98 | 103 | 108 | 113 | 118 | 123 | 128 | 133 | 138 | 143 | 148 | 153 |
154 |
155 | 160 | 165 |
166 |
Hover over a building for year built
167 |
168 | 169 |
170 |

171 | Built:LA developed by 172 | Omar Ureta 173 | 174 | (Linkedin). Made with 176 | Mapbox Studio and Mapbox-GL, 177 | inspired by 178 | Portland, Oregon: The Age of a City 181 | Terrain and Label Data by Mapbox. 182 | OpenStreetMap, under 183 | ODbL. 184 |

185 |

186 | Thanks goes out to Maptime for 187 | opening the doors to amazing cartographic possibilities!! 188 |

189 | 190 |

191 | Code and map update logs can be found on 192 | Github 193 |

194 |

195 | Data // Building Outlines: 196 | LA County GIS Data Portal, Age Attributes 200 | LA County Assessor Local Roll 203 | (Note: There were buildings that had no data on the time they were 204 | built. They are shown, only greyed out.) 205 |

206 |

207 | This map uses WEBGL, which is optimized for Chrome and Firefox, Safari 208 | users need to enable 209 | WEBGL 212 |

213 |
214 |
215 | 216 | 578 | 579 | 580 | -------------------------------------------------------------------------------- /index_2014.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Age of Los Angeles 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 25 | 26 |
27 |
28 |
29 | 30 | 31 |
32 |
33 |

The mobile version does not allow pan or zoom yet, please use a desktop for full use

34 |

Built:LA developed by Omar Ureta (Linkedin) of the Urban Policy Collective @ Roschen Van Cleve Architects, founded by Bill Roschen, FAIA and Christi Van Cleve, AIA. Made with Mapbox Studio and Mapbox-GL, inspired by Portland, Oregon: The Age of a City Terrain and Label Data by Mapbox. OpenStreetMap, under ODbL.

Thanks goes out to Maptime for opening the doors to amazing cartographic possibilities!!

35 |

36 |

Code and map research can be found on Github

37 |
38 |
39 |
40 | 41 |
42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 |
54 |
55 | 56 | 57 |
58 |
59 |
60 | 61 |
62 |

Built:LA developed by Omar Ureta (Linkedin) of the Urban Policy Collective @ Roschen Van Cleve Architects, founded by Bill Roschen, FAIA and Christi Van Cleve, AIA. Made with Mapbox Studio and Mapbox-GL, inspired by Portland, Oregon: The Age of a City Terrain and Label Data by Mapbox. OpenStreetMap, under ODbL.

Thanks goes out to Maptime for opening the doors to amazing cartographic possibilities!!

63 |

64 |

Code and map update logs can be found on Github

65 |

Data // Building Outlines: LA County GIS Data Portal, Age Attributes LA County Assessor Local Roll (Note: There were buildings that had no data on the time they were built. They are shown, only greyed out.)

This map uses WEBGL, which is optimized for Chrome and Firefox, Safari users need to enable WEBGL

66 |
67 |
68 | 69 | 70 | 676 | 677 | 678 | -------------------------------------------------------------------------------- /index_dep.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Age of Los Angeles 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 25 | 26 |
27 |
28 |
29 | 30 | 31 |
32 |
33 |

The mobile version does not allow pan or zoom yet, please use a desktop for full use

34 |

Built:LA created by Omar UretaMapbox Studio and Mapbox-GL, inspired by Portland, Oregon: The Age of a City Terrain and Label Data by Mapbox. OpenStreetMap, under ODbL.

Thanks goes out to Maptime for opening the doors to amazing cartographic possibilities!!

35 |

36 |

Code and map research can be found on Github

37 |
38 |
39 |
40 | 41 |
42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 |
54 |
55 | 56 | 57 |
58 |
59 |
60 | 61 |
62 |

Built:LA developed by Omar Ureta (Linkedin). Made with Mapbox Studio and Mapbox-GL, inspired by Portland, Oregon: The Age of a City Terrain and Label Data by Mapbox. OpenStreetMap, under ODbL.

Thanks goes out to Maptime for opening the doors to amazing cartographic possibilities!!

63 |

64 |

Code and map update logs can be found on Github

65 |

Data // Building Outlines: LA County GIS Data Portal, Age Attributes LA County Assessor Local Roll (Note: There were buildings that had no data on the time they were built. They are shown, only greyed out.)

This map uses WEBGL, which is optimized for Chrome and Firefox, Safari users need to enable WEBGL

66 |
67 |
68 | 69 | 70 | 701 | 702 | 703 | -------------------------------------------------------------------------------- /indexgl_touch.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Age of Los Angeles 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 25 | 26 |
27 |
28 |
29 | 30 | 31 |
32 |
33 |

The mobile version does not allow pan or zoom yet, please use a desktop for full use

34 |

Built:LA developed by Omar Ureta (Linkedin) of the Urban Policy Collective @ Roschen Van Cleve Architects, founded by Bill Roschen, FAIA and Christi Van Cleve, AIA. Made with Mapbox Studio and Mapbox-GL, inspired by Portland, Oregon: The Age of a City Terrain and Label Data by Mapbox. OpenStreetMap, under ODbL.

Thanks goes out to Maptime for opening the doors to amazing cartographic possibilities!!

35 |

36 |

Code and map research can be found on Github

37 |
38 |
39 |
40 | 41 |
42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 |
54 |
55 | 56 | 57 |
58 |
59 |
60 | 61 |
62 |

Built:LA developed by Omar Ureta (Linkedin) of the Urban Policy Collective @ Roschen Van Cleve Architects, founded by Bill Roschen, FAIA and Christi Van Cleve, AIA. Made with Mapbox Studio and Mapbox-GL, inspired by Portland, Oregon: The Age of a City Terrain and Label Data by Mapbox. OpenStreetMap, under ODbL.

Thanks goes out to Maptime for opening the doors to amazing cartographic possibilities!!

63 |

64 |

Code and map update logs can be found on Github

65 |

Data // Building Outlines: LA County GIS Data Portal, Age Attributes LA County Assessor Local Roll (Note: There were buildings that had no data on the time they were built. They are shown, only greyed out.)

This map uses WEBGL, which is optimized for Chrome and Firefox, Safari users need to enable WEBGL

66 |
67 |
68 | 69 | 70 | 649 | 650 | 651 | --------------------------------------------------------------------------------