{"generated":"2026-11-04","base":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com","license":"Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)\n\nThis data is licensed CC BY-NC-SA 4.0: https://creativecommons.org/licenses/by-nc-sa/4.0/\nYou may share and adapt it with attribution, for non-commercial use, under the same license.\nCredit it as:\n\n    Based on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org), licensed CC BY-NC-SA 4.0.\n\nThe license covers this project's contribution (the reading, alignment and processing), not the\nunderlying maps or the DataSF parcels, which keep their own terms. See https://sfzoning.com.\n","files":{"1921/citywide.cog":{"series":"1921","layer":"citywide","fmt":"cog","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/cc3b620cfd80/1921-citywide.tif","bytes":129656680,"sha256":"ce47cd189417478b46698e37c1b62ebfde4cb3178cdd8abb2a62dde3d8d35855","fingerprint":"cc3b620cfd808c41eb1abfe62b7416e71793eb6cabb13acb960c40ff8095ce2a","updated":"2026-11-04","extra":{"1921-citywide.README.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/cc3b620cfd80/1921-citywide.README.txt","1921-citywide.LICENSE.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/cc3b620cfd80/1921-citywide.LICENSE.txt"}},"1921/districts.geojson":{"series":"1921","layer":"districts","fmt":"geojson","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/9c9f0db86bd7/1921-districts.geojson.zip","bytes":2992501,"sha256":"78bc3afd437982e70d5d77362a496da2a35f409476c0b27a46716d2d08287524","fingerprint":"9c9f0db86bd7b1255d557c6d5377302cbea7d9246e148caa3ee6c8dfc71c8bad","updated":"2026-11-04","extra":{}},"1921/districts.gpkg":{"series":"1921","layer":"districts","fmt":"gpkg","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/9c9f0db86bd7/1921-districts.gpkg.zip","bytes":15356749,"sha256":"abdfd6abda484d44da922a2e02f504a8e515edbf6d0358a7e82d59f6a232f8e6","fingerprint":"9c9f0db86bd7b1255d557c6d5377302cbea7d9246e148caa3ee6c8dfc71c8bad","updated":"2026-11-04","extra":{}},"1921/districts.shp":{"series":"1921","layer":"districts","fmt":"shp","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/9c9f0db86bd7/1921-districts.shp.zip","bytes":7422542,"sha256":"c8543e89a91557d471d6f44855024cfcca1d103c63f298738b869e265e5d5f64","fingerprint":"9c9f0db86bd7b1255d557c6d5377302cbea7d9246e148caa3ee6c8dfc71c8bad","updated":"2026-11-04","extra":{}},"1921/lots.geojson":{"series":"1921","layer":"lots","fmt":"geojson","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/680046dfd523/1921-lots.geojson.zip","bytes":6196756,"sha256":"1f80ddde1512f5e582bc18be1ff7934f7a6b0fb34b511c8da47fd4de70d4a3fa","fingerprint":"680046dfd5231e9c11fd24e19f2abda3d61742a875684b9e68aa18fd069b4429","updated":"2026-11-04","extra":{}},"1921/lots.gpkg":{"series":"1921","layer":"lots","fmt":"gpkg","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/680046dfd523/1921-lots.gpkg.zip","bytes":34395665,"sha256":"789ce5eadc44cbff885d48753e315e320f7164a405365fb7e9e173a6092dcece","fingerprint":"680046dfd5231e9c11fd24e19f2abda3d61742a875684b9e68aa18fd069b4429","updated":"2026-11-04","extra":{}},"1921/lots.shp":{"series":"1921","layer":"lots","fmt":"shp","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/680046dfd523/1921-lots.shp.zip","bytes":13762989,"sha256":"99b878f92ce200f46671e643e0fded3c00c6d62be28b127915ee3f38a9baf705","fingerprint":"680046dfd5231e9c11fd24e19f2abda3d61742a875684b9e68aa18fd069b4429","updated":"2026-11-04","extra":{}},"1929/citywide.cog":{"series":"1929","layer":"citywide","fmt":"cog","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/4cda4df3eea4/1929-citywide.tif","bytes":142596166,"sha256":"cbfad8bc0645451776f235872c764ab9faaf80306402d1189661862e5f9cf95d","fingerprint":"4cda4df3eea486c2159c9c940f4590856e21f5bb66c4cc685e2adcc679749ad9","updated":"2026-11-04","extra":{"1929-citywide.README.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/4cda4df3eea4/1929-citywide.README.txt","1929-citywide.LICENSE.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/4cda4df3eea4/1929-citywide.LICENSE.txt"}},"1929/districts.geojson":{"series":"1929","layer":"districts","fmt":"geojson","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/c0502b471613/1929-districts.geojson.zip","bytes":2381483,"sha256":"64ad6c08f6a370bff6a5cc675073141676dea2ae5a65ef3f1bd034ff7799cc3c","fingerprint":"c0502b47161398b80945abc792c331b483e14dfc82b838b8a4a55f3977c31210","updated":"2026-11-04","extra":{}},"1929/districts.gpkg":{"series":"1929","layer":"districts","fmt":"gpkg","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/c0502b471613/1929-districts.gpkg.zip","bytes":11996686,"sha256":"6cb9d91f4a6a889f943806d63eb487c307a24872e62fa57e42c2814d7406b2cb","fingerprint":"c0502b47161398b80945abc792c331b483e14dfc82b838b8a4a55f3977c31210","updated":"2026-11-04","extra":{}},"1929/districts.shp":{"series":"1929","layer":"districts","fmt":"shp","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/c0502b471613/1929-districts.shp.zip","bytes":5798782,"sha256":"60a0cdba9573f5ac10b19662e31ad9face9c70578832c8dcc1250424f54af2f5","fingerprint":"c0502b47161398b80945abc792c331b483e14dfc82b838b8a4a55f3977c31210","updated":"2026-11-04","extra":{}},"1929/lots.geojson":{"series":"1929","layer":"lots","fmt":"geojson","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/161f9efcf127/1929-lots.geojson.zip","bytes":5205749,"sha256":"7f63e02e1c340ba0482c0aa9860f012e9abb6eb4a3fc6ca3325b50cc7b2ca350","fingerprint":"161f9efcf127d25f9ea1d51d5ae3caef8e17fab8a2990b4452fb321c7d113953","updated":"2026-11-04","extra":{}},"1929/lots.gpkg":{"series":"1929","layer":"lots","fmt":"gpkg","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/161f9efcf127/1929-lots.gpkg.zip","bytes":28707098,"sha256":"f9277cf075c4cc966a90f7fa13e9fedb306cad63e510f6d2625abf21660554d3","fingerprint":"161f9efcf127d25f9ea1d51d5ae3caef8e17fab8a2990b4452fb321c7d113953","updated":"2026-11-04","extra":{}},"1929/lots.shp":{"series":"1929","layer":"lots","fmt":"shp","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/161f9efcf127/1929-lots.shp.zip","bytes":11385294,"sha256":"2e82e0c17e460e98f3e4ae2d9f0cfe1d714c19d8b4706b09013aea0384f46c7b","fingerprint":"161f9efcf127d25f9ea1d51d5ae3caef8e17fab8a2990b4452fb321c7d113953","updated":"2026-11-04","extra":{}},"1935/citywide.cog":{"series":"1935","layer":"citywide","fmt":"cog","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/ab406012277e/1935-citywide.tif","bytes":176568985,"sha256":"8ae3c29e086e054b6506ac3b744230c7347690eb357ab9f613d1c1a9ea84dd82","fingerprint":"ab406012277eb6a774fc139d8fb3f2ba7deb378d7401e2660295105b11e693bd","updated":"2026-11-04","extra":{"1935-citywide.README.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/ab406012277e/1935-citywide.README.txt","1935-citywide.LICENSE.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/ab406012277e/1935-citywide.LICENSE.txt"}},"1935/districts.geojson":{"series":"1935","layer":"districts","fmt":"geojson","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/8601abe6af50/1935-districts.geojson.zip","bytes":2932150,"sha256":"ffc4e8f291e42efe72a903b7d2867ad1803c09092dd1f2a5926ceb25987cf5c9","fingerprint":"8601abe6af509b84e216b53349ebb66c152c20bb833fbcbdc776d55023180d14","updated":"2026-11-04","extra":{}},"1935/districts.gpkg":{"series":"1935","layer":"districts","fmt":"gpkg","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/8601abe6af50/1935-districts.gpkg.zip","bytes":15259008,"sha256":"f1cf759d64a402d541f9d035417e9da5e90b5887803505031b5b57a457d085ec","fingerprint":"8601abe6af509b84e216b53349ebb66c152c20bb833fbcbdc776d55023180d14","updated":"2026-11-04","extra":{}},"1935/districts.shp":{"series":"1935","layer":"districts","fmt":"shp","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/8601abe6af50/1935-districts.shp.zip","bytes":7384298,"sha256":"4df81e352ae4c0c9de7564fb42720223b9d3a888efe3567e19c34d723f085c11","fingerprint":"8601abe6af509b84e216b53349ebb66c152c20bb833fbcbdc776d55023180d14","updated":"2026-11-04","extra":{}},"1935/lots.geojson":{"series":"1935","layer":"lots","fmt":"geojson","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/5ce3d1616671/1935-lots.geojson.zip","bytes":6265232,"sha256":"522109f62092fd8b35ae3137700ff3d92e543abc793ec0e0f61a3b20b79fb3cf","fingerprint":"5ce3d16166717ffb9ed07458a6fd6d1f8c4524b57c9a5121e87e134282ee6b4d","updated":"2026-11-04","extra":{}},"1935/lots.gpkg":{"series":"1935","layer":"lots","fmt":"gpkg","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/5ce3d1616671/1935-lots.gpkg.zip","bytes":35020141,"sha256":"ee25d02d1e0082b0487bbde9ef210c43fcfc4ec123db8b3852e2a602b0778543","fingerprint":"5ce3d16166717ffb9ed07458a6fd6d1f8c4524b57c9a5121e87e134282ee6b4d","updated":"2026-11-04","extra":{}},"1935/lots.shp":{"series":"1935","layer":"lots","fmt":"shp","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/5ce3d1616671/1935-lots.shp.zip","bytes":14034929,"sha256":"ceaacdb2c3e89e5e946cf89f419b65fe1266150677d19285d876575f70f4ef2b","fingerprint":"5ce3d16166717ffb9ed07458a6fd6d1f8c4524b57c9a5121e87e134282ee6b4d","updated":"2026-11-04","extra":{}},"1948/citywide.cog":{"series":"1948","layer":"citywide","fmt":"cog","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/7d40e6c8867c/1948-citywide.tif","bytes":891233486,"sha256":"050a45749909a6aab140647b305befca40448b6437a10ad17f4888b167bc9a0d","fingerprint":"7d40e6c8867c185b59c717191e2eedb4ff5e27c4d0cf2edd8ed204fc1e84baf6","updated":"2026-11-04","extra":{"1948-citywide.README.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/7d40e6c8867c/1948-citywide.README.txt","1948-citywide.LICENSE.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/7d40e6c8867c/1948-citywide.LICENSE.txt"}},"1948/districts.geojson":{"series":"1948","layer":"districts","fmt":"geojson","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/4e09bbb7b998/1948-districts.geojson.zip","bytes":3040565,"sha256":"874ec5f882c8547d25715136fe5b37509e8f1587f5561efaad294d9b42f33ac3","fingerprint":"4e09bbb7b9985493a23756115cbebc76c3572fc0758e20d04a5d21b85bec18fe","updated":"2026-11-04","extra":{}},"1948/districts.gpkg":{"series":"1948","layer":"districts","fmt":"gpkg","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/4e09bbb7b998/1948-districts.gpkg.zip","bytes":15753415,"sha256":"585c98a9cf56df5bbc8113c2195c9604f8006c9edf4dc87dc88ee3a98ebd8439","fingerprint":"4e09bbb7b9985493a23756115cbebc76c3572fc0758e20d04a5d21b85bec18fe","updated":"2026-11-04","extra":{}},"1948/districts.shp":{"series":"1948","layer":"districts","fmt":"shp","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/4e09bbb7b998/1948-districts.shp.zip","bytes":7616475,"sha256":"6fa4a878084ee797508c9e63e250bb974fd70df7ae9c70ba85c1cf9112a531ca","fingerprint":"4e09bbb7b9985493a23756115cbebc76c3572fc0758e20d04a5d21b85bec18fe","updated":"2026-11-04","extra":{}},"1948/lots.geojson":{"series":"1948","layer":"lots","fmt":"geojson","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/3740681f1a09/1948-lots.geojson.zip","bytes":6260911,"sha256":"f29e33fc779d415f423fa90a68931b63a19cf2ee5d387b06014c4e273e71eca9","fingerprint":"3740681f1a09f03437fedd5ae49ee7a70d84606df61d379d4efec91e61f7ca69","updated":"2026-11-04","extra":{}},"1948/lots.gpkg":{"series":"1948","layer":"lots","fmt":"gpkg","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/3740681f1a09/1948-lots.gpkg.zip","bytes":34846957,"sha256":"b0feaaf21b2b017a71c51f5bdc994225432cbdb1342804789c31037fd48e5094","fingerprint":"3740681f1a09f03437fedd5ae49ee7a70d84606df61d379d4efec91e61f7ca69","updated":"2026-11-04","extra":{}},"1948/lots.shp":{"series":"1948","layer":"lots","fmt":"shp","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/3740681f1a09/1948-lots.shp.zip","bytes":14048026,"sha256":"c3dc3f87f915c4d829d7ef8d976647467957845da1b1d572312e47972386dd62","fingerprint":"3740681f1a09f03437fedd5ae49ee7a70d84606df61d379d4efec91e61f7ca69","updated":"2026-11-04","extra":{}},"1960/citywide.cog":{"series":"1960","layer":"citywide","fmt":"cog","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/37189c192545/1960-citywide.tif","bytes":111604258,"sha256":"3baf3b66f3659741051c90d242c618253b6ed0925037de832379d44376d8fa3a","fingerprint":"37189c19254536b9ac4146e0dc3d2cd2346f5b3a533f15b6669ad4d61fe09d13","updated":"2026-11-04","extra":{"1960-citywide.README.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/37189c192545/1960-citywide.README.txt","1960-citywide.LICENSE.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/37189c192545/1960-citywide.LICENSE.txt"}},"1960/districts.geojson":{"series":"1960","layer":"districts","fmt":"geojson","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/d3d3549b395f/1960-districts.geojson.zip","bytes":2850234,"sha256":"6d53803a4d0bf695a004ee27ad66b9613c02436f6d8eeff0fe43299ed83dd38c","fingerprint":"d3d3549b395f7f2f1ee588e95e533f6f8d7b3deae0c573999b32b08251afae0f","updated":"2026-11-04","extra":{}},"1960/districts.gpkg":{"series":"1960","layer":"districts","fmt":"gpkg","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/d3d3549b395f/1960-districts.gpkg.zip","bytes":14965869,"sha256":"84841f655260f77219ed708bf0c730b48080daa8da4d08d75ef1baa888956dee","fingerprint":"d3d3549b395f7f2f1ee588e95e533f6f8d7b3deae0c573999b32b08251afae0f","updated":"2026-11-04","extra":{}},"1960/districts.shp":{"series":"1960","layer":"districts","fmt":"shp","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/d3d3549b395f/1960-districts.shp.zip","bytes":7255424,"sha256":"a246f5790d308a437b7ef52ad868fdc7c50941a943dc4ea886f823415ecdb1af","fingerprint":"d3d3549b395f7f2f1ee588e95e533f6f8d7b3deae0c573999b32b08251afae0f","updated":"2026-11-04","extra":{}},"1960/lots.geojson":{"series":"1960","layer":"lots","fmt":"geojson","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/58486d34360a/1960-lots.geojson.zip","bytes":6157493,"sha256":"d4a6aa15fc00980da44d6faa634522b2b89badfd2600168c75659245f0d5d0d7","fingerprint":"58486d34360af29bb66ee0c182c6ca885061a3275cc6febce0e00f334e7a8a0e","updated":"2026-11-04","extra":{}},"1960/lots.gpkg":{"series":"1960","layer":"lots","fmt":"gpkg","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/58486d34360a/1960-lots.gpkg.zip","bytes":34887141,"sha256":"a3a8492338691d3212191f5eb21e238590807640cf1650ab7b053543e875385e","fingerprint":"58486d34360af29bb66ee0c182c6ca885061a3275cc6febce0e00f334e7a8a0e","updated":"2026-11-04","extra":{}},"1960/lots.shp":{"series":"1960","layer":"lots","fmt":"shp","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/58486d34360a/1960-lots.shp.zip","bytes":14025503,"sha256":"f0f382772dbc737406a5be7e6e3bcf1b30f2c8c9894dc4e53780e301511dfeef","fingerprint":"58486d34360af29bb66ee0c182c6ca885061a3275cc6febce0e00f334e7a8a0e","updated":"2026-11-04","extra":{}},"1964/citywide.cog":{"series":"1964","layer":"citywide","fmt":"cog","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/c36f16ff9d54/1964-citywide.tif","bytes":109050238,"sha256":"b49bca9d85674e7303ecac6d3e036093be7177d18ba9f515abf94602822fc599","fingerprint":"c36f16ff9d5449f3a5b6dddadea31cc058245e222b4e006273a8fdb8bb1e79d9","updated":"2026-11-04","extra":{"1964-citywide.README.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/c36f16ff9d54/1964-citywide.README.txt","1964-citywide.LICENSE.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/c36f16ff9d54/1964-citywide.LICENSE.txt"}},"1964/districts.geojson":{"series":"1964","layer":"districts","fmt":"geojson","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/d39a46579f76/1964-districts.geojson.zip","bytes":2861681,"sha256":"f1aecec733735176d93a85f98cdbd362536e5065913a99d3843e9dd928c53020","fingerprint":"d39a46579f760f991e59b88c41cd4b1aa5c04ebeafdc616af258d690bdb98436","updated":"2026-11-04","extra":{}},"1964/districts.gpkg":{"series":"1964","layer":"districts","fmt":"gpkg","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/d39a46579f76/1964-districts.gpkg.zip","bytes":15032941,"sha256":"b77a450127988466193471fadb28e4c0fb8bc11a684bea69e489e43851aa4f74","fingerprint":"d39a46579f760f991e59b88c41cd4b1aa5c04ebeafdc616af258d690bdb98436","updated":"2026-11-04","extra":{}},"1964/districts.shp":{"series":"1964","layer":"districts","fmt":"shp","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/d39a46579f76/1964-districts.shp.zip","bytes":7287898,"sha256":"8ce71e60ffec1501780d67de65ebf60485d8bb9ebe810b60af2d4c0bf3bdb912","fingerprint":"d39a46579f760f991e59b88c41cd4b1aa5c04ebeafdc616af258d690bdb98436","updated":"2026-11-04","extra":{}},"1964/lots.geojson":{"series":"1964","layer":"lots","fmt":"geojson","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/0279c2a63829/1964-lots.geojson.zip","bytes":6218710,"sha256":"07c41808e1a55595cd00cabd57672cbc4d56cbb36f803c1266d2afd2047c57fd","fingerprint":"0279c2a638292633de7ddfcf480fea0c2d63e36d6ca06c346f4b5873362941c5","updated":"2026-11-04","extra":{}},"1964/lots.gpkg":{"series":"1964","layer":"lots","fmt":"gpkg","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/0279c2a63829/1964-lots.gpkg.zip","bytes":35274374,"sha256":"357cd50854bde22e25c310b1a8c08148b51ec3ee28f48385d189e06ca8ef9e29","fingerprint":"0279c2a638292633de7ddfcf480fea0c2d63e36d6ca06c346f4b5873362941c5","updated":"2026-11-04","extra":{}},"1964/lots.shp":{"series":"1964","layer":"lots","fmt":"shp","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/0279c2a63829/1964-lots.shp.zip","bytes":14100126,"sha256":"957304d72cc283f5caa4387c195801a19ae2a5f74d3bb071c926a02eae12b33b","fingerprint":"0279c2a638292633de7ddfcf480fea0c2d63e36d6ca06c346f4b5873362941c5","updated":"2026-11-04","extra":{}},"1968/citywide.cog":{"series":"1968","layer":"citywide","fmt":"cog","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/c4c198f173fb/1968-citywide.tif","bytes":114347885,"sha256":"5c283cd31bc63a32a47e0fac5c9357610c220d0c4a823a884091724032ee68da","fingerprint":"c4c198f173fb3ac8117f8424ea39212cbd060a05a1ff55afb067cdbcea0d7757","updated":"2026-11-04","extra":{"1968-citywide.README.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/c4c198f173fb/1968-citywide.README.txt","1968-citywide.LICENSE.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/c4c198f173fb/1968-citywide.LICENSE.txt"}},"1968/districts.geojson":{"series":"1968","layer":"districts","fmt":"geojson","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/9075cbb6562f/1968-districts.geojson.zip","bytes":2858038,"sha256":"d815bbeae0ca7e6e4f76d33efaa2f9d196b5055ded3c952109cc5b1a15beb8e3","fingerprint":"9075cbb6562f86b858f69eae48bff8b6f5a4812a8fa967bffa3510e2f24a43dc","updated":"2026-11-04","extra":{}},"1968/districts.gpkg":{"series":"1968","layer":"districts","fmt":"gpkg","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/9075cbb6562f/1968-districts.gpkg.zip","bytes":15001508,"sha256":"a66ce13c84325fe883493b58c7de25377d808b9fd0a8ec79ef532180b0c7112b","fingerprint":"9075cbb6562f86b858f69eae48bff8b6f5a4812a8fa967bffa3510e2f24a43dc","updated":"2026-11-04","extra":{}},"1968/districts.shp":{"series":"1968","layer":"districts","fmt":"shp","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/9075cbb6562f/1968-districts.shp.zip","bytes":7271989,"sha256":"2f803adbb48ffa94d975d1c3440ef0e71b7b245d01ad9def85703b1cefd1e42d","fingerprint":"9075cbb6562f86b858f69eae48bff8b6f5a4812a8fa967bffa3510e2f24a43dc","updated":"2026-11-04","extra":{}},"1968/lots.geojson":{"series":"1968","layer":"lots","fmt":"geojson","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/ca11ba25483e/1968-lots.geojson.zip","bytes":6225670,"sha256":"3807a246f1dc11ac06b363e1f078a269b387862e635658cd3326c3e0bbd2c1b6","fingerprint":"ca11ba25483e91de739168522829667c15f73ab9c3b7ae4869cb79305a2cbe57","updated":"2026-11-04","extra":{}},"1968/lots.gpkg":{"series":"1968","layer":"lots","fmt":"gpkg","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/ca11ba25483e/1968-lots.gpkg.zip","bytes":35274369,"sha256":"8205c2616d1ef12cac07575ace3a1e2104cd663ea5483f154638773673ab39f3","fingerprint":"ca11ba25483e91de739168522829667c15f73ab9c3b7ae4869cb79305a2cbe57","updated":"2026-11-04","extra":{}},"1968/lots.shp":{"series":"1968","layer":"lots","fmt":"shp","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/ca11ba25483e/1968-lots.shp.zip","bytes":14097569,"sha256":"57d566722c1963a32bde72052471b60a6e77b35e96a78766eb758bcd4f53fb86","fingerprint":"ca11ba25483e91de739168522829667c15f73ab9c3b7ae4869cb79305a2cbe57","updated":"2026-11-04","extra":{}},"1972/citywide.cog":{"series":"1972","layer":"citywide","fmt":"cog","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/fe96e13e147d/1972-citywide.tif","bytes":114034404,"sha256":"1d249602d511fe4cba9f3759a2ab954ec7b5b829ac88234f172419b8fcab74a3","fingerprint":"fe96e13e147d01f2299f72bd88c21ddb50bfce5d660b3a985ead76f453eced5c","updated":"2026-11-04","extra":{"1972-citywide.README.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/fe96e13e147d/1972-citywide.README.txt","1972-citywide.LICENSE.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/fe96e13e147d/1972-citywide.LICENSE.txt"}},"1972/districts.geojson":{"series":"1972","layer":"districts","fmt":"geojson","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/42df715499be/1972-districts.geojson.zip","bytes":2881192,"sha256":"676fb74dd1e566c27843bccde905831bf99428a5c6c7f13e49b7f0931a38c0aa","fingerprint":"42df715499be340826fc8c355d69aa57d8b380483f0c84a55a78db9365fb781c","updated":"2026-11-04","extra":{}},"1972/districts.gpkg":{"series":"1972","layer":"districts","fmt":"gpkg","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/42df715499be/1972-districts.gpkg.zip","bytes":15146946,"sha256":"c7ac00ea8fe695a9c31d0381ab895b535e9adfe65191cfe21b6e6f80fd95655f","fingerprint":"42df715499be340826fc8c355d69aa57d8b380483f0c84a55a78db9365fb781c","updated":"2026-11-04","extra":{}},"1972/districts.shp":{"series":"1972","layer":"districts","fmt":"shp","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/42df715499be/1972-districts.shp.zip","bytes":7342863,"sha256":"6e555151dc4f25f3f15dac5d8edbfc06338f5380d99fa2ac94426879b471847e","fingerprint":"42df715499be340826fc8c355d69aa57d8b380483f0c84a55a78db9365fb781c","updated":"2026-11-04","extra":{}},"1972/lots.geojson":{"series":"1972","layer":"lots","fmt":"geojson","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/dca6106de707/1972-lots.geojson.zip","bytes":6252967,"sha256":"600c0b1c3ac209dd6b1076bf7a1cc0588d655dfdc0e7603a8be0bd2ea256203c","fingerprint":"dca6106de707545b77e9c08fcd7a2a60c173ec9dd872025bf641fee353b4f6bc","updated":"2026-11-04","extra":{}},"1972/lots.gpkg":{"series":"1972","layer":"lots","fmt":"gpkg","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/dca6106de707/1972-lots.gpkg.zip","bytes":35370879,"sha256":"0a9c9e43a2a419ee16c48276c88388e6eadaf2cd83410ca54994d47ff1cdde6a","fingerprint":"dca6106de707545b77e9c08fcd7a2a60c173ec9dd872025bf641fee353b4f6bc","updated":"2026-11-04","extra":{}},"1972/lots.shp":{"series":"1972","layer":"lots","fmt":"shp","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/dca6106de707/1972-lots.shp.zip","bytes":14130405,"sha256":"a0a3c14a65cc98cd48bbbb2516c18528395e86a690c472a702938e21c4d50d24","fingerprint":"dca6106de707545b77e9c08fcd7a2a60c173ec9dd872025bf641fee353b4f6bc","updated":"2026-11-04","extra":{}},"1975/citywide.cog":{"series":"1975","layer":"citywide","fmt":"cog","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/d3e9518225d6/1975-citywide.tif","bytes":113848749,"sha256":"dfe2132346179828d1ed01bcd3be7438cb6e3c764102609c4100585bbfbef061","fingerprint":"d3e9518225d6118824e48293eec87c44b08a63cf9158a030e4edb4111b278512","updated":"2026-11-04","extra":{"1975-citywide.README.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/d3e9518225d6/1975-citywide.README.txt","1975-citywide.LICENSE.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/d3e9518225d6/1975-citywide.LICENSE.txt"}},"1975/districts.geojson":{"series":"1975","layer":"districts","fmt":"geojson","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/0fd97b1ca265/1975-districts.geojson.zip","bytes":2879451,"sha256":"e80151d174920fa64a966284de73840cfc0dcb5ab57f58243f47aa47ea5a4a39","fingerprint":"0fd97b1ca265505405e580066e9ac1eafb6f61f5d1eef167a442c4b611d5f3f2","updated":"2026-11-04","extra":{}},"1975/districts.gpkg":{"series":"1975","layer":"districts","fmt":"gpkg","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/0fd97b1ca265/1975-districts.gpkg.zip","bytes":15136579,"sha256":"701e136742ad343610f229b3390427052b557eeca10765341d9d9d62461cc05d","fingerprint":"0fd97b1ca265505405e580066e9ac1eafb6f61f5d1eef167a442c4b611d5f3f2","updated":"2026-11-04","extra":{}},"1975/districts.shp":{"series":"1975","layer":"districts","fmt":"shp","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/0fd97b1ca265/1975-districts.shp.zip","bytes":7337097,"sha256":"de116160a51f89bc315ffbbccfb315137d3990aa2559fea9b81521ba7d80d0f5","fingerprint":"0fd97b1ca265505405e580066e9ac1eafb6f61f5d1eef167a442c4b611d5f3f2","updated":"2026-11-04","extra":{}},"1975/lots.geojson":{"series":"1975","layer":"lots","fmt":"geojson","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/3605d29501ab/1975-lots.geojson.zip","bytes":6256064,"sha256":"20c23235f24132ced9cb8bf925577f5e6490be25d08b6e7f3990de961dedb39d","fingerprint":"3605d29501ab160b5ef2074e126a56179b3465ad55d44c0dfee9b54c3e636def","updated":"2026-11-04","extra":{}},"1975/lots.gpkg":{"series":"1975","layer":"lots","fmt":"gpkg","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/3605d29501ab/1975-lots.gpkg.zip","bytes":35366442,"sha256":"e7f708edd3a0c72ec4d09b54b4ae003e1e249523c2886d0b59a02156e842e9ff","fingerprint":"3605d29501ab160b5ef2074e126a56179b3465ad55d44c0dfee9b54c3e636def","updated":"2026-11-04","extra":{}},"1975/lots.shp":{"series":"1975","layer":"lots","fmt":"shp","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/3605d29501ab/1975-lots.shp.zip","bytes":14129470,"sha256":"886a7bf805a7667e6a949da090ba2150adde51c1783239307f8f1dc684590ee8","fingerprint":"3605d29501ab160b5ef2074e126a56179b3465ad55d44c0dfee9b54c3e636def","updated":"2026-11-04","extra":{}},"1980-1990-height/citywide.cog":{"series":"1980-1990-height","layer":"citywide","fmt":"cog","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/b57ba750bd6d/1980-1990-height-citywide.tif","bytes":62936777,"sha256":"c061f39776a02a6240f9729efb2219afd32f2b33fbf07d9720e6bd972cec2a21","fingerprint":"b57ba750bd6d3e63adb10bb9780d74bf914f2d61108de40ec6c2a21e2e07a85c","updated":"2026-11-04","extra":{"1980-1990-height-citywide.README.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/b57ba750bd6d/1980-1990-height-citywide.README.txt","1980-1990-height-citywide.LICENSE.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/b57ba750bd6d/1980-1990-height-citywide.LICENSE.txt"}},"1980-1990-su/citywide.cog":{"series":"1980-1990-su","layer":"citywide","fmt":"cog","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/83917c170dc8/1980-1990-su-citywide.tif","bytes":44157982,"sha256":"b9874b7b8ff8435efd10e6af021aeb0d707095feb81064f51a57aba007132421","fingerprint":"83917c170dc873336f3f10133ef9162b45337e30a0daa6cc4e09c9a2e8f88006","updated":"2026-11-04","extra":{"1980-1990-su-citywide.README.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/83917c170dc8/1980-1990-su-citywide.README.txt","1980-1990-su-citywide.LICENSE.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/83917c170dc8/1980-1990-su-citywide.LICENSE.txt"}},"1980-1990-zoning/citywide.cog":{"series":"1980-1990-zoning","layer":"citywide","fmt":"cog","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/b075330088f7/1980-1990-zoning-citywide.tif","bytes":82730383,"sha256":"ba02746b935a2a66ff61b7b20a7a16f3034c6038513ca72d503a9197d1c88580","fingerprint":"b075330088f7fba49737ff3f7e449de7d6fd08229f6dc1a1f27e1771f36d7396","updated":"2026-11-04","extra":{"1980-1990-zoning-citywide.README.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/b075330088f7/1980-1990-zoning-citywide.README.txt","1980-1990-zoning-citywide.LICENSE.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/b075330088f7/1980-1990-zoning-citywide.LICENSE.txt"}},"1980-1990-zoning/districts.geojson":{"series":"1980-1990-zoning","layer":"districts","fmt":"geojson","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/0bb7bc9634f3/1980-1990-zoning-districts.geojson.zip","bytes":2873516,"sha256":"468f4eff990ce8d4ce916646af5491e344618c7f48e50c211863506e0c52d100","fingerprint":"0bb7bc9634f30bebb6d38dc095dbea8477611152abfdc2cbbd7aa340656af3d1","updated":"2026-11-04","extra":{}},"1980-1990-zoning/districts.gpkg":{"series":"1980-1990-zoning","layer":"districts","fmt":"gpkg","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/0bb7bc9634f3/1980-1990-zoning-districts.gpkg.zip","bytes":15006456,"sha256":"2984f2b165f8e748791007b97a5f30ff0e95c69827f89e5b959939fa1bf0d85b","fingerprint":"0bb7bc9634f30bebb6d38dc095dbea8477611152abfdc2cbbd7aa340656af3d1","updated":"2026-11-04","extra":{}},"1980-1990-zoning/districts.shp":{"series":"1980-1990-zoning","layer":"districts","fmt":"shp","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/0bb7bc9634f3/1980-1990-zoning-districts.shp.zip","bytes":7272016,"sha256":"8f80edcba02d3dcb4436f0af7bb57c6be4a6af3a2fc390e4f874992962c08a4e","fingerprint":"0bb7bc9634f30bebb6d38dc095dbea8477611152abfdc2cbbd7aa340656af3d1","updated":"2026-11-04","extra":{}},"1980-1990-zoning/lots.geojson":{"series":"1980-1990-zoning","layer":"lots","fmt":"geojson","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/f8dd67e4088b/1980-1990-zoning-lots.geojson.zip","bytes":6314647,"sha256":"9ca796cf0e9b2962df49348412f3c14e3ab22219d538462c0d90a18ef1494fdb","fingerprint":"f8dd67e4088b14e2bb3e7e01706142fd1ff3bc954c5f32ee04d609e6d90a1a5e","updated":"2026-11-04","extra":{}},"1980-1990-zoning/lots.gpkg":{"series":"1980-1990-zoning","layer":"lots","fmt":"gpkg","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/f8dd67e4088b/1980-1990-zoning-lots.gpkg.zip","bytes":35427791,"sha256":"04c70a8b5bb1fe2d3fd57f583ad3895d25d9058a305f26215bbc94e1808a674b","fingerprint":"f8dd67e4088b14e2bb3e7e01706142fd1ff3bc954c5f32ee04d609e6d90a1a5e","updated":"2026-11-04","extra":{}},"1980-1990-zoning/lots.shp":{"series":"1980-1990-zoning","layer":"lots","fmt":"shp","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/f8dd67e4088b/1980-1990-zoning-lots.shp.zip","bytes":14172532,"sha256":"8aaab8c3308595cf863651651f9335360ab0be476aea6ef4761b998b7b07f402","fingerprint":"f8dd67e4088b14e2bb3e7e01706142fd1ff3bc954c5f32ee04d609e6d90a1a5e","updated":"2026-11-04","extra":{}},"1980/citywide.cog":{"series":"1980","layer":"citywide","fmt":"cog","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/5db572499bd9/1980-citywide.tif","bytes":116070374,"sha256":"76b8bf6573142e03c624e3e3166cdc71a64b456c81f1322058a21433ed6db916","fingerprint":"5db572499bd961c8db9fdc951a6f269a821f198afdd960769f934044b6e757e6","updated":"2026-11-04","extra":{"1980-citywide.README.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/5db572499bd9/1980-citywide.README.txt","1980-citywide.LICENSE.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/5db572499bd9/1980-citywide.LICENSE.txt"}},"1980/districts.geojson":{"series":"1980","layer":"districts","fmt":"geojson","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/fd9c39d4079e/1980-districts.geojson.zip","bytes":2907892,"sha256":"ac08c0f1df8c0e6a265e48f214122a7bd3d6679674697e9c5e9f92e77b2da206","fingerprint":"fd9c39d4079e83f53910c1f6624215e5d2425db69e8b1f8e1e5528d578a7923b","updated":"2026-11-04","extra":{}},"1980/districts.gpkg":{"series":"1980","layer":"districts","fmt":"gpkg","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/fd9c39d4079e/1980-districts.gpkg.zip","bytes":15197085,"sha256":"bd262e0766553d691ba9970847251e35f7fa60c46452f60826f475f033acd5a0","fingerprint":"fd9c39d4079e83f53910c1f6624215e5d2425db69e8b1f8e1e5528d578a7923b","updated":"2026-11-04","extra":{}},"1980/districts.shp":{"series":"1980","layer":"districts","fmt":"shp","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/fd9c39d4079e/1980-districts.shp.zip","bytes":7365014,"sha256":"0024624221de34bdda022915ff9bc10020423dfc7e79650d0a2287662417b21e","fingerprint":"fd9c39d4079e83f53910c1f6624215e5d2425db69e8b1f8e1e5528d578a7923b","updated":"2026-11-04","extra":{}},"1980/lots.geojson":{"series":"1980","layer":"lots","fmt":"geojson","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/ffae667ecfbf/1980-lots.geojson.zip","bytes":6341861,"sha256":"9fcaa33778eb71ff19d2cb8549c33ec4aa217982fadc0547f83dee904dcc85f9","fingerprint":"ffae667ecfbf505c688ba42fef37c16ed11e1ba999309c658bc9d51b2cae7cb2","updated":"2026-11-04","extra":{}},"1980/lots.gpkg":{"series":"1980","layer":"lots","fmt":"gpkg","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/ffae667ecfbf/1980-lots.gpkg.zip","bytes":35618632,"sha256":"dc005f47bfe7c701ac66854ddc81aa5525e71a9f03dba0ed376b4c84da4728a1","fingerprint":"ffae667ecfbf505c688ba42fef37c16ed11e1ba999309c658bc9d51b2cae7cb2","updated":"2026-11-04","extra":{}},"1980/lots.shp":{"series":"1980","layer":"lots","fmt":"shp","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/ffae667ecfbf/1980-lots.shp.zip","bytes":14227039,"sha256":"71f269de0814e6352144b71a3cc8c34d2ca886c18a5b982db0e88e385cc13589","fingerprint":"ffae667ecfbf505c688ba42fef37c16ed11e1ba999309c658bc9d51b2cae7cb2","updated":"2026-11-04","extra":{}},"1990-1996-height/citywide.cog":{"series":"1990-1996-height","layer":"citywide","fmt":"cog","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/33bd9ab570ed/1990-1996-height-citywide.tif","bytes":56455276,"sha256":"7b51170acc1d0105d3a879c342ea8a2aae7f0fbed9b24a42f7d4279ee59ab6b4","fingerprint":"33bd9ab570ed6e18e77d5c8bdc8da18b080c6f3f4ef50fb8f45def7ddcdf33fb","updated":"2026-11-04","extra":{"1990-1996-height-citywide.README.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/33bd9ab570ed/1990-1996-height-citywide.README.txt","1990-1996-height-citywide.LICENSE.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/33bd9ab570ed/1990-1996-height-citywide.LICENSE.txt"}},"1990-1996-su/citywide.cog":{"series":"1990-1996-su","layer":"citywide","fmt":"cog","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/f200079f88a1/1990-1996-su-citywide.tif","bytes":44495366,"sha256":"4f94d2d1e5f5df8b2c7b41f73519fa503c68bafff2f244bb65e3617a16935869","fingerprint":"f200079f88a11d46d09ea19e7c09c246e26af6aa5ad6a5b9a007435a187e4d73","updated":"2026-11-04","extra":{"1990-1996-su-citywide.README.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/f200079f88a1/1990-1996-su-citywide.README.txt","1990-1996-su-citywide.LICENSE.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/f200079f88a1/1990-1996-su-citywide.LICENSE.txt"}},"1990-1996-zoning/citywide.cog":{"series":"1990-1996-zoning","layer":"citywide","fmt":"cog","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/fa822941f6f4/1990-1996-zoning-citywide.tif","bytes":59883004,"sha256":"9e946fdea7f2ea33b7bb8067fa6ca6236b5cd017c281495eb4b2a3594e0c4cc1","fingerprint":"fa822941f6f4d6beba1bff50816b29a5259c17ffe002a495f0a2fef6fc1bd9cb","updated":"2026-11-04","extra":{"1990-1996-zoning-citywide.README.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/fa822941f6f4/1990-1996-zoning-citywide.README.txt","1990-1996-zoning-citywide.LICENSE.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/fa822941f6f4/1990-1996-zoning-citywide.LICENSE.txt"}},"1990-1996-zoning/districts.geojson":{"series":"1990-1996-zoning","layer":"districts","fmt":"geojson","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/a97db7e276d1/1990-1996-zoning-districts.geojson.zip","bytes":2463958,"sha256":"25bbe3236717dc8f30db6dd46190ee17a5b325dcc6d38f8fc86276d5b9ea378e","fingerprint":"a97db7e276d1aef2a3ef61518f12affc29448a4076ac2cbe4011ca29910ef188","updated":"2026-11-04","extra":{}},"1990-1996-zoning/districts.gpkg":{"series":"1990-1996-zoning","layer":"districts","fmt":"gpkg","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/a97db7e276d1/1990-1996-zoning-districts.gpkg.zip","bytes":12866670,"sha256":"6e5dfde03ce0e71e31bfe127d67aa9f5e867c37d806aaff01b6ecf7e568ece4d","fingerprint":"a97db7e276d1aef2a3ef61518f12affc29448a4076ac2cbe4011ca29910ef188","updated":"2026-11-04","extra":{}},"1990-1996-zoning/districts.shp":{"series":"1990-1996-zoning","layer":"districts","fmt":"shp","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/a97db7e276d1/1990-1996-zoning-districts.shp.zip","bytes":6231856,"sha256":"dda476b15a10cd69b762c94085b2bdce9fd8e801544a9ce6276168ffc52833f0","fingerprint":"a97db7e276d1aef2a3ef61518f12affc29448a4076ac2cbe4011ca29910ef188","updated":"2026-11-04","extra":{}},"1990-1996-zoning/lots.geojson":{"series":"1990-1996-zoning","layer":"lots","fmt":"geojson","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/2bd52c09fd1e/1990-1996-zoning-lots.geojson.zip","bytes":5635498,"sha256":"2636d0ae500deac91d35331234806edb681305ae076194d5ee5a792c34fb9d8a","fingerprint":"2bd52c09fd1e8b0ec6e650caebd2904cc9063c00e084933ef089cdfadc0e493d","updated":"2026-11-04","extra":{}},"1990-1996-zoning/lots.gpkg":{"series":"1990-1996-zoning","layer":"lots","fmt":"gpkg","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/2bd52c09fd1e/1990-1996-zoning-lots.gpkg.zip","bytes":31581712,"sha256":"ff0f96aaca09df6bc8ee5e40f0f4582f5dcefc2cd3dd4ddd1e9510c7a9b5d106","fingerprint":"2bd52c09fd1e8b0ec6e650caebd2904cc9063c00e084933ef089cdfadc0e493d","updated":"2026-11-04","extra":{}},"1990-1996-zoning/lots.shp":{"series":"1990-1996-zoning","layer":"lots","fmt":"shp","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/2bd52c09fd1e/1990-1996-zoning-lots.shp.zip","bytes":12541575,"sha256":"f9799a0f402f03627fea9cd37d86257902129f4223445c47030f6b468088e6fd","fingerprint":"2bd52c09fd1e8b0ec6e650caebd2904cc9063c00e084933ef089cdfadc0e493d","updated":"2026-11-04","extra":{}},"1996-2000-height/citywide.cog":{"series":"1996-2000-height","layer":"citywide","fmt":"cog","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/acf04e4ba350/1996-2000-height-citywide.tif","bytes":55448483,"sha256":"97206b4369e53c36f58c55763c23376a88288b45ddafea889e8a267f07866aea","fingerprint":"acf04e4ba35069c426cbbf0e2d0735ab07c15c3901444a1f4364420efc621979","updated":"2026-11-04","extra":{"1996-2000-height-citywide.README.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/acf04e4ba350/1996-2000-height-citywide.README.txt","1996-2000-height-citywide.LICENSE.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/acf04e4ba350/1996-2000-height-citywide.LICENSE.txt"}},"1996-2000-su/citywide.cog":{"series":"1996-2000-su","layer":"citywide","fmt":"cog","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/39e054312914/1996-2000-su-citywide.tif","bytes":93127829,"sha256":"23515f506ea5d411e0058adf0e7bbbe8d55751aac02a9e3b7926864d8c9b644a","fingerprint":"39e054312914d765e813c2442915dc04cf6f95844428d59f4536ddec742e05af","updated":"2026-11-04","extra":{"1996-2000-su-citywide.README.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/39e054312914/1996-2000-su-citywide.README.txt","1996-2000-su-citywide.LICENSE.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/39e054312914/1996-2000-su-citywide.LICENSE.txt"}},"1996-2000-zoning/citywide.cog":{"series":"1996-2000-zoning","layer":"citywide","fmt":"cog","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/5ffc102c845e/1996-2000-zoning-citywide.tif","bytes":65454418,"sha256":"878d9ac5d8fdaca3cf5ae2c4d54fad1376d883d21552ad3718c7af8db35a802f","fingerprint":"5ffc102c845e17fd0026e67958291ee25fb5740359420dc6bf3505bdc0c40cc5","updated":"2026-11-04","extra":{"1996-2000-zoning-citywide.README.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/5ffc102c845e/1996-2000-zoning-citywide.README.txt","1996-2000-zoning-citywide.LICENSE.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/5ffc102c845e/1996-2000-zoning-citywide.LICENSE.txt"}},"1996-2000-zoning/districts.geojson":{"series":"1996-2000-zoning","layer":"districts","fmt":"geojson","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/fec3d10094d3/1996-2000-zoning-districts.geojson.zip","bytes":2860392,"sha256":"577f67d31b9b76839d36cbf567a9286350f340fe10ea33a6bb7fc86f6cdcb836","fingerprint":"fec3d10094d365ac7b607495acf4e587e9e8211d61c4f27ced02ff3063c4fb39","updated":"2026-11-04","extra":{}},"1996-2000-zoning/districts.gpkg":{"series":"1996-2000-zoning","layer":"districts","fmt":"gpkg","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/fec3d10094d3/1996-2000-zoning-districts.gpkg.zip","bytes":14957955,"sha256":"cc9108c1842e28b397282d88f5528ce176f10d3bef2690e465533891ec7e2fde","fingerprint":"fec3d10094d365ac7b607495acf4e587e9e8211d61c4f27ced02ff3063c4fb39","updated":"2026-11-04","extra":{}},"1996-2000-zoning/districts.shp":{"series":"1996-2000-zoning","layer":"districts","fmt":"shp","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/fec3d10094d3/1996-2000-zoning-districts.shp.zip","bytes":7247383,"sha256":"d99da573d88c336a7b3aca4a6dab3e2dc9458616a602e9cd1f840af0f0b08c6b","fingerprint":"fec3d10094d365ac7b607495acf4e587e9e8211d61c4f27ced02ff3063c4fb39","updated":"2026-11-04","extra":{}},"1996-2000-zoning/lots.geojson":{"series":"1996-2000-zoning","layer":"lots","fmt":"geojson","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/b188ed13a7a2/1996-2000-zoning-lots.geojson.zip","bytes":6372905,"sha256":"63b19eacfb830fb285dc8e98fbf4780dca46332c2cfbce7539f2439131d9c7b5","fingerprint":"b188ed13a7a25ec08bdc28ea9bfcab43323ca00d2c0cb5e418e0c9d9d527cada","updated":"2026-11-04","extra":{}},"1996-2000-zoning/lots.gpkg":{"series":"1996-2000-zoning","layer":"lots","fmt":"gpkg","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/b188ed13a7a2/1996-2000-zoning-lots.gpkg.zip","bytes":35683404,"sha256":"b9f791adb7a456b7c68c446affe21202672d53dd415d4b5a2b9d86788f5bfb16","fingerprint":"b188ed13a7a25ec08bdc28ea9bfcab43323ca00d2c0cb5e418e0c9d9d527cada","updated":"2026-11-04","extra":{}},"1996-2000-zoning/lots.shp":{"series":"1996-2000-zoning","layer":"lots","fmt":"shp","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/b188ed13a7a2/1996-2000-zoning-lots.shp.zip","bytes":14296734,"sha256":"4c5e12556c84ccadccf07281dd9af753d6ebc30dd914927725c55e4116c20aa4","fingerprint":"b188ed13a7a25ec08bdc28ea9bfcab43323ca00d2c0cb5e418e0c9d9d527cada","updated":"2026-11-04","extra":{}},"2000-digital-height/citywide.cog":{"series":"2000-digital-height","layer":"citywide","fmt":"cog","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/a4b2b9754075/2000-digital-height-citywide.tif","bytes":53196193,"sha256":"146112c77fc74ea00d9129bd1b762583ba5a9ef5c47ec5317cd4d8b951aa0d98","fingerprint":"a4b2b97540751f398ea1fae5ab507478fd3272286b93ee80ee1a9070aafeaf81","updated":"2026-11-04","extra":{"2000-digital-height-citywide.README.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/a4b2b9754075/2000-digital-height-citywide.README.txt","2000-digital-height-citywide.LICENSE.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/a4b2b9754075/2000-digital-height-citywide.LICENSE.txt"}},"2000-digital-su/citywide.cog":{"series":"2000-digital-su","layer":"citywide","fmt":"cog","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/d824a86aa003/2000-digital-su-citywide.tif","bytes":93249143,"sha256":"a71f9144462227fa61ad8236667c9ef880982ddfc51ae426c28a741873c49d22","fingerprint":"d824a86aa00347a0e1e5d90522de40dbf78f8b8761805b84f9a0be11a94456f0","updated":"2026-11-04","extra":{"2000-digital-su-citywide.README.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/d824a86aa003/2000-digital-su-citywide.README.txt","2000-digital-su-citywide.LICENSE.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/d824a86aa003/2000-digital-su-citywide.LICENSE.txt"}},"2000-digital-zoning/citywide.cog":{"series":"2000-digital-zoning","layer":"citywide","fmt":"cog","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/cae78540d31e/2000-digital-zoning-citywide.tif","bytes":64910438,"sha256":"0e78392896cc7f1062ea19ebaa180a168b9e23474c220e143a758723e5d561ae","fingerprint":"cae78540d31ec85f8ff916a6c98d972145f70cf42da60b6bcf6febbc55fa87c2","updated":"2026-11-04","extra":{"2000-digital-zoning-citywide.README.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/cae78540d31e/2000-digital-zoning-citywide.README.txt","2000-digital-zoning-citywide.LICENSE.txt":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/cae78540d31e/2000-digital-zoning-citywide.LICENSE.txt"}},"2000-digital-zoning/districts.geojson":{"series":"2000-digital-zoning","layer":"districts","fmt":"geojson","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/544bbe732d3f/2000-digital-zoning-districts.geojson.zip","bytes":2870682,"sha256":"d2294fafa08591d341a2dc9c9dd8c557a1f7e112764839f0701dc993a02cb3aa","fingerprint":"544bbe732d3f0e0065d38aafee0ec5766c47223cb920619c0e5cf6b80fb82539","updated":"2026-11-04","extra":{}},"2000-digital-zoning/districts.gpkg":{"series":"2000-digital-zoning","layer":"districts","fmt":"gpkg","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/544bbe732d3f/2000-digital-zoning-districts.gpkg.zip","bytes":15030047,"sha256":"7135274c68c63c1388fe0ca8c73471737f4f940441a7e7c25677a4743cc3089a","fingerprint":"544bbe732d3f0e0065d38aafee0ec5766c47223cb920619c0e5cf6b80fb82539","updated":"2026-11-04","extra":{}},"2000-digital-zoning/districts.shp":{"series":"2000-digital-zoning","layer":"districts","fmt":"shp","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/544bbe732d3f/2000-digital-zoning-districts.shp.zip","bytes":7282993,"sha256":"969d2ef7246a1535769e2f4979d2d10f7e449b875e5e0d0038fa7fa3ac5dff5b","fingerprint":"544bbe732d3f0e0065d38aafee0ec5766c47223cb920619c0e5cf6b80fb82539","updated":"2026-11-04","extra":{}},"2000-digital-zoning/lots.geojson":{"series":"2000-digital-zoning","layer":"lots","fmt":"geojson","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/de02e3db3312/2000-digital-zoning-lots.geojson.zip","bytes":6379862,"sha256":"6f67e6d5d2cb2bd1506150dbb67fec83d5acf0948b6238fab95e8e44172ccd0b","fingerprint":"de02e3db33127df8dd98d4207174769f6361541cf4e0e023e43fea9311f1b90e","updated":"2026-11-04","extra":{}},"2000-digital-zoning/lots.gpkg":{"series":"2000-digital-zoning","layer":"lots","fmt":"gpkg","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/de02e3db3312/2000-digital-zoning-lots.gpkg.zip","bytes":35712417,"sha256":"ae9b32c95d2eab28e298be412686856222e646e22019fcca1baefb988411d296","fingerprint":"de02e3db33127df8dd98d4207174769f6361541cf4e0e023e43fea9311f1b90e","updated":"2026-11-04","extra":{}},"2000-digital-zoning/lots.shp":{"series":"2000-digital-zoning","layer":"lots","fmt":"shp","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/de02e3db3312/2000-digital-zoning-lots.shp.zip","bytes":14254589,"sha256":"53515861468b7ce7cc7448ed4a113c908b4c8bfc7efe3ce101ba5cb622a5facc","fingerprint":"de02e3db33127df8dd98d4207174769f6361541cf4e0e023e43fea9311f1b90e","updated":"2026-11-04","extra":{}},"today/districts.geojson":{"series":"today","layer":"districts","fmt":"geojson","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/447913e69129/today-districts.geojson.zip","bytes":3160221,"sha256":"6d0a038c9efc734e12d52276874d98bc29e86e7a4bead114c7075d419076dec2","fingerprint":"447913e69129e09c80aec189ca9e0a9255fe7781cd9e4a0e1f3b62fd1bcda2b2","updated":"2026-11-04","extra":{}},"today/districts.gpkg":{"series":"today","layer":"districts","fmt":"gpkg","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/447913e69129/today-districts.gpkg.zip","bytes":16372689,"sha256":"37eed3051eb95200a7ec96bde6873e1806c5b8eb164742e4072827e69388e9f7","fingerprint":"447913e69129e09c80aec189ca9e0a9255fe7781cd9e4a0e1f3b62fd1bcda2b2","updated":"2026-11-04","extra":{}},"today/districts.shp":{"series":"today","layer":"districts","fmt":"shp","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/447913e69129/today-districts.shp.zip","bytes":7923526,"sha256":"0be4053baa6bba5f850bfadaa0dede1213b159e3d6b8fcca0923d9ba176c7a12","fingerprint":"447913e69129e09c80aec189ca9e0a9255fe7781cd9e4a0e1f3b62fd1bcda2b2","updated":"2026-11-04","extra":{}},"today/lots.geojson":{"series":"today","layer":"lots","fmt":"geojson","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/4fedbe3a4c7e/today-lots.geojson.zip","bytes":6874465,"sha256":"87735881906400c5dbc85f0838219ad90d1e0825178077f4d524b4a074c20d85","fingerprint":"4fedbe3a4c7e1e021c9b4c57fcc97d577b8655942662bea3de248f64a388af3e","updated":"2026-11-04","extra":{}},"today/lots.gpkg":{"series":"today","layer":"lots","fmt":"gpkg","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/4fedbe3a4c7e/today-lots.gpkg.zip","bytes":37695448,"sha256":"3b1829c7a7898a1b4e5d4178e950f0a752141871bd046ac58e1460fbd14aa83f","fingerprint":"4fedbe3a4c7e1e021c9b4c57fcc97d577b8655942662bea3de248f64a388af3e","updated":"2026-11-04","extra":{}},"today/lots.shp":{"series":"today","layer":"lots","fmt":"shp","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/4fedbe3a4c7e/today-lots.shp.zip","bytes":15275987,"sha256":"61527ac69a4c80a555abad26eeb8d721a41c2df9e83ff75da902b0eaf3b4deeb","fingerprint":"4fedbe3a4c7e1e021c9b4c57fcc97d577b8655942662bea3de248f64a388af3e","updated":"2026-11-04","extra":{}}},"sheets":{"1921":{"updated":"2026-11-04","readme":"sfzoning.com: San Francisco historic zoning (1921, sheets)\n\nWHAT THIS FILE IS\nThe aligned sheets of the 1921 edition zoning map, one GeoTIFF per sheet, each\nat its own resolution (California State Plane III, feet, EPSG:2227). Each\nsheet was warped onto that grid with GDAL (gdalwarp, thin plate spline, cubic\nresampling) from control points matched to today's street corners. Sheets\nscanned in 1-bit black and white are tinted to the paper colour, and printed\nborder rules and binding shadows are erased. Nothing is vectorized or drawn on\nthe scans.\n\nHOW THE ZONING WAS ASSIGNED\nThe zoning maps were read from the scans, one district label per area, and\neach label was assigned to today's lots. The boundaries in the lot and\ndistrict files are modern lot lines from the DataSF parcels layer. They were\nnever traced from the scan, so a district edge is only as precise as the lot\nit falls on. Where a street has moved since the map was drawn, the scan keeps\nthe historic position and the data follows today's lot lines.\n\nWHAT \"confidence\" MEANS\nA number from 0 to 1 for how sure the reading is that the lot belongs to the\ndistrict shown. Lots set by a person get 1: those whose district was set by an\noverride (inputs/<series>/overrides.csv in the source repository), and those\nwhose label a person added by hand (inputs/<series>/label_fixes.csv). Lots\nread from a sheet flagged for review are capped at 0.6. 0 means no district\ncould be assigned to the lot.\n\nNOT AN OFFICIAL RECORD\nThis is a reconstruction, not an official record of the San Francisco\nPlanning Department. Check the Planning Department's own records before\nrelying on it for any legal purpose.\n\nLAST UPDATED\n2026-11-04 (build 9e740fe)\n\nLICENSE\nCreative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)\n\nThis data is licensed CC BY-NC-SA 4.0: https://creativecommons.org/licenses/by-nc-sa/4.0/\nYou may share and adapt it with attribution, for non-commercial use, under the same license.\nCredit it as:\n\n    Based on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org), licensed CC BY-NC-SA 4.0.\n\nThe license covers this project's contribution (the reading, alignment and processing), not the\nunderlying maps or the DataSF parcels, which keep their own terms. See https://sfzoning.com.\n\nATTRIBUTION\nBased on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org)\nLot lines: DataSF, \"Parcels - Active and Retired\", City and County of San\nFrancisco (https://datasf.org).\n","items":[{"sheet":"20180102094142210","name":"1921-sheet-20180102094142210.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/c103ba028eb2115b601232904765e332/1921-sheet-20180102094142210.tif","bytes":3024629,"md5":"c103ba028eb2115b601232904765e332","updated":"2026-11-04"},{"sheet":"20180102094149543","name":"1921-sheet-20180102094149543.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/102c444b4b18d3cd285aeb608b63a603/1921-sheet-20180102094149543.tif","bytes":4056367,"md5":"102c444b4b18d3cd285aeb608b63a603","updated":"2026-11-04"},{"sheet":"20180102094156908","name":"1921-sheet-20180102094156908.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/2d56521b6124bf3fe68b044a52521add/1921-sheet-20180102094156908.tif","bytes":2395024,"md5":"2d56521b6124bf3fe68b044a52521add","updated":"2026-11-04"},{"sheet":"20180102094204401","name":"1921-sheet-20180102094204401.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/926c6f510411303cae5fc10545d3ac2c/1921-sheet-20180102094204401.tif","bytes":2166575,"md5":"926c6f510411303cae5fc10545d3ac2c","updated":"2026-11-04"},{"sheet":"20180102094212101","name":"1921-sheet-20180102094212101.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/1eb50f06799df69510e435bc84d2dec9/1921-sheet-20180102094212101.tif","bytes":3447708,"md5":"1eb50f06799df69510e435bc84d2dec9","updated":"2026-11-04"},{"sheet":"20180102094219795","name":"1921-sheet-20180102094219795.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/7f6da7102b314214be389a3ac7e38963/1921-sheet-20180102094219795.tif","bytes":4552753,"md5":"7f6da7102b314214be389a3ac7e38963","updated":"2026-11-04"},{"sheet":"20180102094254223","name":"1921-sheet-20180102094254223.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/2bca5f7cd2fee24e31ad802e9d7fe92c/1921-sheet-20180102094254223.tif","bytes":4433216,"md5":"2bca5f7cd2fee24e31ad802e9d7fe92c","updated":"2026-11-04"},{"sheet":"20180102094308402","name":"1921-sheet-20180102094308402.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/67b72b8fe6de0ff7bcfd5819e52fa2e2/1921-sheet-20180102094308402.tif","bytes":4730438,"md5":"67b72b8fe6de0ff7bcfd5819e52fa2e2","updated":"2026-11-04"},{"sheet":"20180102094317284","name":"1921-sheet-20180102094317284.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/3c891718d21238497a1148a4fd63f61b/1921-sheet-20180102094317284.tif","bytes":5402411,"md5":"3c891718d21238497a1148a4fd63f61b","updated":"2026-11-04"},{"sheet":"20180102094325427","name":"1921-sheet-20180102094325427.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/139cb179c24fd65fee9d7663bb9e826f/1921-sheet-20180102094325427.tif","bytes":4150688,"md5":"139cb179c24fd65fee9d7663bb9e826f","updated":"2026-11-04"},{"sheet":"20180102094333266","name":"1921-sheet-20180102094333266.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/24f594ed427c211df69bb3646948930c/1921-sheet-20180102094333266.tif","bytes":5429675,"md5":"24f594ed427c211df69bb3646948930c","updated":"2026-11-04"},{"sheet":"20180102094341084","name":"1921-sheet-20180102094341084.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/38a704284c289374332af435cc285c35/1921-sheet-20180102094341084.tif","bytes":5286595,"md5":"38a704284c289374332af435cc285c35","updated":"2026-11-04"},{"sheet":"20180102094348509","name":"1921-sheet-20180102094348509.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/83911a7d938d442094434efef20a67e6/1921-sheet-20180102094348509.tif","bytes":5506483,"md5":"83911a7d938d442094434efef20a67e6","updated":"2026-11-04"},{"sheet":"20180102094355582","name":"1921-sheet-20180102094355582.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/2fdf277a5c6b8b69e78f753596273ec5/1921-sheet-20180102094355582.tif","bytes":1532576,"md5":"2fdf277a5c6b8b69e78f753596273ec5","updated":"2026-11-04"},{"sheet":"20180102094727628","name":"1921-sheet-20180102094727628.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/f0/c6c91856d71bea9aea2a9c9720c39e","bytes":10964169,"md5":"f0c6c91856d71bea9aea2a9c9720c39e","updated":"2026-11-04"},{"sheet":"20180102100525362","name":"1921-sheet-20180102100525362.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/8e/bd8327e0dbeecbb79a822cacffe428","bytes":11138276,"md5":"8ebd8327e0dbeecbb79a822cacffe428","updated":"2026-11-04"}]},"1929":{"updated":"2026-11-04","readme":"sfzoning.com: San Francisco historic zoning (1929, sheets)\n\nWHAT THIS FILE IS\nThe aligned sheets of the 1929 edition zoning map, one GeoTIFF per sheet, each\nat its own resolution (California State Plane III, feet, EPSG:2227). Each\nsheet was warped onto that grid with GDAL (gdalwarp, thin plate spline, cubic\nresampling) from control points matched to today's street corners. Sheets\nscanned in 1-bit black and white are tinted to the paper colour, and printed\nborder rules and binding shadows are erased. Nothing is vectorized or drawn on\nthe scans.\n\nHOW THE ZONING WAS ASSIGNED\nThe zoning maps were read from the scans, one district label per area, and\neach label was assigned to today's lots. The boundaries in the lot and\ndistrict files are modern lot lines from the DataSF parcels layer. They were\nnever traced from the scan, so a district edge is only as precise as the lot\nit falls on. Where a street has moved since the map was drawn, the scan keeps\nthe historic position and the data follows today's lot lines.\n\nWHAT \"confidence\" MEANS\nA number from 0 to 1 for how sure the reading is that the lot belongs to the\ndistrict shown. Lots set by a person get 1: those whose district was set by an\noverride (inputs/<series>/overrides.csv in the source repository), and those\nwhose label a person added by hand (inputs/<series>/label_fixes.csv). Lots\nread from a sheet flagged for review are capped at 0.6. 0 means no district\ncould be assigned to the lot.\n\nNOT AN OFFICIAL RECORD\nThis is a reconstruction, not an official record of the San Francisco\nPlanning Department. Check the Planning Department's own records before\nrelying on it for any legal purpose.\n\nLAST UPDATED\n2026-11-04 (build 9e740fe)\n\nLICENSE\nCreative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)\n\nThis data is licensed CC BY-NC-SA 4.0: https://creativecommons.org/licenses/by-nc-sa/4.0/\nYou may share and adapt it with attribution, for non-commercial use, under the same license.\nCredit it as:\n\n    Based on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org), licensed CC BY-NC-SA 4.0.\n\nThe license covers this project's contribution (the reading, alignment and processing), not the\nunderlying maps or the DataSF parcels, which keep their own terms. See https://sfzoning.com.\n\nATTRIBUTION\nBased on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org)\nLot lines: DataSF, \"Parcels - Active and Retired\", City and County of San\nFrancisco (https://datasf.org).\n","items":[{"sheet":"20180102100804566-p05","name":"1929-sheet-20180102100804566-p05.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/d66c58a0569c657a9ad389ea176ea2e8/1929-sheet-20180102100804566-p05.tif","bytes":7120822,"md5":"d66c58a0569c657a9ad389ea176ea2e8","updated":"2026-11-04"},{"sheet":"20180102100804566-p06","name":"1929-sheet-20180102100804566-p06.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/92/65ef43d55af29a0ec7b204ed233ff8","bytes":11004981,"md5":"9265ef43d55af29a0ec7b204ed233ff8","updated":"2026-11-04"},{"sheet":"20180102100804566-p07","name":"1929-sheet-20180102100804566-p07.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/1db16fac7e9077f80f9b0e79ec755a5d/1929-sheet-20180102100804566-p07.tif","bytes":6580692,"md5":"1db16fac7e9077f80f9b0e79ec755a5d","updated":"2026-11-04"},{"sheet":"20180102100804566-p08","name":"1929-sheet-20180102100804566-p08.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/7889a32747072717c6151e95ca44bce5/1929-sheet-20180102100804566-p08.tif","bytes":5263280,"md5":"7889a32747072717c6151e95ca44bce5","updated":"2026-11-04"},{"sheet":"20180102100804566-p09","name":"1929-sheet-20180102100804566-p09.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/fa/904a45f11e0d5d6d4c2c2ebb2b3686","bytes":8608857,"md5":"fa904a45f11e0d5d6d4c2c2ebb2b3686","updated":"2026-11-04"},{"sheet":"20180102100804566-p10","name":"1929-sheet-20180102100804566-p10.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/f4/d7048cfba521766ba10337d5db4221","bytes":12407904,"md5":"f4d7048cfba521766ba10337d5db4221","updated":"2026-11-04"},{"sheet":"20180102100804566-p11","name":"1929-sheet-20180102100804566-p11.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/a9/9eefcd63fb5427dc286567778e0552","bytes":10399429,"md5":"a99eefcd63fb5427dc286567778e0552","updated":"2026-11-04"},{"sheet":"20180102100804566-p12","name":"1929-sheet-20180102100804566-p12.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/16/5efc547bd229335b5a672ce3c5bc42","bytes":13201151,"md5":"165efc547bd229335b5a672ce3c5bc42","updated":"2026-11-04"},{"sheet":"20180102100804566-p13","name":"1929-sheet-20180102100804566-p13.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/32/5bdc547fa222710e90d80cad124b9d","bytes":12012639,"md5":"325bdc547fa222710e90d80cad124b9d","updated":"2026-11-04"},{"sheet":"20180102100804566-p14","name":"1929-sheet-20180102100804566-p14.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/67/fc8b7339ce2141d4a8967b27d668d6","bytes":11536597,"md5":"67fc8b7339ce2141d4a8967b27d668d6","updated":"2026-11-04"},{"sheet":"20180102100804566-p15","name":"1929-sheet-20180102100804566-p15.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/3c/83e88d8a6dfbc703e4d3bfe45f25a1","bytes":10575169,"md5":"3c83e88d8a6dfbc703e4d3bfe45f25a1","updated":"2026-11-04"},{"sheet":"20180102100804566-p16","name":"1929-sheet-20180102100804566-p16.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/46/896c60985ed74c3ce011caa4fb1189","bytes":10396619,"md5":"46896c60985ed74c3ce011caa4fb1189","updated":"2026-11-04"}]},"1935":{"updated":"2026-11-04","readme":"sfzoning.com: San Francisco historic zoning (1935, sheets)\n\nWHAT THIS FILE IS\nThe aligned sheets of the 1935 edition zoning map, one GeoTIFF per sheet, each\nat its own resolution (California State Plane III, feet, EPSG:2227). Each\nsheet was warped onto that grid with GDAL (gdalwarp, thin plate spline, cubic\nresampling) from control points matched to today's street corners. Sheets\nscanned in 1-bit black and white are tinted to the paper colour, and printed\nborder rules and binding shadows are erased. Nothing is vectorized or drawn on\nthe scans.\n\nHOW THE ZONING WAS ASSIGNED\nThe zoning maps were read from the scans, one district label per area, and\neach label was assigned to today's lots. The boundaries in the lot and\ndistrict files are modern lot lines from the DataSF parcels layer. They were\nnever traced from the scan, so a district edge is only as precise as the lot\nit falls on. Where a street has moved since the map was drawn, the scan keeps\nthe historic position and the data follows today's lot lines.\n\nWHAT \"confidence\" MEANS\nA number from 0 to 1 for how sure the reading is that the lot belongs to the\ndistrict shown. Lots set by a person get 1: those whose district was set by an\noverride (inputs/<series>/overrides.csv in the source repository), and those\nwhose label a person added by hand (inputs/<series>/label_fixes.csv). Lots\nread from a sheet flagged for review are capped at 0.6. 0 means no district\ncould be assigned to the lot.\n\nNOT AN OFFICIAL RECORD\nThis is a reconstruction, not an official record of the San Francisco\nPlanning Department. Check the Planning Department's own records before\nrelying on it for any legal purpose.\n\nLAST UPDATED\n2026-11-04 (build 9e740fe)\n\nLICENSE\nCreative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)\n\nThis data is licensed CC BY-NC-SA 4.0: https://creativecommons.org/licenses/by-nc-sa/4.0/\nYou may share and adapt it with attribution, for non-commercial use, under the same license.\nCredit it as:\n\n    Based on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org), licensed CC BY-NC-SA 4.0.\n\nThe license covers this project's contribution (the reading, alignment and processing), not the\nunderlying maps or the DataSF parcels, which keep their own terms. See https://sfzoning.com.\n\nATTRIBUTION\nBased on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org)\nLot lines: DataSF, \"Parcels - Active and Retired\", City and County of San\nFrancisco (https://datasf.org).\n","items":[{"sheet":"20180102102853571-p01","name":"1935-sheet-20180102102853571-p01.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/2bfa182bcc1b2917630114264a46c882/1935-sheet-20180102102853571-p01.tif","bytes":8346972,"md5":"2bfa182bcc1b2917630114264a46c882","updated":"2026-11-04"},{"sheet":"20180102102853571-p02","name":"1935-sheet-20180102102853571-p02.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/fb/e02b5342fca9fc5f92b25bcc22fbe7","bytes":10987398,"md5":"fbe02b5342fca9fc5f92b25bcc22fbe7","updated":"2026-11-04"},{"sheet":"20180102102853571-p03","name":"1935-sheet-20180102102853571-p03.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/c1638de3af3cc5f0ae0431b97ebfb515/1935-sheet-20180102102853571-p03.tif","bytes":6179013,"md5":"c1638de3af3cc5f0ae0431b97ebfb515","updated":"2026-11-04"},{"sheet":"20180102102853571-p04","name":"1935-sheet-20180102102853571-p04.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/14c7912b8c61c1c79355ef32f852edfc/1935-sheet-20180102102853571-p04.tif","bytes":5475196,"md5":"14c7912b8c61c1c79355ef32f852edfc","updated":"2026-11-04"},{"sheet":"20180102102853571-p05","name":"1935-sheet-20180102102853571-p05.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/5a/596f20dff050b7cd6e8d0c262a657b","bytes":9469794,"md5":"5a596f20dff050b7cd6e8d0c262a657b","updated":"2026-11-04"},{"sheet":"20180102102853571-p06","name":"1935-sheet-20180102102853571-p06.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/51/b6f2146f8b65722515faba698b6760","bytes":12858845,"md5":"51b6f2146f8b65722515faba698b6760","updated":"2026-11-04"},{"sheet":"20180102102853571-p07","name":"1935-sheet-20180102102853571-p07.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/9d/31190a131b157cd95388ec88603534","bytes":10711670,"md5":"9d31190a131b157cd95388ec88603534","updated":"2026-11-04"},{"sheet":"20180102102853571-p08","name":"1935-sheet-20180102102853571-p08.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/61/01ae5c3e77f250f9b6094251f1fa7d","bytes":13017112,"md5":"6101ae5c3e77f250f9b6094251f1fa7d","updated":"2026-11-04"},{"sheet":"20180102102853571-p09","name":"1935-sheet-20180102102853571-p09.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/70/1803a469839e04e666f66a313ca37b","bytes":12721711,"md5":"701803a469839e04e666f66a313ca37b","updated":"2026-11-04"},{"sheet":"20180102102853571-p10","name":"1935-sheet-20180102102853571-p10.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/f6/0d28dd6ef02bf63b4e40619663643c","bytes":11421864,"md5":"f60d28dd6ef02bf63b4e40619663643c","updated":"2026-11-04"},{"sheet":"20180102102853571-p11","name":"1935-sheet-20180102102853571-p11.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/f0/d99c740810fd923764e183486621da","bytes":12053933,"md5":"f0d99c740810fd923764e183486621da","updated":"2026-11-04"},{"sheet":"20180102102853571-p12","name":"1935-sheet-20180102102853571-p12.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/be/0fed1738f0528b27abfc7584f55b45","bytes":10935266,"md5":"be0fed1738f0528b27abfc7584f55b45","updated":"2026-11-04"},{"sheet":"20180102102853571-p13","name":"1935-sheet-20180102102853571-p13.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/fc/0c9d7d5e212024aa86b71cb0806910","bytes":12874340,"md5":"fc0c9d7d5e212024aa86b71cb0806910","updated":"2026-11-04"},{"sheet":"20180102102853571-p14","name":"1935-sheet-20180102102853571-p14.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/3253ace129f7a094b2eab3e2a90b2426/1935-sheet-20180102102853571-p14.tif","bytes":4617169,"md5":"3253ace129f7a094b2eab3e2a90b2426","updated":"2026-11-04"},{"sheet":"20180102102853571-p15","name":"1935-sheet-20180102102853571-p15.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/1fa9f1a61e7ef22fb123896c5d4a4ce9/1935-sheet-20180102102853571-p15.tif","bytes":6650459,"md5":"1fa9f1a61e7ef22fb123896c5d4a4ce9","updated":"2026-11-04"}]},"1948":{"updated":"2026-11-04","readme":"sfzoning.com: San Francisco historic zoning (1948, sheets)\n\nWHAT THIS FILE IS\nThe aligned sheets of the 1948 edition zoning map, one GeoTIFF per sheet, each\nat its own resolution (California State Plane III, feet, EPSG:2227). Each\nsheet was warped onto that grid with GDAL (gdalwarp, thin plate spline, cubic\nresampling) from control points matched to today's street corners. Sheets\nscanned in 1-bit black and white are tinted to the paper colour, and printed\nborder rules and binding shadows are erased. Nothing is vectorized or drawn on\nthe scans.\n\nHOW THE ZONING WAS ASSIGNED\nThe zoning maps were read from the scans, one district label per area, and\neach label was assigned to today's lots. The boundaries in the lot and\ndistrict files are modern lot lines from the DataSF parcels layer. They were\nnever traced from the scan, so a district edge is only as precise as the lot\nit falls on. Where a street has moved since the map was drawn, the scan keeps\nthe historic position and the data follows today's lot lines.\n\nWHAT \"confidence\" MEANS\nA number from 0 to 1 for how sure the reading is that the lot belongs to the\ndistrict shown. Lots set by a person get 1: those whose district was set by an\noverride (inputs/<series>/overrides.csv in the source repository), and those\nwhose label a person added by hand (inputs/<series>/label_fixes.csv). Lots\nread from a sheet flagged for review are capped at 0.6. 0 means no district\ncould be assigned to the lot.\n\nNOT AN OFFICIAL RECORD\nThis is a reconstruction, not an official record of the San Francisco\nPlanning Department. Check the Planning Department's own records before\nrelying on it for any legal purpose.\n\nLAST UPDATED\n2026-11-04 (build 9e740fe)\n\nLICENSE\nCreative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)\n\nThis data is licensed CC BY-NC-SA 4.0: https://creativecommons.org/licenses/by-nc-sa/4.0/\nYou may share and adapt it with attribution, for non-commercial use, under the same license.\nCredit it as:\n\n    Based on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org), licensed CC BY-NC-SA 4.0.\n\nThe license covers this project's contribution (the reading, alignment and processing), not the\nunderlying maps or the DataSF parcels, which keep their own terms. See https://sfzoning.com.\n\nATTRIBUTION\nBased on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org)\nLot lines: DataSF, \"Parcels - Active and Retired\", City and County of San\nFrancisco (https://datasf.org).\nImagery: David Rumsey Map Collection, David Rumsey Map Center, Stanford\nLibraries, licensed CC BY-NC-SA 3.0\n(https://creativecommons.org/licenses/by-nc-sa/3.0/).\n","items":[{"sheet":"1","name":"1948-sheet-1.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/76/88cf34e8c75d88bb7b78b78be179f1","bytes":48959297,"md5":"7688cf34e8c75d88bb7b78b78be179f1","updated":"2026-11-04"},{"sheet":"2","name":"1948-sheet-2.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/d1/c641dc26072f4945ceb0405564f46c","bytes":51833091,"md5":"d1c641dc26072f4945ceb0405564f46c","updated":"2026-11-04"},{"sheet":"3","name":"1948-sheet-3.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/20/b89febc392b432ac38f703e9195599","bytes":40774559,"md5":"20b89febc392b432ac38f703e9195599","updated":"2026-11-04"},{"sheet":"4","name":"1948-sheet-4.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/8c/1ab8c9c6c40e273c53e05e4264950d","bytes":45081685,"md5":"8c1ab8c9c6c40e273c53e05e4264950d","updated":"2026-11-04"},{"sheet":"5a","name":"1948-sheet-5a.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/1b/30f15bf21a0f823c8f01cff405a6ba","bytes":55064399,"md5":"1b30f15bf21a0f823c8f01cff405a6ba","updated":"2026-11-04"},{"sheet":"6a","name":"1948-sheet-6a.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/b0/c1bef3f17ac91381e95de66b8ddc58","bytes":56537532,"md5":"b0c1bef3f17ac91381e95de66b8ddc58","updated":"2026-11-04"},{"sheet":"7","name":"1948-sheet-7.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/d2/d45beab88fc1a9b6e64e19ddf204b1","bytes":54895273,"md5":"d2d45beab88fc1a9b6e64e19ddf204b1","updated":"2026-11-04"},{"sheet":"8","name":"1948-sheet-8.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/1d/8e7210028f544fa81c51d4019d6841","bytes":56011216,"md5":"1d8e7210028f544fa81c51d4019d6841","updated":"2026-11-04"},{"sheet":"9","name":"1948-sheet-9.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/ff/896c74ec4c0387d8c7fc6a0eafbfb7","bytes":58727825,"md5":"ff896c74ec4c0387d8c7fc6a0eafbfb7","updated":"2026-11-04"},{"sheet":"10","name":"1948-sheet-10.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/5b/128abbbfc14e81ca7d36bee7be54f3","bytes":45703157,"md5":"5b128abbbfc14e81ca7d36bee7be54f3","updated":"2026-11-04"},{"sheet":"11","name":"1948-sheet-11.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/7d/03fe440dc24a4b0dbc54c0aa35a392","bytes":60339019,"md5":"7d03fe440dc24a4b0dbc54c0aa35a392","updated":"2026-11-04"},{"sheet":"12","name":"1948-sheet-12.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/60/0e4d0b7020e97863255efe3fe66f03","bytes":59846206,"md5":"600e4d0b7020e97863255efe3fe66f03","updated":"2026-11-04"},{"sheet":"13","name":"1948-sheet-13.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/5a/5264b2a80086bd1df8f4a92446c80b","bytes":63760840,"md5":"5a5264b2a80086bd1df8f4a92446c80b","updated":"2026-11-04"},{"sheet":"14","name":"1948-sheet-14.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/7e/24c205ade8db4e26c1991c599e7ff0","bytes":43355482,"md5":"7e24c205ade8db4e26c1991c599e7ff0","updated":"2026-11-04"}]},"1960":{"updated":"2026-11-04","readme":"sfzoning.com: San Francisco historic zoning (1960, sheets)\n\nWHAT THIS FILE IS\nThe aligned sheets of the 1960 edition zoning map, one GeoTIFF per sheet, each\nat its own resolution (California State Plane III, feet, EPSG:2227). Each\nsheet was warped onto that grid with GDAL (gdalwarp, thin plate spline, cubic\nresampling) from control points matched to today's street corners. Sheets\nscanned in 1-bit black and white are tinted to the paper colour, and printed\nborder rules and binding shadows are erased. Nothing is vectorized or drawn on\nthe scans.\n\nHOW THE ZONING WAS ASSIGNED\nThe zoning maps were read from the scans, one district label per area, and\neach label was assigned to today's lots. The boundaries in the lot and\ndistrict files are modern lot lines from the DataSF parcels layer. They were\nnever traced from the scan, so a district edge is only as precise as the lot\nit falls on. Where a street has moved since the map was drawn, the scan keeps\nthe historic position and the data follows today's lot lines.\n\nWHAT \"confidence\" MEANS\nA number from 0 to 1 for how sure the reading is that the lot belongs to the\ndistrict shown. Lots set by a person get 1: those whose district was set by an\noverride (inputs/<series>/overrides.csv in the source repository), and those\nwhose label a person added by hand (inputs/<series>/label_fixes.csv). Lots\nread from a sheet flagged for review are capped at 0.6. 0 means no district\ncould be assigned to the lot.\n\nNOT AN OFFICIAL RECORD\nThis is a reconstruction, not an official record of the San Francisco\nPlanning Department. Check the Planning Department's own records before\nrelying on it for any legal purpose.\n\nLAST UPDATED\n2026-11-04 (build f1d8d51)\n\nLICENSE\nCreative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)\n\nThis data is licensed CC BY-NC-SA 4.0: https://creativecommons.org/licenses/by-nc-sa/4.0/\nYou may share and adapt it with attribution, for non-commercial use, under the same license.\nCredit it as:\n\n    Based on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org), licensed CC BY-NC-SA 4.0.\n\nThe license covers this project's contribution (the reading, alignment and processing), not the\nunderlying maps or the DataSF parcels, which keep their own terms. See https://sfzoning.com.\n\nATTRIBUTION\nBased on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org)\nLot lines: DataSF, \"Parcels - Active and Retired\", City and County of San\nFrancisco (https://datasf.org).\n","items":[{"sheet":"1","name":"1960-sheet-1.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/1e6d3f6e844660f9913cc2f0fae0d8d2/1960-sheet-1.tif","bytes":8231712,"md5":"1e6d3f6e844660f9913cc2f0fae0d8d2","updated":"2026-11-04"},{"sheet":"2","name":"1960-sheet-2.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/33/6c5b925e922d35268c6740250f1227","bytes":9521192,"md5":"336c5b925e922d35268c6740250f1227","updated":"2026-11-04"},{"sheet":"3","name":"1960-sheet-3.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/971088a02c05b590ddbe6cc324b836d6/1960-sheet-3.tif","bytes":5999111,"md5":"971088a02c05b590ddbe6cc324b836d6","updated":"2026-11-04"},{"sheet":"4","name":"1960-sheet-4.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/c35d9f22b65e410ac843767f010bb97a/1960-sheet-4.tif","bytes":3927238,"md5":"c35d9f22b65e410ac843767f010bb97a","updated":"2026-11-04"},{"sheet":"5","name":"1960-sheet-5.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/55e7f2a6fdf04926d37548bcf69d3493/1960-sheet-5.tif","bytes":7316748,"md5":"55e7f2a6fdf04926d37548bcf69d3493","updated":"2026-11-04"},{"sheet":"6","name":"1960-sheet-6.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/a5/f392e792373ec2fb7bed4377337a7f","bytes":8843515,"md5":"a5f392e792373ec2fb7bed4377337a7f","updated":"2026-11-04"},{"sheet":"7","name":"1960-sheet-7.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/11/1fba15077f5d2b0a2529d2430ff277","bytes":10450070,"md5":"111fba15077f5d2b0a2529d2430ff277","updated":"2026-11-04"},{"sheet":"8","name":"1960-sheet-8.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/93bef80f6af9fe1086c2b09ff7237a8b/1960-sheet-8.tif","bytes":7888741,"md5":"93bef80f6af9fe1086c2b09ff7237a8b","updated":"2026-11-04"},{"sheet":"9","name":"1960-sheet-9.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/27b37a29655b1fe86b4ae147897095ab/1960-sheet-9.tif","bytes":4207591,"md5":"27b37a29655b1fe86b4ae147897095ab","updated":"2026-11-04"},{"sheet":"10","name":"1960-sheet-10.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/75/e426fb9ddb8f5398aa8035bfd8c309","bytes":9546702,"md5":"75e426fb9ddb8f5398aa8035bfd8c309","updated":"2026-11-04"},{"sheet":"11","name":"1960-sheet-11.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/cd/4a5f8a407643ed78dfa3857d3dd290","bytes":10315398,"md5":"cd4a5f8a407643ed78dfa3857d3dd290","updated":"2026-11-04"},{"sheet":"12","name":"1960-sheet-12.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/3e/ff669f33a0b550b904df4c2e6cbcfa","bytes":9938671,"md5":"3eff669f33a0b550b904df4c2e6cbcfa","updated":"2026-11-04"},{"sheet":"13","name":"1960-sheet-13.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/6c6c8f017d63fb4716f98224a6afac4c/1960-sheet-13.tif","bytes":6113149,"md5":"6c6c8f017d63fb4716f98224a6afac4c","updated":"2026-11-04"}]},"1964":{"updated":"2026-11-04","readme":"sfzoning.com: San Francisco historic zoning (1964, sheets)\n\nWHAT THIS FILE IS\nThe aligned sheets of the 1964 edition zoning map, one GeoTIFF per sheet, each\nat its own resolution (California State Plane III, feet, EPSG:2227). Each\nsheet was warped onto that grid with GDAL (gdalwarp, thin plate spline, cubic\nresampling) from control points matched to today's street corners. Sheets\nscanned in 1-bit black and white are tinted to the paper colour, and printed\nborder rules and binding shadows are erased. Nothing is vectorized or drawn on\nthe scans.\n\nHOW THE ZONING WAS ASSIGNED\nThe zoning maps were read from the scans, one district label per area, and\neach label was assigned to today's lots. The boundaries in the lot and\ndistrict files are modern lot lines from the DataSF parcels layer. They were\nnever traced from the scan, so a district edge is only as precise as the lot\nit falls on. Where a street has moved since the map was drawn, the scan keeps\nthe historic position and the data follows today's lot lines.\n\nWHAT \"confidence\" MEANS\nA number from 0 to 1 for how sure the reading is that the lot belongs to the\ndistrict shown. Lots set by a person get 1: those whose district was set by an\noverride (inputs/<series>/overrides.csv in the source repository), and those\nwhose label a person added by hand (inputs/<series>/label_fixes.csv). Lots\nread from a sheet flagged for review are capped at 0.6. 0 means no district\ncould be assigned to the lot.\n\nNOT AN OFFICIAL RECORD\nThis is a reconstruction, not an official record of the San Francisco\nPlanning Department. Check the Planning Department's own records before\nrelying on it for any legal purpose.\n\nLAST UPDATED\n2026-11-04 (build 9e740fe)\n\nLICENSE\nCreative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)\n\nThis data is licensed CC BY-NC-SA 4.0: https://creativecommons.org/licenses/by-nc-sa/4.0/\nYou may share and adapt it with attribution, for non-commercial use, under the same license.\nCredit it as:\n\n    Based on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org), licensed CC BY-NC-SA 4.0.\n\nThe license covers this project's contribution (the reading, alignment and processing), not the\nunderlying maps or the DataSF parcels, which keep their own terms. See https://sfzoning.com.\n\nATTRIBUTION\nBased on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org)\nLot lines: DataSF, \"Parcels - Active and Retired\", City and County of San\nFrancisco (https://datasf.org).\n","items":[{"sheet":"20180102105639444-p02","name":"1964-sheet-20180102105639444-p02.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/6bc1acf0c7a283b2fdda3dd43f2f30db/1964-sheet-20180102105639444-p02.tif","bytes":8244864,"md5":"6bc1acf0c7a283b2fdda3dd43f2f30db","updated":"2026-11-04"},{"sheet":"20180102105639444-p03","name":"1964-sheet-20180102105639444-p03.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/dc/dff44ee15d38812d89ce2fa8c9b63c","bytes":9437029,"md5":"dcdff44ee15d38812d89ce2fa8c9b63c","updated":"2026-11-04"},{"sheet":"20180102105639444-p04","name":"1964-sheet-20180102105639444-p04.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/0913925f02fd7990b036f1e1438b7077/1964-sheet-20180102105639444-p04.tif","bytes":5593995,"md5":"0913925f02fd7990b036f1e1438b7077","updated":"2026-11-04"},{"sheet":"20180102105639444-p05","name":"1964-sheet-20180102105639444-p05.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/261395d5dc0e5ab4b770c2ee1dfdd0b5/1964-sheet-20180102105639444-p05.tif","bytes":3929811,"md5":"261395d5dc0e5ab4b770c2ee1dfdd0b5","updated":"2026-11-04"},{"sheet":"20180102105639444-p06","name":"1964-sheet-20180102105639444-p06.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/52f5011f1535b9890c17c17bbc3c3bae/1964-sheet-20180102105639444-p06.tif","bytes":7393334,"md5":"52f5011f1535b9890c17c17bbc3c3bae","updated":"2026-11-04"},{"sheet":"20180102105639444-p07","name":"1964-sheet-20180102105639444-p07.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/fb/93084576bc9db99e5f9eed71bd6d22","bytes":8792891,"md5":"fb93084576bc9db99e5f9eed71bd6d22","updated":"2026-11-04"},{"sheet":"20180102105639444-p08","name":"1964-sheet-20180102105639444-p08.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/2b/893336fb918eb50ac80238eff5ba2a","bytes":10386081,"md5":"2b893336fb918eb50ac80238eff5ba2a","updated":"2026-11-04"},{"sheet":"20180102105639444-p09","name":"1964-sheet-20180102105639444-p09.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/798bfc38a6c94451d8a9aabba4ce5b79/1964-sheet-20180102105639444-p09.tif","bytes":7460954,"md5":"798bfc38a6c94451d8a9aabba4ce5b79","updated":"2026-11-04"},{"sheet":"20180102105639444-p10","name":"1964-sheet-20180102105639444-p10.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/fb39447525812ec42f38bbb289343819/1964-sheet-20180102105639444-p10.tif","bytes":4132891,"md5":"fb39447525812ec42f38bbb289343819","updated":"2026-11-04"},{"sheet":"20180102105639444-p11","name":"1964-sheet-20180102105639444-p11.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/5e/fe0b0f0611737a45cedb972c372f8d","bytes":9524206,"md5":"5efe0b0f0611737a45cedb972c372f8d","updated":"2026-11-04"},{"sheet":"20180102105639444-p12","name":"1964-sheet-20180102105639444-p12.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/6f/c4f9f96b075b434495e578c7d4ef3f","bytes":10261780,"md5":"6fc4f9f96b075b434495e578c7d4ef3f","updated":"2026-11-04"},{"sheet":"20180102105639444-p13","name":"1964-sheet-20180102105639444-p13.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/bb/30018335f09d288b07476d5c546ec4","bytes":9839779,"md5":"bb30018335f09d288b07476d5c546ec4","updated":"2026-11-04"},{"sheet":"20180102105639444-p14","name":"1964-sheet-20180102105639444-p14.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/e49431e9c14f36d6215fe85b34c18af5/1964-sheet-20180102105639444-p14.tif","bytes":6158406,"md5":"e49431e9c14f36d6215fe85b34c18af5","updated":"2026-11-04"},{"sheet":"20180102105639444-p15","name":"1964-sheet-20180102105639444-p15.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/52aa343314a549d40305adf46c068ff6/1964-sheet-20180102105639444-p15.tif","bytes":7595016,"md5":"52aa343314a549d40305adf46c068ff6","updated":"2026-11-04"},{"sheet":"20180102105639444-p16","name":"1964-sheet-20180102105639444-p16.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/2b040dae50e5408a0a8334092b68ce30/1964-sheet-20180102105639444-p16.tif","bytes":7645405,"md5":"2b040dae50e5408a0a8334092b68ce30","updated":"2026-11-04"},{"sheet":"20180102105639444-p17","name":"1964-sheet-20180102105639444-p17.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/5999506afff0f65f373d37a48667af34/1964-sheet-20180102105639444-p17.tif","bytes":8212593,"md5":"5999506afff0f65f373d37a48667af34","updated":"2026-11-04"}]},"1968":{"updated":"2026-11-04","readme":"sfzoning.com: San Francisco historic zoning (1968, sheets)\n\nWHAT THIS FILE IS\nThe aligned sheets of the 1968 edition zoning map, one GeoTIFF per sheet, each\nat its own resolution (California State Plane III, feet, EPSG:2227). Each\nsheet was warped onto that grid with GDAL (gdalwarp, thin plate spline, cubic\nresampling) from control points matched to today's street corners. Sheets\nscanned in 1-bit black and white are tinted to the paper colour, and printed\nborder rules and binding shadows are erased. Nothing is vectorized or drawn on\nthe scans.\n\nHOW THE ZONING WAS ASSIGNED\nThe zoning maps were read from the scans, one district label per area, and\neach label was assigned to today's lots. The boundaries in the lot and\ndistrict files are modern lot lines from the DataSF parcels layer. They were\nnever traced from the scan, so a district edge is only as precise as the lot\nit falls on. Where a street has moved since the map was drawn, the scan keeps\nthe historic position and the data follows today's lot lines.\n\nWHAT \"confidence\" MEANS\nA number from 0 to 1 for how sure the reading is that the lot belongs to the\ndistrict shown. Lots set by a person get 1: those whose district was set by an\noverride (inputs/<series>/overrides.csv in the source repository), and those\nwhose label a person added by hand (inputs/<series>/label_fixes.csv). Lots\nread from a sheet flagged for review are capped at 0.6. 0 means no district\ncould be assigned to the lot.\n\nNOT AN OFFICIAL RECORD\nThis is a reconstruction, not an official record of the San Francisco\nPlanning Department. Check the Planning Department's own records before\nrelying on it for any legal purpose.\n\nLAST UPDATED\n2026-11-04 (build 9e740fe)\n\nLICENSE\nCreative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)\n\nThis data is licensed CC BY-NC-SA 4.0: https://creativecommons.org/licenses/by-nc-sa/4.0/\nYou may share and adapt it with attribution, for non-commercial use, under the same license.\nCredit it as:\n\n    Based on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org), licensed CC BY-NC-SA 4.0.\n\nThe license covers this project's contribution (the reading, alignment and processing), not the\nunderlying maps or the DataSF parcels, which keep their own terms. See https://sfzoning.com.\n\nATTRIBUTION\nBased on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org)\nLot lines: DataSF, \"Parcels - Active and Retired\", City and County of San\nFrancisco (https://datasf.org).\n","items":[{"sheet":"20180102110513967-p02","name":"1968-sheet-20180102110513967-p02.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/3cdc8dbb6c748acc9c46892b9c9675cc/1968-sheet-20180102110513967-p02.tif","bytes":8196938,"md5":"3cdc8dbb6c748acc9c46892b9c9675cc","updated":"2026-11-04"},{"sheet":"20180102110513967-p03","name":"1968-sheet-20180102110513967-p03.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/89/6f26ec927c2d96be5d0ee6af6f8b3a","bytes":9472800,"md5":"896f26ec927c2d96be5d0ee6af6f8b3a","updated":"2026-11-04"},{"sheet":"20180102110513967-p04","name":"1968-sheet-20180102110513967-p04.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/28db838617e3b7670a0a97fa61eae077/1968-sheet-20180102110513967-p04.tif","bytes":5630128,"md5":"28db838617e3b7670a0a97fa61eae077","updated":"2026-11-04"},{"sheet":"20180102110513967-p05","name":"1968-sheet-20180102110513967-p05.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/e66e76e308b7f1173cca609e6ee62866/1968-sheet-20180102110513967-p05.tif","bytes":4016383,"md5":"e66e76e308b7f1173cca609e6ee62866","updated":"2026-11-04"},{"sheet":"20180102110513967-p06","name":"1968-sheet-20180102110513967-p06.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/9c7959929ab6a37b5e6302af4e2587af/1968-sheet-20180102110513967-p06.tif","bytes":7450229,"md5":"9c7959929ab6a37b5e6302af4e2587af","updated":"2026-11-04"},{"sheet":"20180102110513967-p07","name":"1968-sheet-20180102110513967-p07.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/9d/5b5d58e90cf534243730b7d317c7ba","bytes":9176811,"md5":"9d5b5d58e90cf534243730b7d317c7ba","updated":"2026-11-04"},{"sheet":"20180102110513967-p08","name":"1968-sheet-20180102110513967-p08.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/91/e2b7df390084296885b446c68916a6","bytes":10414946,"md5":"91e2b7df390084296885b446c68916a6","updated":"2026-11-04"},{"sheet":"20180102110513967-p09","name":"1968-sheet-20180102110513967-p09.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/5c7d673404dc8d64acd77f109d25499b/1968-sheet-20180102110513967-p09.tif","bytes":7624950,"md5":"5c7d673404dc8d64acd77f109d25499b","updated":"2026-11-04"},{"sheet":"20180102110513967-p10","name":"1968-sheet-20180102110513967-p10.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/5ea49eefea2f9cef8af61d60710b6295/1968-sheet-20180102110513967-p10.tif","bytes":3767998,"md5":"5ea49eefea2f9cef8af61d60710b6295","updated":"2026-11-04"},{"sheet":"20180102110513967-p11","name":"1968-sheet-20180102110513967-p11.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/82/b78521cf27e74367e4d45f67a45502","bytes":9858819,"md5":"82b78521cf27e74367e4d45f67a45502","updated":"2026-11-04"},{"sheet":"20180102110513967-p12","name":"1968-sheet-20180102110513967-p12.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/48/f2a49c443c13cde2eeb11317bd8834","bytes":10765114,"md5":"48f2a49c443c13cde2eeb11317bd8834","updated":"2026-11-04"},{"sheet":"20180102110513967-p13","name":"1968-sheet-20180102110513967-p13.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/2d/4490d1007062e96c5ef3f3e3a34e5e","bytes":9920087,"md5":"2d4490d1007062e96c5ef3f3e3a34e5e","updated":"2026-11-04"},{"sheet":"20180102110513967-p14","name":"1968-sheet-20180102110513967-p14.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/f265cc393dc3eba717c41595cd60c91d/1968-sheet-20180102110513967-p14.tif","bytes":6360589,"md5":"f265cc393dc3eba717c41595cd60c91d","updated":"2026-11-04"},{"sheet":"20180102110513967-p15","name":"1968-sheet-20180102110513967-p15.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/4ee2c8c60394efd1bc3b17235469a97a/1968-sheet-20180102110513967-p15.tif","bytes":4504639,"md5":"4ee2c8c60394efd1bc3b17235469a97a","updated":"2026-11-04"},{"sheet":"20180102110513967-p16","name":"1968-sheet-20180102110513967-p16.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/e89c46a5175de3f4acea4646e070e794/1968-sheet-20180102110513967-p16.tif","bytes":7830031,"md5":"e89c46a5175de3f4acea4646e070e794","updated":"2026-11-04"},{"sheet":"20180102110513967-p17","name":"1968-sheet-20180102110513967-p17.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/bf72f320eea3e00e34eaa471bdab1cd0/1968-sheet-20180102110513967-p17.tif","bytes":7942082,"md5":"bf72f320eea3e00e34eaa471bdab1cd0","updated":"2026-11-04"},{"sheet":"20180102110513967-p18","name":"1968-sheet-20180102110513967-p18.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/497961c9263ff52e27d9537d9270fc35/1968-sheet-20180102110513967-p18.tif","bytes":8337528,"md5":"497961c9263ff52e27d9537d9270fc35","updated":"2026-11-04"},{"sheet":"20180102110513967-p19","name":"1968-sheet-20180102110513967-p19.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/2c3c12eae256e010fb3d4a14f69919ad/1968-sheet-20180102110513967-p19.tif","bytes":3246896,"md5":"2c3c12eae256e010fb3d4a14f69919ad","updated":"2026-11-04"},{"sheet":"20180102110513967-p20","name":"1968-sheet-20180102110513967-p20.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/7a0e733d6be4c0f41197fe4a69bd5e71/1968-sheet-20180102110513967-p20.tif","bytes":6837509,"md5":"7a0e733d6be4c0f41197fe4a69bd5e71","updated":"2026-11-04"},{"sheet":"20180102110513967-p21","name":"1968-sheet-20180102110513967-p21.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/8814309534c44e7ffddfa600a3c44a58/1968-sheet-20180102110513967-p21.tif","bytes":5593091,"md5":"8814309534c44e7ffddfa600a3c44a58","updated":"2026-11-04"}]},"1972":{"updated":"2026-11-04","readme":"sfzoning.com: San Francisco historic zoning (1972, sheets)\n\nWHAT THIS FILE IS\nThe aligned sheets of the 1972 edition zoning map, one GeoTIFF per sheet, each\nat its own resolution (California State Plane III, feet, EPSG:2227). Each\nsheet was warped onto that grid with GDAL (gdalwarp, thin plate spline, cubic\nresampling) from control points matched to today's street corners. Sheets\nscanned in 1-bit black and white are tinted to the paper colour, and printed\nborder rules and binding shadows are erased. Nothing is vectorized or drawn on\nthe scans.\n\nHOW THE ZONING WAS ASSIGNED\nThe zoning maps were read from the scans, one district label per area, and\neach label was assigned to today's lots. The boundaries in the lot and\ndistrict files are modern lot lines from the DataSF parcels layer. They were\nnever traced from the scan, so a district edge is only as precise as the lot\nit falls on. Where a street has moved since the map was drawn, the scan keeps\nthe historic position and the data follows today's lot lines.\n\nWHAT \"confidence\" MEANS\nA number from 0 to 1 for how sure the reading is that the lot belongs to the\ndistrict shown. Lots set by a person get 1: those whose district was set by an\noverride (inputs/<series>/overrides.csv in the source repository), and those\nwhose label a person added by hand (inputs/<series>/label_fixes.csv). Lots\nread from a sheet flagged for review are capped at 0.6. 0 means no district\ncould be assigned to the lot.\n\nNOT AN OFFICIAL RECORD\nThis is a reconstruction, not an official record of the San Francisco\nPlanning Department. Check the Planning Department's own records before\nrelying on it for any legal purpose.\n\nLAST UPDATED\n2026-11-04 (build 9e740fe)\n\nLICENSE\nCreative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)\n\nThis data is licensed CC BY-NC-SA 4.0: https://creativecommons.org/licenses/by-nc-sa/4.0/\nYou may share and adapt it with attribution, for non-commercial use, under the same license.\nCredit it as:\n\n    Based on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org), licensed CC BY-NC-SA 4.0.\n\nThe license covers this project's contribution (the reading, alignment and processing), not the\nunderlying maps or the DataSF parcels, which keep their own terms. See https://sfzoning.com.\n\nATTRIBUTION\nBased on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org)\nLot lines: DataSF, \"Parcels - Active and Retired\", City and County of San\nFrancisco (https://datasf.org).\n","items":[{"sheet":"20180102113004574-p01","name":"1972-sheet-20180102113004574-p01.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/ac31717fb39fef5d882bd1ec20e38d93/1972-sheet-20180102113004574-p01.tif","bytes":8176071,"md5":"ac31717fb39fef5d882bd1ec20e38d93","updated":"2026-11-04"},{"sheet":"20180102113004574-p02","name":"1972-sheet-20180102113004574-p02.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/aa/d87bc096c9d3ef8559d40a710fd2db","bytes":9784588,"md5":"aad87bc096c9d3ef8559d40a710fd2db","updated":"2026-11-04"},{"sheet":"20180102113004574-p03","name":"1972-sheet-20180102113004574-p03.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/f3a4a375982e3667380381ddfa0fa712/1972-sheet-20180102113004574-p03.tif","bytes":5669967,"md5":"f3a4a375982e3667380381ddfa0fa712","updated":"2026-11-04"},{"sheet":"20180102113004574-p04","name":"1972-sheet-20180102113004574-p04.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/dabdb5141970d8b3e6995db60acc1296/1972-sheet-20180102113004574-p04.tif","bytes":3983721,"md5":"dabdb5141970d8b3e6995db60acc1296","updated":"2026-11-04"},{"sheet":"20180102113004574-p05","name":"1972-sheet-20180102113004574-p05.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/3f5917cd08687c9a0a5bf41919332c51/1972-sheet-20180102113004574-p05.tif","bytes":7243322,"md5":"3f5917cd08687c9a0a5bf41919332c51","updated":"2026-11-04"},{"sheet":"20180102113004574-p06","name":"1972-sheet-20180102113004574-p06.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/0d/6968f5727e8d35d9c701526e5a41a0","bytes":8994056,"md5":"0d6968f5727e8d35d9c701526e5a41a0","updated":"2026-11-04"},{"sheet":"20180102113004574-p07","name":"1972-sheet-20180102113004574-p07.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/e1/b66ecd1cf7dcbf0d250b7e638eec9d","bytes":10458129,"md5":"e1b66ecd1cf7dcbf0d250b7e638eec9d","updated":"2026-11-04"},{"sheet":"20180102113004574-p08","name":"1972-sheet-20180102113004574-p08.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/b81fa91b4c6a576ce78e7c10f2319ef6/1972-sheet-20180102113004574-p08.tif","bytes":7423074,"md5":"b81fa91b4c6a576ce78e7c10f2319ef6","updated":"2026-11-04"},{"sheet":"20180102113004574-p09","name":"1972-sheet-20180102113004574-p09.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/8b3e175465c85c54de426ed318d71aba/1972-sheet-20180102113004574-p09.tif","bytes":4175815,"md5":"8b3e175465c85c54de426ed318d71aba","updated":"2026-11-04"},{"sheet":"20180102113004574-p10","name":"1972-sheet-20180102113004574-p10.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/a6/a7da48a3dc879eb2bf555e5fca9644","bytes":9560946,"md5":"a6a7da48a3dc879eb2bf555e5fca9644","updated":"2026-11-04"},{"sheet":"20180102113004574-p11","name":"1972-sheet-20180102113004574-p11.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/b1/b8282d41761adc4afc4ad8d6d06fb4","bytes":10483311,"md5":"b1b8282d41761adc4afc4ad8d6d06fb4","updated":"2026-11-04"},{"sheet":"20180102113004574-p12","name":"1972-sheet-20180102113004574-p12.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/93/f6fb3d0305a558d9a34d5c187fcecf","bytes":9813995,"md5":"93f6fb3d0305a558d9a34d5c187fcecf","updated":"2026-11-04"},{"sheet":"20180102113004574-p13","name":"1972-sheet-20180102113004574-p13.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/d6a5b4934a858dc7bf78f0a1fcbd61a7/1972-sheet-20180102113004574-p13.tif","bytes":5986387,"md5":"d6a5b4934a858dc7bf78f0a1fcbd61a7","updated":"2026-11-04"},{"sheet":"20180102113004574-p14","name":"1972-sheet-20180102113004574-p14.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/52ed425dbb09872c61b89f220ac18724/1972-sheet-20180102113004574-p14.tif","bytes":4437187,"md5":"52ed425dbb09872c61b89f220ac18724","updated":"2026-11-04"},{"sheet":"20180102113004574-p15","name":"1972-sheet-20180102113004574-p15.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/803c878364219c84bcf45805f27175c2/1972-sheet-20180102113004574-p15.tif","bytes":3651765,"md5":"803c878364219c84bcf45805f27175c2","updated":"2026-11-04"},{"sheet":"20180102113004574-p16","name":"1972-sheet-20180102113004574-p16.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/7a6f8f97504dedb00d10eb51583d2aea/1972-sheet-20180102113004574-p16.tif","bytes":7748836,"md5":"7a6f8f97504dedb00d10eb51583d2aea","updated":"2026-11-04"},{"sheet":"20180102113004574-p17","name":"1972-sheet-20180102113004574-p17.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/ba/5da01a4be65976b32c04c0c7cc7e55","bytes":8601400,"md5":"ba5da01a4be65976b32c04c0c7cc7e55","updated":"2026-11-04"},{"sheet":"20180102113004574-p18","name":"1972-sheet-20180102113004574-p18.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/9f/30c821546b2a111daebc9510393d8e","bytes":9079855,"md5":"9f30c821546b2a111daebc9510393d8e","updated":"2026-11-04"},{"sheet":"20180102113004574-p19","name":"1972-sheet-20180102113004574-p19.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/31ddb7ca60aa1d1f41179c935cb5f5c7/1972-sheet-20180102113004574-p19.tif","bytes":5530372,"md5":"31ddb7ca60aa1d1f41179c935cb5f5c7","updated":"2026-11-04"},{"sheet":"20180102113004574-p20","name":"1972-sheet-20180102113004574-p20.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/af4d322a99a7a8cde0dd80bf48046b77/1972-sheet-20180102113004574-p20.tif","bytes":3672642,"md5":"af4d322a99a7a8cde0dd80bf48046b77","updated":"2026-11-04"},{"sheet":"20180102113004574-p21","name":"1972-sheet-20180102113004574-p21.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/c25c9be1e84df21ed698ec9bb678ca57/1972-sheet-20180102113004574-p21.tif","bytes":7314710,"md5":"c25c9be1e84df21ed698ec9bb678ca57","updated":"2026-11-04"},{"sheet":"20180102113004574-p22","name":"1972-sheet-20180102113004574-p22.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/8b/fbbe5d72f18728024588512e17129c","bytes":8832906,"md5":"8bfbbe5d72f18728024588512e17129c","updated":"2026-11-04"},{"sheet":"20180102113004574-p23","name":"1972-sheet-20180102113004574-p23.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/53/6146b883d74518832a6c0360a1f931","bytes":9977617,"md5":"536146b883d74518832a6c0360a1f931","updated":"2026-11-04"},{"sheet":"20180102113004574-p24","name":"1972-sheet-20180102113004574-p24.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/57c60a1aaa5f359720c9a95c0d900385/1972-sheet-20180102113004574-p24.tif","bytes":7638468,"md5":"57c60a1aaa5f359720c9a95c0d900385","updated":"2026-11-04"},{"sheet":"20180102113004574-p25","name":"1972-sheet-20180102113004574-p25.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/7557aa033149f53e7df46ebf12aee996/1972-sheet-20180102113004574-p25.tif","bytes":5217507,"md5":"7557aa033149f53e7df46ebf12aee996","updated":"2026-11-04"},{"sheet":"20180102113004574-p26","name":"1972-sheet-20180102113004574-p26.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/2c/c6e80e130f9c5ab29a200190ff8b77","bytes":9168558,"md5":"2cc6e80e130f9c5ab29a200190ff8b77","updated":"2026-11-04"},{"sheet":"20180102113004574-p27","name":"1972-sheet-20180102113004574-p27.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/ac/0d00b1b2ec2edc36370361795082d8","bytes":9925310,"md5":"ac0d00b1b2ec2edc36370361795082d8","updated":"2026-11-04"},{"sheet":"20180102113004574-p28","name":"1972-sheet-20180102113004574-p28.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/1e/28a3f85c002fcd76e9c27be01d819d","bytes":9648313,"md5":"1e28a3f85c002fcd76e9c27be01d819d","updated":"2026-11-04"},{"sheet":"20180102113004574-p29","name":"1972-sheet-20180102113004574-p29.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/cebf10ed892519938f85ef661d1b949b/1972-sheet-20180102113004574-p29.tif","bytes":6109627,"md5":"cebf10ed892519938f85ef661d1b949b","updated":"2026-11-04"},{"sheet":"20180102113004574-p31","name":"1972-sheet-20180102113004574-p31.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/fc0a0f1186e43a95409cbe6c439f8840/1972-sheet-20180102113004574-p31.tif","bytes":5610767,"md5":"fc0a0f1186e43a95409cbe6c439f8840","updated":"2026-11-04"}]},"1975":{"updated":"2026-11-04","readme":"sfzoning.com: San Francisco historic zoning (1975, sheets)\n\nWHAT THIS FILE IS\nThe aligned sheets of the 1975 edition zoning map, one GeoTIFF per sheet, each\nat its own resolution (California State Plane III, feet, EPSG:2227). Each\nsheet was warped onto that grid with GDAL (gdalwarp, thin plate spline, cubic\nresampling) from control points matched to today's street corners. Sheets\nscanned in 1-bit black and white are tinted to the paper colour, and printed\nborder rules and binding shadows are erased. Nothing is vectorized or drawn on\nthe scans.\n\nHOW THE ZONING WAS ASSIGNED\nThe zoning maps were read from the scans, one district label per area, and\neach label was assigned to today's lots. The boundaries in the lot and\ndistrict files are modern lot lines from the DataSF parcels layer. They were\nnever traced from the scan, so a district edge is only as precise as the lot\nit falls on. Where a street has moved since the map was drawn, the scan keeps\nthe historic position and the data follows today's lot lines.\n\nWHAT \"confidence\" MEANS\nA number from 0 to 1 for how sure the reading is that the lot belongs to the\ndistrict shown. Lots set by a person get 1: those whose district was set by an\noverride (inputs/<series>/overrides.csv in the source repository), and those\nwhose label a person added by hand (inputs/<series>/label_fixes.csv). Lots\nread from a sheet flagged for review are capped at 0.6. 0 means no district\ncould be assigned to the lot.\n\nNOT AN OFFICIAL RECORD\nThis is a reconstruction, not an official record of the San Francisco\nPlanning Department. Check the Planning Department's own records before\nrelying on it for any legal purpose.\n\nLAST UPDATED\n2026-11-04 (build 9e740fe)\n\nLICENSE\nCreative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)\n\nThis data is licensed CC BY-NC-SA 4.0: https://creativecommons.org/licenses/by-nc-sa/4.0/\nYou may share and adapt it with attribution, for non-commercial use, under the same license.\nCredit it as:\n\n    Based on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org), licensed CC BY-NC-SA 4.0.\n\nThe license covers this project's contribution (the reading, alignment and processing), not the\nunderlying maps or the DataSF parcels, which keep their own terms. See https://sfzoning.com.\n\nATTRIBUTION\nBased on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org)\nLot lines: DataSF, \"Parcels - Active and Retired\", City and County of San\nFrancisco (https://datasf.org).\n","items":[{"sheet":"20180102114142444-p02","name":"1975-sheet-20180102114142444-p02.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/9561e3aceb620354bad4254a030b3234/1975-sheet-20180102114142444-p02.tif","bytes":8175323,"md5":"9561e3aceb620354bad4254a030b3234","updated":"2026-11-04"},{"sheet":"20180102114142444-p03","name":"1975-sheet-20180102114142444-p03.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/f6/13d7f5a89c74858158828d73bf7da4","bytes":9942354,"md5":"f613d7f5a89c74858158828d73bf7da4","updated":"2026-11-04"},{"sheet":"20180102114142444-p04","name":"1975-sheet-20180102114142444-p04.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/1d3973ac1f6efd56077647235fe9f4b3/1975-sheet-20180102114142444-p04.tif","bytes":5630477,"md5":"1d3973ac1f6efd56077647235fe9f4b3","updated":"2026-11-04"},{"sheet":"20180102114142444-p05","name":"1975-sheet-20180102114142444-p05.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/2565e8f6099c0099f6465379a4ff8625/1975-sheet-20180102114142444-p05.tif","bytes":3998343,"md5":"2565e8f6099c0099f6465379a4ff8625","updated":"2026-11-04"},{"sheet":"20180102114142444-p06","name":"1975-sheet-20180102114142444-p06.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/c6d2c891c88dd0560cb09b2de7747cd1/1975-sheet-20180102114142444-p06.tif","bytes":7092178,"md5":"c6d2c891c88dd0560cb09b2de7747cd1","updated":"2026-11-04"},{"sheet":"20180102114142444-p07","name":"1975-sheet-20180102114142444-p07.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/a9/6ec2013bb7616cf4f11595dfe11764","bytes":8912233,"md5":"a96ec2013bb7616cf4f11595dfe11764","updated":"2026-11-04"},{"sheet":"20180102114142444-p08","name":"1975-sheet-20180102114142444-p08.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/ba/a70313e7d8934f14b478a497d13498","bytes":10416015,"md5":"baa70313e7d8934f14b478a497d13498","updated":"2026-11-04"},{"sheet":"20180102114142444-p09","name":"1975-sheet-20180102114142444-p09.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/5f2f58f59afbbde59e9022c57cf61e03/1975-sheet-20180102114142444-p09.tif","bytes":7408813,"md5":"5f2f58f59afbbde59e9022c57cf61e03","updated":"2026-11-04"},{"sheet":"20180102114142444-p10","name":"1975-sheet-20180102114142444-p10.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/b67ac73091a8d2cf46f1de9dad8045f7/1975-sheet-20180102114142444-p10.tif","bytes":4139222,"md5":"b67ac73091a8d2cf46f1de9dad8045f7","updated":"2026-11-04"},{"sheet":"20180102114142444-p11","name":"1975-sheet-20180102114142444-p11.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/5d/1b4bbd6ac0688a3b97ffbb89cb8779","bytes":9433990,"md5":"5d1b4bbd6ac0688a3b97ffbb89cb8779","updated":"2026-11-04"},{"sheet":"20180102114142444-p12","name":"1975-sheet-20180102114142444-p12.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/5e/d710cf21cba2105377f2431c594787","bytes":10218455,"md5":"5ed710cf21cba2105377f2431c594787","updated":"2026-11-04"},{"sheet":"20180102114142444-p13","name":"1975-sheet-20180102114142444-p13.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/bf/d673662ec9741b1b98e1c5e5615651","bytes":9423356,"md5":"bfd673662ec9741b1b98e1c5e5615651","updated":"2026-11-04"},{"sheet":"20180102114142444-p14","name":"1975-sheet-20180102114142444-p14.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/1321ce4c65e9a59c714a712745342f2c/1975-sheet-20180102114142444-p14.tif","bytes":6210301,"md5":"1321ce4c65e9a59c714a712745342f2c","updated":"2026-11-04"},{"sheet":"20180102114142444-p15","name":"1975-sheet-20180102114142444-p15.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/34/cf0ffeca430f1afda3bad7f5529480","bytes":8625762,"md5":"34cf0ffeca430f1afda3bad7f5529480","updated":"2026-11-04"},{"sheet":"20180102114142444-p16","name":"1975-sheet-20180102114142444-p16.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/5d/53df1d7869bf4fb0eb1b992b2a86e6","bytes":9005920,"md5":"5d53df1d7869bf4fb0eb1b992b2a86e6","updated":"2026-11-04"},{"sheet":"20180102114142444-p17","name":"1975-sheet-20180102114142444-p17.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/99bd9e17288f056bd989e763b88dc0e7/1975-sheet-20180102114142444-p17.tif","bytes":7383419,"md5":"99bd9e17288f056bd989e763b88dc0e7","updated":"2026-11-04"},{"sheet":"20180102114142444-p18","name":"1975-sheet-20180102114142444-p18.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/a318c4851d9346d8b3944ece8bb73215/1975-sheet-20180102114142444-p18.tif","bytes":3729404,"md5":"a318c4851d9346d8b3944ece8bb73215","updated":"2026-11-04"},{"sheet":"20180102114142444-p19","name":"1975-sheet-20180102114142444-p19.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/0487ac93cbf27b8c447eeff9013bb683/1975-sheet-20180102114142444-p19.tif","bytes":7224455,"md5":"0487ac93cbf27b8c447eeff9013bb683","updated":"2026-11-04"},{"sheet":"20180102114142444-p20","name":"1975-sheet-20180102114142444-p20.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/80/dce1a2e0037b1cfddcf42f4fd78fef","bytes":8693570,"md5":"80dce1a2e0037b1cfddcf42f4fd78fef","updated":"2026-11-04"},{"sheet":"20180102114142444-p21","name":"1975-sheet-20180102114142444-p21.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/d2/d32c4db3f66124b0b524bfbb55c338","bytes":10059880,"md5":"d2d32c4db3f66124b0b524bfbb55c338","updated":"2026-11-04"},{"sheet":"20180102114142444-p22","name":"1975-sheet-20180102114142444-p22.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/1628bad1de4efe859f530c9f3684c688/1975-sheet-20180102114142444-p22.tif","bytes":7629402,"md5":"1628bad1de4efe859f530c9f3684c688","updated":"2026-11-04"},{"sheet":"20180102114142444-p23","name":"1975-sheet-20180102114142444-p23.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/c6847242a5decddbceca31f2ec3b4cc0/1975-sheet-20180102114142444-p23.tif","bytes":4688181,"md5":"c6847242a5decddbceca31f2ec3b4cc0","updated":"2026-11-04"},{"sheet":"20180102114142444-p24","name":"1975-sheet-20180102114142444-p24.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/2e/9e47dc4f945b5252886953325ae4bb","bytes":8980242,"md5":"2e9e47dc4f945b5252886953325ae4bb","updated":"2026-11-04"},{"sheet":"20180102114142444-p25","name":"1975-sheet-20180102114142444-p25.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/dc/35e7aaf2d7d0ab0e9a767354c747ae","bytes":9712294,"md5":"dc35e7aaf2d7d0ab0e9a767354c747ae","updated":"2026-11-04"},{"sheet":"20180102114142444-p26","name":"1975-sheet-20180102114142444-p26.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/9c/b8b886428ebadfa00572e63f922929","bytes":9542842,"md5":"9cb8b886428ebadfa00572e63f922929","updated":"2026-11-04"},{"sheet":"20180102114142444-p27","name":"1975-sheet-20180102114142444-p27.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/c13f0c3dd79d53b0239438ddc54015fe/1975-sheet-20180102114142444-p27.tif","bytes":6218083,"md5":"c13f0c3dd79d53b0239438ddc54015fe","updated":"2026-11-04"},{"sheet":"20180102114142444-p28","name":"1975-sheet-20180102114142444-p28.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/93fcfc4a1fd5ae617b5329f7d1f49726/1975-sheet-20180102114142444-p28.tif","bytes":7622711,"md5":"93fcfc4a1fd5ae617b5329f7d1f49726","updated":"2026-11-04"},{"sheet":"20180102114142444-p29","name":"1975-sheet-20180102114142444-p29.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/e970d80d2af4c9f76f21540efb88cf82/1975-sheet-20180102114142444-p29.tif","bytes":3636389,"md5":"e970d80d2af4c9f76f21540efb88cf82","updated":"2026-11-04"},{"sheet":"20180102114142444-p30","name":"1975-sheet-20180102114142444-p30.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/aa60485108aa1104fa6d64a478705cd7/1975-sheet-20180102114142444-p30.tif","bytes":7886325,"md5":"aa60485108aa1104fa6d64a478705cd7","updated":"2026-11-04"},{"sheet":"20180102114142444-p32","name":"1975-sheet-20180102114142444-p32.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/803bccb3b667b48ba072c6d85cef9812/1975-sheet-20180102114142444-p32.tif","bytes":4358073,"md5":"803bccb3b667b48ba072c6d85cef9812","updated":"2026-11-04"}]},"1980":{"updated":"2026-11-04","readme":"sfzoning.com: San Francisco historic zoning (1980, sheets)\n\nWHAT THIS FILE IS\nThe aligned sheets of the 1980 edition zoning map, one GeoTIFF per sheet, each\nat its own resolution (California State Plane III, feet, EPSG:2227). Each\nsheet was warped onto that grid with GDAL (gdalwarp, thin plate spline, cubic\nresampling) from control points matched to today's street corners. Sheets\nscanned in 1-bit black and white are tinted to the paper colour, and printed\nborder rules and binding shadows are erased. Nothing is vectorized or drawn on\nthe scans.\n\nHOW THE ZONING WAS ASSIGNED\nThe zoning maps were read from the scans, one district label per area, and\neach label was assigned to today's lots. The boundaries in the lot and\ndistrict files are modern lot lines from the DataSF parcels layer. They were\nnever traced from the scan, so a district edge is only as precise as the lot\nit falls on. Where a street has moved since the map was drawn, the scan keeps\nthe historic position and the data follows today's lot lines.\n\nWHAT \"confidence\" MEANS\nA number from 0 to 1 for how sure the reading is that the lot belongs to the\ndistrict shown. Lots set by a person get 1: those whose district was set by an\noverride (inputs/<series>/overrides.csv in the source repository), and those\nwhose label a person added by hand (inputs/<series>/label_fixes.csv). Lots\nread from a sheet flagged for review are capped at 0.6. 0 means no district\ncould be assigned to the lot.\n\nNOT AN OFFICIAL RECORD\nThis is a reconstruction, not an official record of the San Francisco\nPlanning Department. Check the Planning Department's own records before\nrelying on it for any legal purpose.\n\nLAST UPDATED\n2026-11-04 (build 9e740fe)\n\nLICENSE\nCreative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)\n\nThis data is licensed CC BY-NC-SA 4.0: https://creativecommons.org/licenses/by-nc-sa/4.0/\nYou may share and adapt it with attribution, for non-commercial use, under the same license.\nCredit it as:\n\n    Based on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org), licensed CC BY-NC-SA 4.0.\n\nThe license covers this project's contribution (the reading, alignment and processing), not the\nunderlying maps or the DataSF parcels, which keep their own terms. See https://sfzoning.com.\n\nATTRIBUTION\nBased on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org)\nLot lines: DataSF, \"Parcels - Active and Retired\", City and County of San\nFrancisco (https://datasf.org).\n","items":[{"sheet":"20180102115319417-p02","name":"1980-sheet-20180102115319417-p02.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/21583e4e2a3424dd8e5259e4cd9d7466/1980-sheet-20180102115319417-p02.tif","bytes":6170877,"md5":"21583e4e2a3424dd8e5259e4cd9d7466","updated":"2026-11-04"},{"sheet":"20180102115319417-p03","name":"1980-sheet-20180102115319417-p03.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/c23c64b42279190a41c7dbb58ce50bbd/1980-sheet-20180102115319417-p03.tif","bytes":6691292,"md5":"c23c64b42279190a41c7dbb58ce50bbd","updated":"2026-11-04"},{"sheet":"20180102115319417-p04","name":"1980-sheet-20180102115319417-p04.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/24f0cd69b8fea46b41f4c1459249cbd6/1980-sheet-20180102115319417-p04.tif","bytes":7776945,"md5":"24f0cd69b8fea46b41f4c1459249cbd6","updated":"2026-11-04"},{"sheet":"20180102115319417-p05","name":"1980-sheet-20180102115319417-p05.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/a526260f4121f51102e70afad97f72e1/1980-sheet-20180102115319417-p05.tif","bytes":6804385,"md5":"a526260f4121f51102e70afad97f72e1","updated":"2026-11-04"},{"sheet":"20180102115319417-p06","name":"1980-sheet-20180102115319417-p06.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/78b29528e0e775a2266bcebaa46baca5/1980-sheet-20180102115319417-p06.tif","bytes":5778799,"md5":"78b29528e0e775a2266bcebaa46baca5","updated":"2026-11-04"},{"sheet":"20180102115319417-p07","name":"1980-sheet-20180102115319417-p07.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/d637ed2bb1566c9dbb35861a2084aef2/1980-sheet-20180102115319417-p07.tif","bytes":5686448,"md5":"d637ed2bb1566c9dbb35861a2084aef2","updated":"2026-11-04"},{"sheet":"20180102115319417-p08","name":"1980-sheet-20180102115319417-p08.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/5712b0d438ca293331ea91f0e694a6e7/1980-sheet-20180102115319417-p08.tif","bytes":3593546,"md5":"5712b0d438ca293331ea91f0e694a6e7","updated":"2026-11-04"},{"sheet":"20180102115319417-p09","name":"1980-sheet-20180102115319417-p09.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/6994357e5e90ca4135899bd4300e812b/1980-sheet-20180102115319417-p09.tif","bytes":2843685,"md5":"6994357e5e90ca4135899bd4300e812b","updated":"2026-11-04"},{"sheet":"20180102115319417-p10","name":"1980-sheet-20180102115319417-p10.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/68091a00330eba3950446d325636f847/1980-sheet-20180102115319417-p10.tif","bytes":6410948,"md5":"68091a00330eba3950446d325636f847","updated":"2026-11-04"},{"sheet":"20180102115319417-p11","name":"1980-sheet-20180102115319417-p11.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/e5536c605f31759a9eb614d9b9433888/1980-sheet-20180102115319417-p11.tif","bytes":5890907,"md5":"e5536c605f31759a9eb614d9b9433888","updated":"2026-11-04"},{"sheet":"20180102115319417-p12","name":"1980-sheet-20180102115319417-p12.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/348e99bf52eb24b95cb12a31708a79f9/1980-sheet-20180102115319417-p12.tif","bytes":6823138,"md5":"348e99bf52eb24b95cb12a31708a79f9","updated":"2026-11-04"},{"sheet":"20180102115319417-p13","name":"1980-sheet-20180102115319417-p13.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/fb7c0f302d458329244ea163bef19fc7/1980-sheet-20180102115319417-p13.tif","bytes":6862704,"md5":"fb7c0f302d458329244ea163bef19fc7","updated":"2026-11-04"},{"sheet":"20180102115319417-p14","name":"1980-sheet-20180102115319417-p14.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/dvc/files/md5/f5/7b58211b5ff2374095b3210bb4eb69","bytes":8571238,"md5":"f57b58211b5ff2374095b3210bb4eb69","updated":"2026-11-04"},{"sheet":"20180102115319417-p15","name":"1980-sheet-20180102115319417-p15.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/f1896c79616de3efde023bd57068cf90/1980-sheet-20180102115319417-p15.tif","bytes":7789051,"md5":"f1896c79616de3efde023bd57068cf90","updated":"2026-11-04"},{"sheet":"20180102115319417-p16","name":"1980-sheet-20180102115319417-p16.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/d50e0fba983af954ab81447a0ddb6a3a/1980-sheet-20180102115319417-p16.tif","bytes":6349443,"md5":"d50e0fba983af954ab81447a0ddb6a3a","updated":"2026-11-04"},{"sheet":"20180102115319417-p17","name":"1980-sheet-20180102115319417-p17.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/02dd955f343ce9a43830ed81925cac9d/1980-sheet-20180102115319417-p17.tif","bytes":5995516,"md5":"02dd955f343ce9a43830ed81925cac9d","updated":"2026-11-04"},{"sheet":"20180102115319417-p18","name":"1980-sheet-20180102115319417-p18.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/d5923c740dfdb8ccce2e79b43f913654/1980-sheet-20180102115319417-p18.tif","bytes":3511521,"md5":"d5923c740dfdb8ccce2e79b43f913654","updated":"2026-11-04"},{"sheet":"20180102115319417-p19","name":"1980-sheet-20180102115319417-p19.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/af8557aea55bedfdf5dba9a9e78614e6/1980-sheet-20180102115319417-p19.tif","bytes":3035540,"md5":"af8557aea55bedfdf5dba9a9e78614e6","updated":"2026-11-04"},{"sheet":"20180102115319417-p20","name":"1980-sheet-20180102115319417-p20.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/a91eb7e34f9778d5a97d6f8427fea698/1980-sheet-20180102115319417-p20.tif","bytes":4157387,"md5":"a91eb7e34f9778d5a97d6f8427fea698","updated":"2026-11-04"},{"sheet":"20180102115319417-p21","name":"1980-sheet-20180102115319417-p21.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/0b338c1834013268b019d266c9a9248b/1980-sheet-20180102115319417-p21.tif","bytes":6985466,"md5":"0b338c1834013268b019d266c9a9248b","updated":"2026-11-04"},{"sheet":"20180102115319417-p22","name":"1980-sheet-20180102115319417-p22.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/2de12c6c4f946ed1726044b45c83cef9/1980-sheet-20180102115319417-p22.tif","bytes":7024456,"md5":"2de12c6c4f946ed1726044b45c83cef9","updated":"2026-11-04"},{"sheet":"20180102115319417-p23","name":"1980-sheet-20180102115319417-p23.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/dffae8a038de9e28be595d817f09585d/1980-sheet-20180102115319417-p23.tif","bytes":8060581,"md5":"dffae8a038de9e28be595d817f09585d","updated":"2026-11-04"},{"sheet":"20180102115319417-p24","name":"1980-sheet-20180102115319417-p24.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/ac2d49edced04f91e71fc3f846cafcb4/1980-sheet-20180102115319417-p24.tif","bytes":7591512,"md5":"ac2d49edced04f91e71fc3f846cafcb4","updated":"2026-11-04"},{"sheet":"20180102115319417-p25","name":"1980-sheet-20180102115319417-p25.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/8f95c228cd5a3fe373bd02fd243caf96/1980-sheet-20180102115319417-p25.tif","bytes":7600653,"md5":"8f95c228cd5a3fe373bd02fd243caf96","updated":"2026-11-04"},{"sheet":"20180102115319417-p26","name":"1980-sheet-20180102115319417-p26.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/45e1ccdb217a5b0c68018556ac655800/1980-sheet-20180102115319417-p26.tif","bytes":7511919,"md5":"45e1ccdb217a5b0c68018556ac655800","updated":"2026-11-04"},{"sheet":"20180102115319417-p27","name":"1980-sheet-20180102115319417-p27.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/766d4ab4b9e7fe301a3a452836af77c7/1980-sheet-20180102115319417-p27.tif","bytes":4177704,"md5":"766d4ab4b9e7fe301a3a452836af77c7","updated":"2026-11-04"},{"sheet":"20180102115319417-p28","name":"1980-sheet-20180102115319417-p28.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/4479c367047e7611ea72b7d17293a1f9/1980-sheet-20180102115319417-p28.tif","bytes":4718489,"md5":"4479c367047e7611ea72b7d17293a1f9","updated":"2026-11-04"},{"sheet":"20180102115319417-p29","name":"1980-sheet-20180102115319417-p29.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/fb1014941c55490da6c783d37eedf662/1980-sheet-20180102115319417-p29.tif","bytes":3533824,"md5":"fb1014941c55490da6c783d37eedf662","updated":"2026-11-04"},{"sheet":"20180102115319417-p30","name":"1980-sheet-20180102115319417-p30.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/28bcccfa9e3a0fa609ea31b17d5555d0/1980-sheet-20180102115319417-p30.tif","bytes":2894246,"md5":"28bcccfa9e3a0fa609ea31b17d5555d0","updated":"2026-11-04"},{"sheet":"20180102115319417-p31","name":"1980-sheet-20180102115319417-p31.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/23ebae643c53fe73e1fd726dd1115977/1980-sheet-20180102115319417-p31.tif","bytes":5997185,"md5":"23ebae643c53fe73e1fd726dd1115977","updated":"2026-11-04"},{"sheet":"20180102115319417-p33","name":"1980-sheet-20180102115319417-p33.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/3d9fce0be2cfbfd76ee0548cb5754aa6/1980-sheet-20180102115319417-p33.tif","bytes":4107664,"md5":"3d9fce0be2cfbfd76ee0548cb5754aa6","updated":"2026-11-04"},{"sheet":"20180102115319417-p34","name":"1980-sheet-20180102115319417-p34.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/40087bc5bce3eab0f08093460c950fba/1980-sheet-20180102115319417-p34.tif","bytes":4125110,"md5":"40087bc5bce3eab0f08093460c950fba","updated":"2026-11-04"}]},"1980-1990-height":{"updated":"2026-11-04","readme":"sfzoning.com: San Francisco historic zoning (1980-1990-height, sheets)\n\nWHAT THIS FILE IS\nThe aligned sheets of the 1980-1990-height edition zoning map, one GeoTIFF per\nsheet, each at its own resolution (California State Plane III, feet,\nEPSG:2227). Each sheet was warped onto that grid with GDAL (gdalwarp, thin\nplate spline, cubic resampling) from control points matched to today's street\ncorners. Sheets scanned in 1-bit black and white are tinted to the paper\ncolour, and printed border rules and binding shadows are erased. Nothing is\nvectorized or drawn on the scans.\n\nHOW THE ZONING WAS ASSIGNED\nThe zoning maps were read from the scans, one district label per area, and\neach label was assigned to today's lots. The boundaries in the lot and\ndistrict files are modern lot lines from the DataSF parcels layer. They were\nnever traced from the scan, so a district edge is only as precise as the lot\nit falls on. Where a street has moved since the map was drawn, the scan keeps\nthe historic position and the data follows today's lot lines.\n\nWHAT \"confidence\" MEANS\nA number from 0 to 1 for how sure the reading is that the lot belongs to the\ndistrict shown. Lots set by a person get 1: those whose district was set by an\noverride (inputs/<series>/overrides.csv in the source repository), and those\nwhose label a person added by hand (inputs/<series>/label_fixes.csv). Lots\nread from a sheet flagged for review are capped at 0.6. 0 means no district\ncould be assigned to the lot.\n\nNOT AN OFFICIAL RECORD\nThis is a reconstruction, not an official record of the San Francisco\nPlanning Department. Check the Planning Department's own records before\nrelying on it for any legal purpose.\n\nLAST UPDATED\n2026-11-04 (build 9e740fe)\n\nLICENSE\nCreative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)\n\nThis data is licensed CC BY-NC-SA 4.0: https://creativecommons.org/licenses/by-nc-sa/4.0/\nYou may share and adapt it with attribution, for non-commercial use, under the same license.\nCredit it as:\n\n    Based on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org), licensed CC BY-NC-SA 4.0.\n\nThe license covers this project's contribution (the reading, alignment and processing), not the\nunderlying maps or the DataSF parcels, which keep their own terms. See https://sfzoning.com.\n\nATTRIBUTION\nBased on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org)\nLot lines: DataSF, \"Parcels - Active and Retired\", City and County of San\nFrancisco (https://datasf.org).\n","items":[{"sheet":"1980-1990-height-p01","name":"1980-1990-height-sheet-1980-1990-height-p01.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/e34eb3bb83776d965eb78468c300c369/1980-1990-height-sheet-1980-1990-height-p01.tif","bytes":4428825,"md5":"e34eb3bb83776d965eb78468c300c369","updated":"2026-11-04"},{"sheet":"1980-1990-height-p02","name":"1980-1990-height-sheet-1980-1990-height-p02.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/b3d358fdccd88089f0856e8b98f1aa32/1980-1990-height-sheet-1980-1990-height-p02.tif","bytes":3867850,"md5":"b3d358fdccd88089f0856e8b98f1aa32","updated":"2026-11-04"},{"sheet":"1980-1990-height-p03","name":"1980-1990-height-sheet-1980-1990-height-p03.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/8d65c0771c74d23381a506bb21bab9e4/1980-1990-height-sheet-1980-1990-height-p03.tif","bytes":3408515,"md5":"8d65c0771c74d23381a506bb21bab9e4","updated":"2026-11-04"},{"sheet":"1980-1990-height-p04","name":"1980-1990-height-sheet-1980-1990-height-p04.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/29b72e91c61012d867766db8d29946fa/1980-1990-height-sheet-1980-1990-height-p04.tif","bytes":1634223,"md5":"29b72e91c61012d867766db8d29946fa","updated":"2026-11-04"},{"sheet":"1980-1990-height-p05","name":"1980-1990-height-sheet-1980-1990-height-p05.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/daa41fd683d31f3b546b471ab9de490c/1980-1990-height-sheet-1980-1990-height-p05.tif","bytes":2985123,"md5":"daa41fd683d31f3b546b471ab9de490c","updated":"2026-11-04"},{"sheet":"1980-1990-height-p06","name":"1980-1990-height-sheet-1980-1990-height-p06.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/81f74e821b633c002488119c1faab9f1/1980-1990-height-sheet-1980-1990-height-p06.tif","bytes":3460425,"md5":"81f74e821b633c002488119c1faab9f1","updated":"2026-11-04"},{"sheet":"1980-1990-height-p07","name":"1980-1990-height-sheet-1980-1990-height-p07.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/30b03fc130853262d9ff3ba18146e8e2/1980-1990-height-sheet-1980-1990-height-p07.tif","bytes":4380341,"md5":"30b03fc130853262d9ff3ba18146e8e2","updated":"2026-11-04"},{"sheet":"1980-1990-height-p08","name":"1980-1990-height-sheet-1980-1990-height-p08.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/eecd38f6a568d84f7584e7828a5d1423/1980-1990-height-sheet-1980-1990-height-p08.tif","bytes":3575920,"md5":"eecd38f6a568d84f7584e7828a5d1423","updated":"2026-11-04"},{"sheet":"1980-1990-height-p09","name":"1980-1990-height-sheet-1980-1990-height-p09.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/eaa55f4a8e08f8b65047539fa18b4a77/1980-1990-height-sheet-1980-1990-height-p09.tif","bytes":2633506,"md5":"eaa55f4a8e08f8b65047539fa18b4a77","updated":"2026-11-04"},{"sheet":"1980-1990-height-p10","name":"1980-1990-height-sheet-1980-1990-height-p10.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/d21419c3ca8a34d89e978a23c66276e5/1980-1990-height-sheet-1980-1990-height-p10.tif","bytes":4363861,"md5":"d21419c3ca8a34d89e978a23c66276e5","updated":"2026-11-04"},{"sheet":"1980-1990-height-p11","name":"1980-1990-height-sheet-1980-1990-height-p11.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/269c60cae4045695d34b923ec0f708f2/1980-1990-height-sheet-1980-1990-height-p11.tif","bytes":4153282,"md5":"269c60cae4045695d34b923ec0f708f2","updated":"2026-11-04"},{"sheet":"1980-1990-height-p12","name":"1980-1990-height-sheet-1980-1990-height-p12.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/86d641bba5945aaf79984a8159cb324a/1980-1990-height-sheet-1980-1990-height-p12.tif","bytes":4371649,"md5":"86d641bba5945aaf79984a8159cb324a","updated":"2026-11-04"},{"sheet":"1980-1990-height-p13","name":"1980-1990-height-sheet-1980-1990-height-p13.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/4f645640eb2c6032f6ef3710660ebc87/1980-1990-height-sheet-1980-1990-height-p13.tif","bytes":2886838,"md5":"4f645640eb2c6032f6ef3710660ebc87","updated":"2026-11-04"}]},"1980-1990-su":{"updated":"2026-11-04","readme":"sfzoning.com: San Francisco historic zoning (1980-1990-su, sheets)\n\nWHAT THIS FILE IS\nThe aligned sheets of the 1980-1990-su edition zoning map, one GeoTIFF per\nsheet, each at its own resolution (California State Plane III, feet,\nEPSG:2227). Each sheet was warped onto that grid with GDAL (gdalwarp, thin\nplate spline, cubic resampling) from control points matched to today's street\ncorners. Sheets scanned in 1-bit black and white are tinted to the paper\ncolour, and printed border rules and binding shadows are erased. Nothing is\nvectorized or drawn on the scans.\n\nHOW THE ZONING WAS ASSIGNED\nThe zoning maps were read from the scans, one district label per area, and\neach label was assigned to today's lots. The boundaries in the lot and\ndistrict files are modern lot lines from the DataSF parcels layer. They were\nnever traced from the scan, so a district edge is only as precise as the lot\nit falls on. Where a street has moved since the map was drawn, the scan keeps\nthe historic position and the data follows today's lot lines.\n\nWHAT \"confidence\" MEANS\nA number from 0 to 1 for how sure the reading is that the lot belongs to the\ndistrict shown. Lots set by a person get 1: those whose district was set by an\noverride (inputs/<series>/overrides.csv in the source repository), and those\nwhose label a person added by hand (inputs/<series>/label_fixes.csv). Lots\nread from a sheet flagged for review are capped at 0.6. 0 means no district\ncould be assigned to the lot.\n\nNOT AN OFFICIAL RECORD\nThis is a reconstruction, not an official record of the San Francisco\nPlanning Department. Check the Planning Department's own records before\nrelying on it for any legal purpose.\n\nLAST UPDATED\n2026-11-04 (build 9e740fe)\n\nLICENSE\nCreative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)\n\nThis data is licensed CC BY-NC-SA 4.0: https://creativecommons.org/licenses/by-nc-sa/4.0/\nYou may share and adapt it with attribution, for non-commercial use, under the same license.\nCredit it as:\n\n    Based on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org), licensed CC BY-NC-SA 4.0.\n\nThe license covers this project's contribution (the reading, alignment and processing), not the\nunderlying maps or the DataSF parcels, which keep their own terms. See https://sfzoning.com.\n\nATTRIBUTION\nBased on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org)\nLot lines: DataSF, \"Parcels - Active and Retired\", City and County of San\nFrancisco (https://datasf.org).\n","items":[{"sheet":"1980-1990-su-p01","name":"1980-1990-su-sheet-1980-1990-su-p01.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/9967470a05c9a956479e75cf627f858b/1980-1990-su-sheet-1980-1990-su-p01.tif","bytes":1961344,"md5":"9967470a05c9a956479e75cf627f858b","updated":"2026-11-04"},{"sheet":"1980-1990-su-p02","name":"1980-1990-su-sheet-1980-1990-su-p02.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/e20c5340ae62c4be0a1ae4900a857346/1980-1990-su-sheet-1980-1990-su-p02.tif","bytes":1743439,"md5":"e20c5340ae62c4be0a1ae4900a857346","updated":"2026-11-04"},{"sheet":"1980-1990-su-p03","name":"1980-1990-su-sheet-1980-1990-su-p03.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/bf28fa2c83e6f3d65d04c29643ee9da9/1980-1990-su-sheet-1980-1990-su-p03.tif","bytes":3387780,"md5":"bf28fa2c83e6f3d65d04c29643ee9da9","updated":"2026-11-04"},{"sheet":"1980-1990-su-p04","name":"1980-1990-su-sheet-1980-1990-su-p04.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/f07a23fbc37f5b4bd62879afede24704/1980-1990-su-sheet-1980-1990-su-p04.tif","bytes":3700930,"md5":"f07a23fbc37f5b4bd62879afede24704","updated":"2026-11-04"},{"sheet":"1980-1990-su-p05","name":"1980-1990-su-sheet-1980-1990-su-p05.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/848656d7e8f99038aa59be82ad978cc0/1980-1990-su-sheet-1980-1990-su-p05.tif","bytes":7899637,"md5":"848656d7e8f99038aa59be82ad978cc0","updated":"2026-11-04"},{"sheet":"1980-1990-su-p06","name":"1980-1990-su-sheet-1980-1990-su-p06.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/4dfdfec3b8cb84dda0880e918310cdc1/1980-1990-su-sheet-1980-1990-su-p06.tif","bytes":2309641,"md5":"4dfdfec3b8cb84dda0880e918310cdc1","updated":"2026-11-04"}]},"1980-1990-zoning":{"updated":"2026-11-04","readme":"sfzoning.com: San Francisco historic zoning (1980-1990-zoning, sheets)\n\nWHAT THIS FILE IS\nThe aligned sheets of the 1980-1990-zoning edition zoning map, one GeoTIFF per\nsheet, each at its own resolution (California State Plane III, feet,\nEPSG:2227). Each sheet was warped onto that grid with GDAL (gdalwarp, thin\nplate spline, cubic resampling) from control points matched to today's street\ncorners. Sheets scanned in 1-bit black and white are tinted to the paper\ncolour, and printed border rules and binding shadows are erased. Nothing is\nvectorized or drawn on the scans.\n\nHOW THE ZONING WAS ASSIGNED\nThe zoning maps were read from the scans, one district label per area, and\neach label was assigned to today's lots. The boundaries in the lot and\ndistrict files are modern lot lines from the DataSF parcels layer. They were\nnever traced from the scan, so a district edge is only as precise as the lot\nit falls on. Where a street has moved since the map was drawn, the scan keeps\nthe historic position and the data follows today's lot lines.\n\nWHAT \"confidence\" MEANS\nA number from 0 to 1 for how sure the reading is that the lot belongs to the\ndistrict shown. Lots set by a person get 1: those whose district was set by an\noverride (inputs/<series>/overrides.csv in the source repository), and those\nwhose label a person added by hand (inputs/<series>/label_fixes.csv). Lots\nread from a sheet flagged for review are capped at 0.6. 0 means no district\ncould be assigned to the lot.\n\nNOT AN OFFICIAL RECORD\nThis is a reconstruction, not an official record of the San Francisco\nPlanning Department. Check the Planning Department's own records before\nrelying on it for any legal purpose.\n\nLAST UPDATED\n2026-11-04 (build 9e740fe)\n\nLICENSE\nCreative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)\n\nThis data is licensed CC BY-NC-SA 4.0: https://creativecommons.org/licenses/by-nc-sa/4.0/\nYou may share and adapt it with attribution, for non-commercial use, under the same license.\nCredit it as:\n\n    Based on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org), licensed CC BY-NC-SA 4.0.\n\nThe license covers this project's contribution (the reading, alignment and processing), not the\nunderlying maps or the DataSF parcels, which keep their own terms. See https://sfzoning.com.\n\nATTRIBUTION\nBased on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org)\nLot lines: DataSF, \"Parcels - Active and Retired\", City and County of San\nFrancisco (https://datasf.org).\n","items":[{"sheet":"1980-1990-zoning-p01","name":"1980-1990-zoning-sheet-1980-1990-zoning-p01.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/961ef4ffe74e74eedb93db9132e81af1/1980-1990-zoning-sheet-1980-1990-zoning-p01.tif","bytes":4059485,"md5":"961ef4ffe74e74eedb93db9132e81af1","updated":"2026-11-04"},{"sheet":"1980-1990-zoning-p02","name":"1980-1990-zoning-sheet-1980-1990-zoning-p02.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/240460ef4ef8ae315d745fbb755bedc9/1980-1990-zoning-sheet-1980-1990-zoning-p02.tif","bytes":4818082,"md5":"240460ef4ef8ae315d745fbb755bedc9","updated":"2026-11-04"},{"sheet":"1980-1990-zoning-p03","name":"1980-1990-zoning-sheet-1980-1990-zoning-p03.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/d61cfeb3a2c95f78279c05c1115a8048/1980-1990-zoning-sheet-1980-1990-zoning-p03.tif","bytes":3810896,"md5":"d61cfeb3a2c95f78279c05c1115a8048","updated":"2026-11-04"},{"sheet":"1980-1990-zoning-p04","name":"1980-1990-zoning-sheet-1980-1990-zoning-p04.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/bb31893b72b6c952d5b3d230fb90509e/1980-1990-zoning-sheet-1980-1990-zoning-p04.tif","bytes":2043387,"md5":"bb31893b72b6c952d5b3d230fb90509e","updated":"2026-11-04"},{"sheet":"1980-1990-zoning-p05","name":"1980-1990-zoning-sheet-1980-1990-zoning-p05.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/12181cc85e6beb3fedc407d31452fe59/1980-1990-zoning-sheet-1980-1990-zoning-p05.tif","bytes":3459660,"md5":"12181cc85e6beb3fedc407d31452fe59","updated":"2026-11-04"},{"sheet":"1980-1990-zoning-p06","name":"1980-1990-zoning-sheet-1980-1990-zoning-p06.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/eb849d1913d8cb62ab9a2293ae7cdc0d/1980-1990-zoning-sheet-1980-1990-zoning-p06.tif","bytes":4009589,"md5":"eb849d1913d8cb62ab9a2293ae7cdc0d","updated":"2026-11-04"},{"sheet":"1980-1990-zoning-p07","name":"1980-1990-zoning-sheet-1980-1990-zoning-p07.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/3b5fc1beccace3c9d2b95c60092e14b1/1980-1990-zoning-sheet-1980-1990-zoning-p07.tif","bytes":4755676,"md5":"3b5fc1beccace3c9d2b95c60092e14b1","updated":"2026-11-04"},{"sheet":"1980-1990-zoning-p08","name":"1980-1990-zoning-sheet-1980-1990-zoning-p08.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/ba4430eceed4bcc657d49d354f0eb5f3/1980-1990-zoning-sheet-1980-1990-zoning-p08.tif","bytes":3738089,"md5":"ba4430eceed4bcc657d49d354f0eb5f3","updated":"2026-11-04"},{"sheet":"1980-1990-zoning-p09","name":"1980-1990-zoning-sheet-1980-1990-zoning-p09.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/eca2d4022ad5d5dba8247087159fc8e3/1980-1990-zoning-sheet-1980-1990-zoning-p09.tif","bytes":1853809,"md5":"eca2d4022ad5d5dba8247087159fc8e3","updated":"2026-11-04"},{"sheet":"1980-1990-zoning-p10","name":"1980-1990-zoning-sheet-1980-1990-zoning-p10.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/7414c16cecf245b7a8d76ee7eb612328/1980-1990-zoning-sheet-1980-1990-zoning-p10.tif","bytes":4272266,"md5":"7414c16cecf245b7a8d76ee7eb612328","updated":"2026-11-04"},{"sheet":"1980-1990-zoning-p11","name":"1980-1990-zoning-sheet-1980-1990-zoning-p11.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/0b665b99c333c0cbb688380dd6996c13/1980-1990-zoning-sheet-1980-1990-zoning-p11.tif","bytes":4359294,"md5":"0b665b99c333c0cbb688380dd6996c13","updated":"2026-11-04"},{"sheet":"1980-1990-zoning-p12","name":"1980-1990-zoning-sheet-1980-1990-zoning-p12.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/acc34f2dd58e5b13cc25f7f6b6385e75/1980-1990-zoning-sheet-1980-1990-zoning-p12.tif","bytes":4426742,"md5":"acc34f2dd58e5b13cc25f7f6b6385e75","updated":"2026-11-04"},{"sheet":"1980-1990-zoning-p13","name":"1980-1990-zoning-sheet-1980-1990-zoning-p13.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/e4a6d32d0276d3b0ffad736c0d5b9614/1980-1990-zoning-sheet-1980-1990-zoning-p13.tif","bytes":2421445,"md5":"e4a6d32d0276d3b0ffad736c0d5b9614","updated":"2026-11-04"}]},"1990-1996-height":{"updated":"2026-11-04","readme":"sfzoning.com: San Francisco historic zoning (1990-1996-height, sheets)\n\nWHAT THIS FILE IS\nThe aligned sheets of the 1990-1996-height edition zoning map, one GeoTIFF per\nsheet, each at its own resolution (California State Plane III, feet,\nEPSG:2227). Each sheet was warped onto that grid with GDAL (gdalwarp, thin\nplate spline, cubic resampling) from control points matched to today's street\ncorners. Sheets scanned in 1-bit black and white are tinted to the paper\ncolour, and printed border rules and binding shadows are erased. Nothing is\nvectorized or drawn on the scans.\n\nHOW THE ZONING WAS ASSIGNED\nThe zoning maps were read from the scans, one district label per area, and\neach label was assigned to today's lots. The boundaries in the lot and\ndistrict files are modern lot lines from the DataSF parcels layer. They were\nnever traced from the scan, so a district edge is only as precise as the lot\nit falls on. Where a street has moved since the map was drawn, the scan keeps\nthe historic position and the data follows today's lot lines.\n\nWHAT \"confidence\" MEANS\nA number from 0 to 1 for how sure the reading is that the lot belongs to the\ndistrict shown. Lots set by a person get 1: those whose district was set by an\noverride (inputs/<series>/overrides.csv in the source repository), and those\nwhose label a person added by hand (inputs/<series>/label_fixes.csv). Lots\nread from a sheet flagged for review are capped at 0.6. 0 means no district\ncould be assigned to the lot.\n\nNOT AN OFFICIAL RECORD\nThis is a reconstruction, not an official record of the San Francisco\nPlanning Department. Check the Planning Department's own records before\nrelying on it for any legal purpose.\n\nLAST UPDATED\n2026-11-04 (build 9e740fe)\n\nLICENSE\nCreative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)\n\nThis data is licensed CC BY-NC-SA 4.0: https://creativecommons.org/licenses/by-nc-sa/4.0/\nYou may share and adapt it with attribution, for non-commercial use, under the same license.\nCredit it as:\n\n    Based on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org), licensed CC BY-NC-SA 4.0.\n\nThe license covers this project's contribution (the reading, alignment and processing), not the\nunderlying maps or the DataSF parcels, which keep their own terms. See https://sfzoning.com.\n\nATTRIBUTION\nBased on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org)\nLot lines: DataSF, \"Parcels - Active and Retired\", City and County of San\nFrancisco (https://datasf.org).\n","items":[{"sheet":"1990-1996-height-p01","name":"1990-1996-height-sheet-1990-1996-height-p01.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/07b88ba3a4312f1b08e9197c75c4db58/1990-1996-height-sheet-1990-1996-height-p01.tif","bytes":3862167,"md5":"07b88ba3a4312f1b08e9197c75c4db58","updated":"2026-11-04"},{"sheet":"1990-1996-height-p02","name":"1990-1996-height-sheet-1990-1996-height-p02.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/8ddd6ba84bca6596700676dc8de247f1/1990-1996-height-sheet-1990-1996-height-p02.tif","bytes":3869921,"md5":"8ddd6ba84bca6596700676dc8de247f1","updated":"2026-11-04"},{"sheet":"1990-1996-height-p03","name":"1990-1996-height-sheet-1990-1996-height-p03.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/0c2960a747cc095e90dcf4710c359041/1990-1996-height-sheet-1990-1996-height-p03.tif","bytes":3291676,"md5":"0c2960a747cc095e90dcf4710c359041","updated":"2026-11-04"},{"sheet":"1990-1996-height-p04","name":"1990-1996-height-sheet-1990-1996-height-p04.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/718721a46d120bb54d93a64b06dc7465/1990-1996-height-sheet-1990-1996-height-p04.tif","bytes":1650751,"md5":"718721a46d120bb54d93a64b06dc7465","updated":"2026-11-04"},{"sheet":"1990-1996-height-p05","name":"1990-1996-height-sheet-1990-1996-height-p05.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/0bc6e74827643a8115ede3cbd7c95794/1990-1996-height-sheet-1990-1996-height-p05.tif","bytes":3314224,"md5":"0bc6e74827643a8115ede3cbd7c95794","updated":"2026-11-04"},{"sheet":"1990-1996-height-p06","name":"1990-1996-height-sheet-1990-1996-height-p06.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/6aa35b5a0622b11382575d18473931a1/1990-1996-height-sheet-1990-1996-height-p06.tif","bytes":4073141,"md5":"6aa35b5a0622b11382575d18473931a1","updated":"2026-11-04"},{"sheet":"1990-1996-height-p07","name":"1990-1996-height-sheet-1990-1996-height-p07.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/7f10db67dc88d3916d2f101ee318c079/1990-1996-height-sheet-1990-1996-height-p07.tif","bytes":4502884,"md5":"7f10db67dc88d3916d2f101ee318c079","updated":"2026-11-04"},{"sheet":"1990-1996-height-p08","name":"1990-1996-height-sheet-1990-1996-height-p08.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/cc1e795d41981257edc6fb2f114191f0/1990-1996-height-sheet-1990-1996-height-p08.tif","bytes":3616008,"md5":"cc1e795d41981257edc6fb2f114191f0","updated":"2026-11-04"},{"sheet":"1990-1996-height-p09","name":"1990-1996-height-sheet-1990-1996-height-p09.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/ff3e1b347dfee306dc43fea03af431c6/1990-1996-height-sheet-1990-1996-height-p09.tif","bytes":2433478,"md5":"ff3e1b347dfee306dc43fea03af431c6","updated":"2026-11-04"},{"sheet":"1990-1996-height-p10","name":"1990-1996-height-sheet-1990-1996-height-p10.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/11f57a25616590cbee6157a012f0cef7/1990-1996-height-sheet-1990-1996-height-p10.tif","bytes":4200491,"md5":"11f57a25616590cbee6157a012f0cef7","updated":"2026-11-04"},{"sheet":"1990-1996-height-p11","name":"1990-1996-height-sheet-1990-1996-height-p11.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/bc735768f38e024ed6d5892e2b6e43c6/1990-1996-height-sheet-1990-1996-height-p11.tif","bytes":4589801,"md5":"bc735768f38e024ed6d5892e2b6e43c6","updated":"2026-11-04"},{"sheet":"1990-1996-height-p12","name":"1990-1996-height-sheet-1990-1996-height-p12.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/2702cf7343547218b98dd6fbd7c29bc5/1990-1996-height-sheet-1990-1996-height-p12.tif","bytes":4546768,"md5":"2702cf7343547218b98dd6fbd7c29bc5","updated":"2026-11-04"},{"sheet":"1990-1996-height-p13","name":"1990-1996-height-sheet-1990-1996-height-p13.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/c957250b5dd9683a8a40dc69149c6eb7/1990-1996-height-sheet-1990-1996-height-p13.tif","bytes":2960331,"md5":"c957250b5dd9683a8a40dc69149c6eb7","updated":"2026-11-04"}]},"1990-1996-su":{"updated":"2026-11-04","readme":"sfzoning.com: San Francisco historic zoning (1990-1996-su, sheets)\n\nWHAT THIS FILE IS\nThe aligned sheets of the 1990-1996-su edition zoning map, one GeoTIFF per\nsheet, each at its own resolution (California State Plane III, feet,\nEPSG:2227). Each sheet was warped onto that grid with GDAL (gdalwarp, thin\nplate spline, cubic resampling) from control points matched to today's street\ncorners. Sheets scanned in 1-bit black and white are tinted to the paper\ncolour, and printed border rules and binding shadows are erased. Nothing is\nvectorized or drawn on the scans.\n\nHOW THE ZONING WAS ASSIGNED\nThe zoning maps were read from the scans, one district label per area, and\neach label was assigned to today's lots. The boundaries in the lot and\ndistrict files are modern lot lines from the DataSF parcels layer. They were\nnever traced from the scan, so a district edge is only as precise as the lot\nit falls on. Where a street has moved since the map was drawn, the scan keeps\nthe historic position and the data follows today's lot lines.\n\nWHAT \"confidence\" MEANS\nA number from 0 to 1 for how sure the reading is that the lot belongs to the\ndistrict shown. Lots set by a person get 1: those whose district was set by an\noverride (inputs/<series>/overrides.csv in the source repository), and those\nwhose label a person added by hand (inputs/<series>/label_fixes.csv). Lots\nread from a sheet flagged for review are capped at 0.6. 0 means no district\ncould be assigned to the lot.\n\nNOT AN OFFICIAL RECORD\nThis is a reconstruction, not an official record of the San Francisco\nPlanning Department. Check the Planning Department's own records before\nrelying on it for any legal purpose.\n\nLAST UPDATED\n2026-11-04 (build 9e740fe)\n\nLICENSE\nCreative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)\n\nThis data is licensed CC BY-NC-SA 4.0: https://creativecommons.org/licenses/by-nc-sa/4.0/\nYou may share and adapt it with attribution, for non-commercial use, under the same license.\nCredit it as:\n\n    Based on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org), licensed CC BY-NC-SA 4.0.\n\nThe license covers this project's contribution (the reading, alignment and processing), not the\nunderlying maps or the DataSF parcels, which keep their own terms. See https://sfzoning.com.\n\nATTRIBUTION\nBased on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org)\nLot lines: DataSF, \"Parcels - Active and Retired\", City and County of San\nFrancisco (https://datasf.org).\n","items":[{"sheet":"1990-1996-su-p01","name":"1990-1996-su-sheet-1990-1996-su-p01.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/cc36a0fb3f2466b0ca6283b442264cce/1990-1996-su-sheet-1990-1996-su-p01.tif","bytes":3112814,"md5":"cc36a0fb3f2466b0ca6283b442264cce","updated":"2026-11-04"},{"sheet":"1990-1996-su-p02","name":"1990-1996-su-sheet-1990-1996-su-p02.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/f53bd7401944f174260fb8b929bfe0c9/1990-1996-su-sheet-1990-1996-su-p02.tif","bytes":3028965,"md5":"f53bd7401944f174260fb8b929bfe0c9","updated":"2026-11-04"},{"sheet":"1990-1996-su-p03","name":"1990-1996-su-sheet-1990-1996-su-p03.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/72d0ea770d8ea520dbaeaba63d502e07/1990-1996-su-sheet-1990-1996-su-p03.tif","bytes":2682482,"md5":"72d0ea770d8ea520dbaeaba63d502e07","updated":"2026-11-04"},{"sheet":"1990-1996-su-p04","name":"1990-1996-su-sheet-1990-1996-su-p04.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/aa491655a12879121c6f7b706cedc117/1990-1996-su-sheet-1990-1996-su-p04.tif","bytes":1612513,"md5":"aa491655a12879121c6f7b706cedc117","updated":"2026-11-04"},{"sheet":"1990-1996-su-p05","name":"1990-1996-su-sheet-1990-1996-su-p05.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/740b5426438693ca5299f90eddc8e739/1990-1996-su-sheet-1990-1996-su-p05.tif","bytes":2864328,"md5":"740b5426438693ca5299f90eddc8e739","updated":"2026-11-04"},{"sheet":"1990-1996-su-p06","name":"1990-1996-su-sheet-1990-1996-su-p06.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/545df7d2bc1ef5c86fb87bf365226299/1990-1996-su-sheet-1990-1996-su-p06.tif","bytes":3195211,"md5":"545df7d2bc1ef5c86fb87bf365226299","updated":"2026-11-04"},{"sheet":"1990-1996-su-p07","name":"1990-1996-su-sheet-1990-1996-su-p07.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/0a1094257e788f7ad7ef37c3aefb4254/1990-1996-su-sheet-1990-1996-su-p07.tif","bytes":3451355,"md5":"0a1094257e788f7ad7ef37c3aefb4254","updated":"2026-11-04"},{"sheet":"1990-1996-su-p08","name":"1990-1996-su-sheet-1990-1996-su-p08.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/a685102a7e3614d2ce1749870e03010e/1990-1996-su-sheet-1990-1996-su-p08.tif","bytes":3052389,"md5":"a685102a7e3614d2ce1749870e03010e","updated":"2026-11-04"},{"sheet":"1990-1996-su-p09","name":"1990-1996-su-sheet-1990-1996-su-p09.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/509b94cb6e4b457c5fbd027321322645/1990-1996-su-sheet-1990-1996-su-p09.tif","bytes":3588258,"md5":"509b94cb6e4b457c5fbd027321322645","updated":"2026-11-04"},{"sheet":"1990-1996-su-p10","name":"1990-1996-su-sheet-1990-1996-su-p10.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/fe6d3fb52406c44692428b7e0c96250b/1990-1996-su-sheet-1990-1996-su-p10.tif","bytes":1949207,"md5":"fe6d3fb52406c44692428b7e0c96250b","updated":"2026-11-04"},{"sheet":"1990-1996-su-p12","name":"1990-1996-su-sheet-1990-1996-su-p12.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/48a72a7568b20c22c26e5ac97cfb5ce5/1990-1996-su-sheet-1990-1996-su-p12.tif","bytes":2664244,"md5":"48a72a7568b20c22c26e5ac97cfb5ce5","updated":"2026-11-04"}]},"1990-1996-zoning":{"updated":"2026-11-04","readme":"sfzoning.com: San Francisco historic zoning (1990-1996-zoning, sheets)\n\nWHAT THIS FILE IS\nThe aligned sheets of the 1990-1996-zoning edition zoning map, one GeoTIFF per\nsheet, each at its own resolution (California State Plane III, feet,\nEPSG:2227). Each sheet was warped onto that grid with GDAL (gdalwarp, thin\nplate spline, cubic resampling) from control points matched to today's street\ncorners. Sheets scanned in 1-bit black and white are tinted to the paper\ncolour, and printed border rules and binding shadows are erased. Nothing is\nvectorized or drawn on the scans.\n\nHOW THE ZONING WAS ASSIGNED\nThe zoning maps were read from the scans, one district label per area, and\neach label was assigned to today's lots. The boundaries in the lot and\ndistrict files are modern lot lines from the DataSF parcels layer. They were\nnever traced from the scan, so a district edge is only as precise as the lot\nit falls on. Where a street has moved since the map was drawn, the scan keeps\nthe historic position and the data follows today's lot lines.\n\nWHAT \"confidence\" MEANS\nA number from 0 to 1 for how sure the reading is that the lot belongs to the\ndistrict shown. Lots set by a person get 1: those whose district was set by an\noverride (inputs/<series>/overrides.csv in the source repository), and those\nwhose label a person added by hand (inputs/<series>/label_fixes.csv). Lots\nread from a sheet flagged for review are capped at 0.6. 0 means no district\ncould be assigned to the lot.\n\nNOT AN OFFICIAL RECORD\nThis is a reconstruction, not an official record of the San Francisco\nPlanning Department. Check the Planning Department's own records before\nrelying on it for any legal purpose.\n\nLAST UPDATED\n2026-11-04 (build 9e740fe)\n\nLICENSE\nCreative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)\n\nThis data is licensed CC BY-NC-SA 4.0: https://creativecommons.org/licenses/by-nc-sa/4.0/\nYou may share and adapt it with attribution, for non-commercial use, under the same license.\nCredit it as:\n\n    Based on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org), licensed CC BY-NC-SA 4.0.\n\nThe license covers this project's contribution (the reading, alignment and processing), not the\nunderlying maps or the DataSF parcels, which keep their own terms. See https://sfzoning.com.\n\nATTRIBUTION\nBased on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org)\nLot lines: DataSF, \"Parcels - Active and Retired\", City and County of San\nFrancisco (https://datasf.org).\n","items":[{"sheet":"1990-1996-zoning-p22","name":"1990-1996-zoning-sheet-1990-1996-zoning-p22.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/d60309f408316199a982583a9712ce13/1990-1996-zoning-sheet-1990-1996-zoning-p22.tif","bytes":3319233,"md5":"d60309f408316199a982583a9712ce13","updated":"2026-11-04"},{"sheet":"1990-1996-zoning-p23","name":"1990-1996-zoning-sheet-1990-1996-zoning-p23.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/6c253b060ca4ec566b73b5fb5698aeb6/1990-1996-zoning-sheet-1990-1996-zoning-p23.tif","bytes":3939074,"md5":"6c253b060ca4ec566b73b5fb5698aeb6","updated":"2026-11-04"},{"sheet":"1990-1996-zoning-p24","name":"1990-1996-zoning-sheet-1990-1996-zoning-p24.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/4a077d2e863145e24af99d1e9269bd84/1990-1996-zoning-sheet-1990-1996-zoning-p24.tif","bytes":3094911,"md5":"4a077d2e863145e24af99d1e9269bd84","updated":"2026-11-04"},{"sheet":"1990-1996-zoning-p25","name":"1990-1996-zoning-sheet-1990-1996-zoning-p25.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/c5cd4a1bb309a67342d31380c4f03bd4/1990-1996-zoning-sheet-1990-1996-zoning-p25.tif","bytes":1849930,"md5":"c5cd4a1bb309a67342d31380c4f03bd4","updated":"2026-11-04"},{"sheet":"1990-1996-zoning-p26","name":"1990-1996-zoning-sheet-1990-1996-zoning-p26.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/103ba318740dbe2a99d9b0c0fb8a67db/1990-1996-zoning-sheet-1990-1996-zoning-p26.tif","bytes":3220733,"md5":"103ba318740dbe2a99d9b0c0fb8a67db","updated":"2026-11-04"},{"sheet":"1990-1996-zoning-p27","name":"1990-1996-zoning-sheet-1990-1996-zoning-p27.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/029eafa4df9bc0c3b194a01ec7f9e827/1990-1996-zoning-sheet-1990-1996-zoning-p27.tif","bytes":4200009,"md5":"029eafa4df9bc0c3b194a01ec7f9e827","updated":"2026-11-04"},{"sheet":"1990-1996-zoning-p28","name":"1990-1996-zoning-sheet-1990-1996-zoning-p28.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/f366db452fff2ebf5cec375289e5c2b0/1990-1996-zoning-sheet-1990-1996-zoning-p28.tif","bytes":3353319,"md5":"f366db452fff2ebf5cec375289e5c2b0","updated":"2026-11-04"},{"sheet":"1990-1996-zoning-p29","name":"1990-1996-zoning-sheet-1990-1996-zoning-p29.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/beeccbccf83471df47baecff08209429/1990-1996-zoning-sheet-1990-1996-zoning-p29.tif","bytes":1623244,"md5":"beeccbccf83471df47baecff08209429","updated":"2026-11-04"},{"sheet":"1990-1996-zoning-p30","name":"1990-1996-zoning-sheet-1990-1996-zoning-p30.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/6e5a5b9863eeec35726ccb666c762dfc/1990-1996-zoning-sheet-1990-1996-zoning-p30.tif","bytes":3849608,"md5":"6e5a5b9863eeec35726ccb666c762dfc","updated":"2026-11-04"},{"sheet":"1990-1996-zoning-p31","name":"1990-1996-zoning-sheet-1990-1996-zoning-p31.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/43cbacf3b66188fe5708774884ad2c48/1990-1996-zoning-sheet-1990-1996-zoning-p31.tif","bytes":4220274,"md5":"43cbacf3b66188fe5708774884ad2c48","updated":"2026-11-04"},{"sheet":"1990-1996-zoning-p32","name":"1990-1996-zoning-sheet-1990-1996-zoning-p32.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/14fe4211083ca779240dafabe5501390/1990-1996-zoning-sheet-1990-1996-zoning-p32.tif","bytes":3960478,"md5":"14fe4211083ca779240dafabe5501390","updated":"2026-11-04"},{"sheet":"1990-1996-zoning-p33","name":"1990-1996-zoning-sheet-1990-1996-zoning-p33.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/bdc354c3c86bf3bbcd82d62f1bc51510/1990-1996-zoning-sheet-1990-1996-zoning-p33.tif","bytes":2210466,"md5":"bdc354c3c86bf3bbcd82d62f1bc51510","updated":"2026-11-04"}]},"1996-2000-height":{"updated":"2026-11-04","readme":"sfzoning.com: San Francisco historic zoning (1996-2000-height, sheets)\n\nWHAT THIS FILE IS\nThe aligned sheets of the 1996-2000-height edition zoning map, one GeoTIFF per\nsheet, each at its own resolution (California State Plane III, feet,\nEPSG:2227). Each sheet was warped onto that grid with GDAL (gdalwarp, thin\nplate spline, cubic resampling) from control points matched to today's street\ncorners. Sheets scanned in 1-bit black and white are tinted to the paper\ncolour, and printed border rules and binding shadows are erased. Nothing is\nvectorized or drawn on the scans.\n\nHOW THE ZONING WAS ASSIGNED\nThe zoning maps were read from the scans, one district label per area, and\neach label was assigned to today's lots. The boundaries in the lot and\ndistrict files are modern lot lines from the DataSF parcels layer. They were\nnever traced from the scan, so a district edge is only as precise as the lot\nit falls on. Where a street has moved since the map was drawn, the scan keeps\nthe historic position and the data follows today's lot lines.\n\nWHAT \"confidence\" MEANS\nA number from 0 to 1 for how sure the reading is that the lot belongs to the\ndistrict shown. Lots set by a person get 1: those whose district was set by an\noverride (inputs/<series>/overrides.csv in the source repository), and those\nwhose label a person added by hand (inputs/<series>/label_fixes.csv). Lots\nread from a sheet flagged for review are capped at 0.6. 0 means no district\ncould be assigned to the lot.\n\nNOT AN OFFICIAL RECORD\nThis is a reconstruction, not an official record of the San Francisco\nPlanning Department. Check the Planning Department's own records before\nrelying on it for any legal purpose.\n\nLAST UPDATED\n2026-11-04 (build 9e740fe)\n\nLICENSE\nCreative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)\n\nThis data is licensed CC BY-NC-SA 4.0: https://creativecommons.org/licenses/by-nc-sa/4.0/\nYou may share and adapt it with attribution, for non-commercial use, under the same license.\nCredit it as:\n\n    Based on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org), licensed CC BY-NC-SA 4.0.\n\nThe license covers this project's contribution (the reading, alignment and processing), not the\nunderlying maps or the DataSF parcels, which keep their own terms. See https://sfzoning.com.\n\nATTRIBUTION\nBased on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org)\nLot lines: DataSF, \"Parcels - Active and Retired\", City and County of San\nFrancisco (https://datasf.org).\n","items":[{"sheet":"1996-2000-height-p01","name":"1996-2000-height-sheet-1996-2000-height-p01.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/e4c0ec7a2e240794f2300916cead8f51/1996-2000-height-sheet-1996-2000-height-p01.tif","bytes":3829100,"md5":"e4c0ec7a2e240794f2300916cead8f51","updated":"2026-11-04"},{"sheet":"1996-2000-height-p02","name":"1996-2000-height-sheet-1996-2000-height-p02.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/db2c18986fc7610f27593411aca14fc6/1996-2000-height-sheet-1996-2000-height-p02.tif","bytes":3870704,"md5":"db2c18986fc7610f27593411aca14fc6","updated":"2026-11-04"},{"sheet":"1996-2000-height-p03","name":"1996-2000-height-sheet-1996-2000-height-p03.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/74e6bdca2254e174b82b8c4100bda4e4/1996-2000-height-sheet-1996-2000-height-p03.tif","bytes":3259793,"md5":"74e6bdca2254e174b82b8c4100bda4e4","updated":"2026-11-04"},{"sheet":"1996-2000-height-p04","name":"1996-2000-height-sheet-1996-2000-height-p04.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/57416de57579a0c9a29bb7721e5b1596/1996-2000-height-sheet-1996-2000-height-p04.tif","bytes":1618203,"md5":"57416de57579a0c9a29bb7721e5b1596","updated":"2026-11-04"},{"sheet":"1996-2000-height-p05","name":"1996-2000-height-sheet-1996-2000-height-p05.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/c0febf08af109583601e04655afad4cc/1996-2000-height-sheet-1996-2000-height-p05.tif","bytes":3189982,"md5":"c0febf08af109583601e04655afad4cc","updated":"2026-11-04"},{"sheet":"1996-2000-height-p06","name":"1996-2000-height-sheet-1996-2000-height-p06.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/4a30e209f1ed93485054f7e2f6dc65b0/1996-2000-height-sheet-1996-2000-height-p06.tif","bytes":4112899,"md5":"4a30e209f1ed93485054f7e2f6dc65b0","updated":"2026-11-04"},{"sheet":"1996-2000-height-p07","name":"1996-2000-height-sheet-1996-2000-height-p07.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/e060f28194eafa244f57f34fab580216/1996-2000-height-sheet-1996-2000-height-p07.tif","bytes":4495430,"md5":"e060f28194eafa244f57f34fab580216","updated":"2026-11-04"},{"sheet":"1996-2000-height-p08","name":"1996-2000-height-sheet-1996-2000-height-p08.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/6bd307e2f50de3d8c59f8a04777da88f/1996-2000-height-sheet-1996-2000-height-p08.tif","bytes":3726275,"md5":"6bd307e2f50de3d8c59f8a04777da88f","updated":"2026-11-04"},{"sheet":"1996-2000-height-p09","name":"1996-2000-height-sheet-1996-2000-height-p09.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/69b8f1557f0b1e93483c1bfc1e9e23e7/1996-2000-height-sheet-1996-2000-height-p09.tif","bytes":2458039,"md5":"69b8f1557f0b1e93483c1bfc1e9e23e7","updated":"2026-11-04"},{"sheet":"1996-2000-height-p10","name":"1996-2000-height-sheet-1996-2000-height-p10.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/9eaeb43c9df782e5879e7a4632795308/1996-2000-height-sheet-1996-2000-height-p10.tif","bytes":4402922,"md5":"9eaeb43c9df782e5879e7a4632795308","updated":"2026-11-04"},{"sheet":"1996-2000-height-p11","name":"1996-2000-height-sheet-1996-2000-height-p11.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/125c8269d6cbc46473ee05d35ecf758d/1996-2000-height-sheet-1996-2000-height-p11.tif","bytes":4618318,"md5":"125c8269d6cbc46473ee05d35ecf758d","updated":"2026-11-04"},{"sheet":"1996-2000-height-p12","name":"1996-2000-height-sheet-1996-2000-height-p12.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/81865b68bf2d64732672c84f8d25e851/1996-2000-height-sheet-1996-2000-height-p12.tif","bytes":4644089,"md5":"81865b68bf2d64732672c84f8d25e851","updated":"2026-11-04"},{"sheet":"1996-2000-height-p13","name":"1996-2000-height-sheet-1996-2000-height-p13.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/b90a91773654dd66219c1b97da8a0c6f/1996-2000-height-sheet-1996-2000-height-p13.tif","bytes":2846164,"md5":"b90a91773654dd66219c1b97da8a0c6f","updated":"2026-11-04"}]},"1996-2000-su":{"updated":"2026-11-04","readme":"sfzoning.com: San Francisco historic zoning (1996-2000-su, sheets)\n\nWHAT THIS FILE IS\nThe aligned sheets of the 1996-2000-su edition zoning map, one GeoTIFF per\nsheet, each at its own resolution (California State Plane III, feet,\nEPSG:2227). Each sheet was warped onto that grid with GDAL (gdalwarp, thin\nplate spline, cubic resampling) from control points matched to today's street\ncorners. Sheets scanned in 1-bit black and white are tinted to the paper\ncolour, and printed border rules and binding shadows are erased. Nothing is\nvectorized or drawn on the scans.\n\nHOW THE ZONING WAS ASSIGNED\nThe zoning maps were read from the scans, one district label per area, and\neach label was assigned to today's lots. The boundaries in the lot and\ndistrict files are modern lot lines from the DataSF parcels layer. They were\nnever traced from the scan, so a district edge is only as precise as the lot\nit falls on. Where a street has moved since the map was drawn, the scan keeps\nthe historic position and the data follows today's lot lines.\n\nWHAT \"confidence\" MEANS\nA number from 0 to 1 for how sure the reading is that the lot belongs to the\ndistrict shown. Lots set by a person get 1: those whose district was set by an\noverride (inputs/<series>/overrides.csv in the source repository), and those\nwhose label a person added by hand (inputs/<series>/label_fixes.csv). Lots\nread from a sheet flagged for review are capped at 0.6. 0 means no district\ncould be assigned to the lot.\n\nNOT AN OFFICIAL RECORD\nThis is a reconstruction, not an official record of the San Francisco\nPlanning Department. Check the Planning Department's own records before\nrelying on it for any legal purpose.\n\nLAST UPDATED\n2026-11-04 (build 9e740fe)\n\nLICENSE\nCreative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)\n\nThis data is licensed CC BY-NC-SA 4.0: https://creativecommons.org/licenses/by-nc-sa/4.0/\nYou may share and adapt it with attribution, for non-commercial use, under the same license.\nCredit it as:\n\n    Based on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org), licensed CC BY-NC-SA 4.0.\n\nThe license covers this project's contribution (the reading, alignment and processing), not the\nunderlying maps or the DataSF parcels, which keep their own terms. See https://sfzoning.com.\n\nATTRIBUTION\nBased on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org)\nLot lines: DataSF, \"Parcels - Active and Retired\", City and County of San\nFrancisco (https://datasf.org).\n","items":[{"sheet":"1996-2000-su-p01","name":"1996-2000-su-sheet-1996-2000-su-p01.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/d4e48781a13cda62e8fa4271b4ec6630/1996-2000-su-sheet-1996-2000-su-p01.tif","bytes":3076667,"md5":"d4e48781a13cda62e8fa4271b4ec6630","updated":"2026-11-04"},{"sheet":"1996-2000-su-p02","name":"1996-2000-su-sheet-1996-2000-su-p02.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/b82c91e3648fe0ff23cb41f4f8833d5c/1996-2000-su-sheet-1996-2000-su-p02.tif","bytes":3149438,"md5":"b82c91e3648fe0ff23cb41f4f8833d5c","updated":"2026-11-04"},{"sheet":"1996-2000-su-p03","name":"1996-2000-su-sheet-1996-2000-su-p03.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/a9cc7b27301ae3f85cefe966acc17b02/1996-2000-su-sheet-1996-2000-su-p03.tif","bytes":2632472,"md5":"a9cc7b27301ae3f85cefe966acc17b02","updated":"2026-11-04"},{"sheet":"1996-2000-su-p05","name":"1996-2000-su-sheet-1996-2000-su-p05.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/3d22503fad9b4a480d1d4094219e2f60/1996-2000-su-sheet-1996-2000-su-p05.tif","bytes":2813137,"md5":"3d22503fad9b4a480d1d4094219e2f60","updated":"2026-11-04"},{"sheet":"1996-2000-su-p06","name":"1996-2000-su-sheet-1996-2000-su-p06.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/73b8ef4ca8d111d5499935a1f58ff0f6/1996-2000-su-sheet-1996-2000-su-p06.tif","bytes":3185754,"md5":"73b8ef4ca8d111d5499935a1f58ff0f6","updated":"2026-11-04"},{"sheet":"1996-2000-su-p07","name":"1996-2000-su-sheet-1996-2000-su-p07.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/aef7bd66b4d22a889e31459ad4caaa20/1996-2000-su-sheet-1996-2000-su-p07.tif","bytes":3559614,"md5":"aef7bd66b4d22a889e31459ad4caaa20","updated":"2026-11-04"},{"sheet":"1996-2000-su-p08","name":"1996-2000-su-sheet-1996-2000-su-p08.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/0da42807aa1f20fbcac17960b0eda151/1996-2000-su-sheet-1996-2000-su-p08.tif","bytes":3075608,"md5":"0da42807aa1f20fbcac17960b0eda151","updated":"2026-11-04"},{"sheet":"1996-2000-su-p09","name":"1996-2000-su-sheet-1996-2000-su-p09.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/7515f214d6285bc82e993409e2d52bee/1996-2000-su-sheet-1996-2000-su-p09.tif","bytes":1555050,"md5":"7515f214d6285bc82e993409e2d52bee","updated":"2026-11-04"},{"sheet":"1996-2000-su-p10","name":"1996-2000-su-sheet-1996-2000-su-p10.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/a56e2b2f35c6386baa70516b9a2e1786/1996-2000-su-sheet-1996-2000-su-p10.tif","bytes":3614747,"md5":"a56e2b2f35c6386baa70516b9a2e1786","updated":"2026-11-04"},{"sheet":"1996-2000-su-p11","name":"1996-2000-su-sheet-1996-2000-su-p11.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/5527c2dff7258cf9e9fcb739958f3efe/1996-2000-su-sheet-1996-2000-su-p11.tif","bytes":3523858,"md5":"5527c2dff7258cf9e9fcb739958f3efe","updated":"2026-11-04"},{"sheet":"1996-2000-su-p12","name":"1996-2000-su-sheet-1996-2000-su-p12.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/3dd05e4817679c964db60360e2c81fff/1996-2000-su-sheet-1996-2000-su-p12.tif","bytes":4041834,"md5":"3dd05e4817679c964db60360e2c81fff","updated":"2026-11-04"},{"sheet":"1996-2000-su-p13","name":"1996-2000-su-sheet-1996-2000-su-p13.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/99fd542415100aeede17d0fe0ce62aa2/1996-2000-su-sheet-1996-2000-su-p13.tif","bytes":3758642,"md5":"99fd542415100aeede17d0fe0ce62aa2","updated":"2026-11-04"},{"sheet":"1996-2000-su-p14","name":"1996-2000-su-sheet-1996-2000-su-p14.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/b40443fbe28a66bf9308165bdf1af890/1996-2000-su-sheet-1996-2000-su-p14.tif","bytes":1964081,"md5":"b40443fbe28a66bf9308165bdf1af890","updated":"2026-11-04"},{"sheet":"1996-2000-su-p16","name":"1996-2000-su-sheet-1996-2000-su-p16.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/f4f163f2be409a2b9bb505caabfc67ba/1996-2000-su-sheet-1996-2000-su-p16.tif","bytes":2623181,"md5":"f4f163f2be409a2b9bb505caabfc67ba","updated":"2026-11-04"},{"sheet":"1996-2000-su-p17","name":"1996-2000-su-sheet-1996-2000-su-p17.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/edea1be8561ae74cdfd41d4cdfc6eb5b/1996-2000-su-sheet-1996-2000-su-p17.tif","bytes":2879650,"md5":"edea1be8561ae74cdfd41d4cdfc6eb5b","updated":"2026-11-04"},{"sheet":"1996-2000-su-p18","name":"1996-2000-su-sheet-1996-2000-su-p18.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/b0a873437866dbfc05bde96df5eeccfd/1996-2000-su-sheet-1996-2000-su-p18.tif","bytes":3087276,"md5":"b0a873437866dbfc05bde96df5eeccfd","updated":"2026-11-04"},{"sheet":"1996-2000-su-p19","name":"1996-2000-su-sheet-1996-2000-su-p19.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/e1ee2618da85ddbe0c4a4ae51b7258c0/1996-2000-su-sheet-1996-2000-su-p19.tif","bytes":3447611,"md5":"e1ee2618da85ddbe0c4a4ae51b7258c0","updated":"2026-11-04"},{"sheet":"1996-2000-su-p20","name":"1996-2000-su-sheet-1996-2000-su-p20.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/57473894191e1d065961043c302de3ba/1996-2000-su-sheet-1996-2000-su-p20.tif","bytes":3303889,"md5":"57473894191e1d065961043c302de3ba","updated":"2026-11-04"},{"sheet":"1996-2000-su-p21","name":"1996-2000-su-sheet-1996-2000-su-p21.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/38d0736b4614f058a0c2e0fc3bd2fdad/1996-2000-su-sheet-1996-2000-su-p21.tif","bytes":4556647,"md5":"38d0736b4614f058a0c2e0fc3bd2fdad","updated":"2026-11-04"},{"sheet":"1996-2000-su-p22","name":"1996-2000-su-sheet-1996-2000-su-p22.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/aa68adb063736943991f443107517d41/1996-2000-su-sheet-1996-2000-su-p22.tif","bytes":5755698,"md5":"aa68adb063736943991f443107517d41","updated":"2026-11-04"}]},"1996-2000-zoning":{"updated":"2026-11-04","readme":"sfzoning.com: San Francisco historic zoning (1996-2000-zoning, sheets)\n\nWHAT THIS FILE IS\nThe aligned sheets of the 1996-2000-zoning edition zoning map, one GeoTIFF per\nsheet, each at its own resolution (California State Plane III, feet,\nEPSG:2227). Each sheet was warped onto that grid with GDAL (gdalwarp, thin\nplate spline, cubic resampling) from control points matched to today's street\ncorners. Sheets scanned in 1-bit black and white are tinted to the paper\ncolour, and printed border rules and binding shadows are erased. Nothing is\nvectorized or drawn on the scans.\n\nHOW THE ZONING WAS ASSIGNED\nThe zoning maps were read from the scans, one district label per area, and\neach label was assigned to today's lots. The boundaries in the lot and\ndistrict files are modern lot lines from the DataSF parcels layer. They were\nnever traced from the scan, so a district edge is only as precise as the lot\nit falls on. Where a street has moved since the map was drawn, the scan keeps\nthe historic position and the data follows today's lot lines.\n\nWHAT \"confidence\" MEANS\nA number from 0 to 1 for how sure the reading is that the lot belongs to the\ndistrict shown. Lots set by a person get 1: those whose district was set by an\noverride (inputs/<series>/overrides.csv in the source repository), and those\nwhose label a person added by hand (inputs/<series>/label_fixes.csv). Lots\nread from a sheet flagged for review are capped at 0.6. 0 means no district\ncould be assigned to the lot.\n\nNOT AN OFFICIAL RECORD\nThis is a reconstruction, not an official record of the San Francisco\nPlanning Department. Check the Planning Department's own records before\nrelying on it for any legal purpose.\n\nLAST UPDATED\n2026-11-04 (build 9e740fe)\n\nLICENSE\nCreative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)\n\nThis data is licensed CC BY-NC-SA 4.0: https://creativecommons.org/licenses/by-nc-sa/4.0/\nYou may share and adapt it with attribution, for non-commercial use, under the same license.\nCredit it as:\n\n    Based on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org), licensed CC BY-NC-SA 4.0.\n\nThe license covers this project's contribution (the reading, alignment and processing), not the\nunderlying maps or the DataSF parcels, which keep their own terms. See https://sfzoning.com.\n\nATTRIBUTION\nBased on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org)\nLot lines: DataSF, \"Parcels - Active and Retired\", City and County of San\nFrancisco (https://datasf.org).\n","items":[{"sheet":"1996-2000-zoning-p25","name":"1996-2000-zoning-sheet-1996-2000-zoning-p25.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/6116825e9bc8712984d933fa378a9b35/1996-2000-zoning-sheet-1996-2000-zoning-p25.tif","bytes":3242207,"md5":"6116825e9bc8712984d933fa378a9b35","updated":"2026-11-04"},{"sheet":"1996-2000-zoning-p26","name":"1996-2000-zoning-sheet-1996-2000-zoning-p26.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/e455d052702010401a0bc462a5a29cb3/1996-2000-zoning-sheet-1996-2000-zoning-p26.tif","bytes":3913661,"md5":"e455d052702010401a0bc462a5a29cb3","updated":"2026-11-04"},{"sheet":"1996-2000-zoning-p27","name":"1996-2000-zoning-sheet-1996-2000-zoning-p27.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/700f46de8651d13b07f20c1d57154ff2/1996-2000-zoning-sheet-1996-2000-zoning-p27.tif","bytes":3088297,"md5":"700f46de8651d13b07f20c1d57154ff2","updated":"2026-11-04"},{"sheet":"1996-2000-zoning-p28","name":"1996-2000-zoning-sheet-1996-2000-zoning-p28.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/f588bc2ce36f1b0b3b2766ecf4222f8b/1996-2000-zoning-sheet-1996-2000-zoning-p28.tif","bytes":1838913,"md5":"f588bc2ce36f1b0b3b2766ecf4222f8b","updated":"2026-11-04"},{"sheet":"1996-2000-zoning-p29","name":"1996-2000-zoning-sheet-1996-2000-zoning-p29.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/5da5ebe4e269397ff8edb58731543735/1996-2000-zoning-sheet-1996-2000-zoning-p29.tif","bytes":3218701,"md5":"5da5ebe4e269397ff8edb58731543735","updated":"2026-11-04"},{"sheet":"1996-2000-zoning-p30","name":"1996-2000-zoning-sheet-1996-2000-zoning-p30.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/35d6d65e2de5d9736a12d06d7dface85/1996-2000-zoning-sheet-1996-2000-zoning-p30.tif","bytes":3539049,"md5":"35d6d65e2de5d9736a12d06d7dface85","updated":"2026-11-04"},{"sheet":"1996-2000-zoning-p31","name":"1996-2000-zoning-sheet-1996-2000-zoning-p31.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/d5a75594a165cf2ed23739bf0c794dc9/1996-2000-zoning-sheet-1996-2000-zoning-p31.tif","bytes":4236979,"md5":"d5a75594a165cf2ed23739bf0c794dc9","updated":"2026-11-04"},{"sheet":"1996-2000-zoning-p32","name":"1996-2000-zoning-sheet-1996-2000-zoning-p32.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/f4d6b06dc847a528602df2075a419c70/1996-2000-zoning-sheet-1996-2000-zoning-p32.tif","bytes":3507239,"md5":"f4d6b06dc847a528602df2075a419c70","updated":"2026-11-04"},{"sheet":"1996-2000-zoning-p33","name":"1996-2000-zoning-sheet-1996-2000-zoning-p33.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/d9e35cc220a49eb15f2c66683023ff39/1996-2000-zoning-sheet-1996-2000-zoning-p33.tif","bytes":1610929,"md5":"d9e35cc220a49eb15f2c66683023ff39","updated":"2026-11-04"},{"sheet":"1996-2000-zoning-p34","name":"1996-2000-zoning-sheet-1996-2000-zoning-p34.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/6853c737cce8573f458ebe8699aa8959/1996-2000-zoning-sheet-1996-2000-zoning-p34.tif","bytes":3874424,"md5":"6853c737cce8573f458ebe8699aa8959","updated":"2026-11-04"},{"sheet":"1996-2000-zoning-p35","name":"1996-2000-zoning-sheet-1996-2000-zoning-p35.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/36cb79ec85c5e1e10ff88cd8c9033b18/1996-2000-zoning-sheet-1996-2000-zoning-p35.tif","bytes":4292301,"md5":"36cb79ec85c5e1e10ff88cd8c9033b18","updated":"2026-11-04"},{"sheet":"1996-2000-zoning-p36","name":"1996-2000-zoning-sheet-1996-2000-zoning-p36.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/3fead90314d3ca227fedec4b9774d914/1996-2000-zoning-sheet-1996-2000-zoning-p36.tif","bytes":3985847,"md5":"3fead90314d3ca227fedec4b9774d914","updated":"2026-11-04"},{"sheet":"1996-2000-zoning-p37","name":"1996-2000-zoning-sheet-1996-2000-zoning-p37.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/a726982a02c2110f35f4a972392c275f/1996-2000-zoning-sheet-1996-2000-zoning-p37.tif","bytes":2107182,"md5":"a726982a02c2110f35f4a972392c275f","updated":"2026-11-04"}]},"2000-digital-height":{"updated":"2026-11-04","readme":"sfzoning.com: San Francisco historic zoning (2000-digital-height, sheets)\n\nWHAT THIS FILE IS\nThe aligned sheets of the 2000-digital-height edition zoning map, one GeoTIFF\nper sheet, each at its own resolution (California State Plane III, feet,\nEPSG:2227). Each sheet was warped onto that grid with GDAL (gdalwarp, thin\nplate spline, cubic resampling) from control points matched to today's street\ncorners. Sheets scanned in 1-bit black and white are tinted to the paper\ncolour, and printed border rules and binding shadows are erased. Nothing is\nvectorized or drawn on the scans.\n\nHOW THE ZONING WAS ASSIGNED\nThe zoning maps were read from the scans, one district label per area, and\neach label was assigned to today's lots. The boundaries in the lot and\ndistrict files are modern lot lines from the DataSF parcels layer. They were\nnever traced from the scan, so a district edge is only as precise as the lot\nit falls on. Where a street has moved since the map was drawn, the scan keeps\nthe historic position and the data follows today's lot lines.\n\nWHAT \"confidence\" MEANS\nA number from 0 to 1 for how sure the reading is that the lot belongs to the\ndistrict shown. Lots set by a person get 1: those whose district was set by an\noverride (inputs/<series>/overrides.csv in the source repository), and those\nwhose label a person added by hand (inputs/<series>/label_fixes.csv). Lots\nread from a sheet flagged for review are capped at 0.6. 0 means no district\ncould be assigned to the lot.\n\nNOT AN OFFICIAL RECORD\nThis is a reconstruction, not an official record of the San Francisco\nPlanning Department. Check the Planning Department's own records before\nrelying on it for any legal purpose.\n\nLAST UPDATED\n2026-11-04 (build 9e740fe)\n\nLICENSE\nCreative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)\n\nThis data is licensed CC BY-NC-SA 4.0: https://creativecommons.org/licenses/by-nc-sa/4.0/\nYou may share and adapt it with attribution, for non-commercial use, under the same license.\nCredit it as:\n\n    Based on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org), licensed CC BY-NC-SA 4.0.\n\nThe license covers this project's contribution (the reading, alignment and processing), not the\nunderlying maps or the DataSF parcels, which keep their own terms. See https://sfzoning.com.\n\nATTRIBUTION\nBased on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org)\nLot lines: DataSF, \"Parcels - Active and Retired\", City and County of San\nFrancisco (https://datasf.org).\n","items":[{"sheet":"2000-digital-height-p01","name":"2000-digital-height-sheet-2000-digital-height-p01.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/ffabda7bb9b87e4faf82bc414bee31e9/2000-digital-height-sheet-2000-digital-height-p01.tif","bytes":3708241,"md5":"ffabda7bb9b87e4faf82bc414bee31e9","updated":"2026-11-04"},{"sheet":"2000-digital-height-p02","name":"2000-digital-height-sheet-2000-digital-height-p02.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/265227af86abeccd252d20a8d3e7e870/2000-digital-height-sheet-2000-digital-height-p02.tif","bytes":3630832,"md5":"265227af86abeccd252d20a8d3e7e870","updated":"2026-11-04"},{"sheet":"2000-digital-height-p03","name":"2000-digital-height-sheet-2000-digital-height-p03.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/20f665463dc909aae37e75d82caab347/2000-digital-height-sheet-2000-digital-height-p03.tif","bytes":3068560,"md5":"20f665463dc909aae37e75d82caab347","updated":"2026-11-04"},{"sheet":"2000-digital-height-p04","name":"2000-digital-height-sheet-2000-digital-height-p04.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/b6a7f171cbec75b01fcec2be6f49f704/2000-digital-height-sheet-2000-digital-height-p04.tif","bytes":1547605,"md5":"b6a7f171cbec75b01fcec2be6f49f704","updated":"2026-11-04"},{"sheet":"2000-digital-height-p05","name":"2000-digital-height-sheet-2000-digital-height-p05.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/5d2394e08266b4cf997c0e15f5b0fdb7/2000-digital-height-sheet-2000-digital-height-p05.tif","bytes":3057539,"md5":"5d2394e08266b4cf997c0e15f5b0fdb7","updated":"2026-11-04"},{"sheet":"2000-digital-height-p06","name":"2000-digital-height-sheet-2000-digital-height-p06.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/319d3d0e057a2ec29a3dbaa572584eab/2000-digital-height-sheet-2000-digital-height-p06.tif","bytes":3835857,"md5":"319d3d0e057a2ec29a3dbaa572584eab","updated":"2026-11-04"},{"sheet":"2000-digital-height-p07","name":"2000-digital-height-sheet-2000-digital-height-p07.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/792bdd30014cfa2080b8207437165b55/2000-digital-height-sheet-2000-digital-height-p07.tif","bytes":4188624,"md5":"792bdd30014cfa2080b8207437165b55","updated":"2026-11-04"},{"sheet":"2000-digital-height-p08","name":"2000-digital-height-sheet-2000-digital-height-p08.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/16935a523527c3afeb64d6bc5a5fd918/2000-digital-height-sheet-2000-digital-height-p08.tif","bytes":3161573,"md5":"16935a523527c3afeb64d6bc5a5fd918","updated":"2026-11-04"},{"sheet":"2000-digital-height-p09","name":"2000-digital-height-sheet-2000-digital-height-p09.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/01ae2f2047a9defd890abcb080db1631/2000-digital-height-sheet-2000-digital-height-p09.tif","bytes":2281513,"md5":"01ae2f2047a9defd890abcb080db1631","updated":"2026-11-04"},{"sheet":"2000-digital-height-p10","name":"2000-digital-height-sheet-2000-digital-height-p10.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/fc5834dbb610451bceb66c9d46ff0edb/2000-digital-height-sheet-2000-digital-height-p10.tif","bytes":4101079,"md5":"fc5834dbb610451bceb66c9d46ff0edb","updated":"2026-11-04"},{"sheet":"2000-digital-height-p11","name":"2000-digital-height-sheet-2000-digital-height-p11.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/9d9122b0b66f2379cac246273aed4050/2000-digital-height-sheet-2000-digital-height-p11.tif","bytes":4471152,"md5":"9d9122b0b66f2379cac246273aed4050","updated":"2026-11-04"},{"sheet":"2000-digital-height-p12","name":"2000-digital-height-sheet-2000-digital-height-p12.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/3a419fd99c78f6e0a76165f18dc15330/2000-digital-height-sheet-2000-digital-height-p12.tif","bytes":4282823,"md5":"3a419fd99c78f6e0a76165f18dc15330","updated":"2026-11-04"},{"sheet":"2000-digital-height-p13","name":"2000-digital-height-sheet-2000-digital-height-p13.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/88a5708d00747a6287f1037ec7f18451/2000-digital-height-sheet-2000-digital-height-p13.tif","bytes":2759448,"md5":"88a5708d00747a6287f1037ec7f18451","updated":"2026-11-04"}]},"2000-digital-su":{"updated":"2026-11-04","readme":"sfzoning.com: San Francisco historic zoning (2000-digital-su, sheets)\n\nWHAT THIS FILE IS\nThe aligned sheets of the 2000-digital-su edition zoning map, one GeoTIFF per\nsheet, each at its own resolution (California State Plane III, feet,\nEPSG:2227). Each sheet was warped onto that grid with GDAL (gdalwarp, thin\nplate spline, cubic resampling) from control points matched to today's street\ncorners. Sheets scanned in 1-bit black and white are tinted to the paper\ncolour, and printed border rules and binding shadows are erased. Nothing is\nvectorized or drawn on the scans.\n\nHOW THE ZONING WAS ASSIGNED\nThe zoning maps were read from the scans, one district label per area, and\neach label was assigned to today's lots. The boundaries in the lot and\ndistrict files are modern lot lines from the DataSF parcels layer. They were\nnever traced from the scan, so a district edge is only as precise as the lot\nit falls on. Where a street has moved since the map was drawn, the scan keeps\nthe historic position and the data follows today's lot lines.\n\nWHAT \"confidence\" MEANS\nA number from 0 to 1 for how sure the reading is that the lot belongs to the\ndistrict shown. Lots set by a person get 1: those whose district was set by an\noverride (inputs/<series>/overrides.csv in the source repository), and those\nwhose label a person added by hand (inputs/<series>/label_fixes.csv). Lots\nread from a sheet flagged for review are capped at 0.6. 0 means no district\ncould be assigned to the lot.\n\nNOT AN OFFICIAL RECORD\nThis is a reconstruction, not an official record of the San Francisco\nPlanning Department. Check the Planning Department's own records before\nrelying on it for any legal purpose.\n\nLAST UPDATED\n2026-11-04 (build 9e740fe)\n\nLICENSE\nCreative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)\n\nThis data is licensed CC BY-NC-SA 4.0: https://creativecommons.org/licenses/by-nc-sa/4.0/\nYou may share and adapt it with attribution, for non-commercial use, under the same license.\nCredit it as:\n\n    Based on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org), licensed CC BY-NC-SA 4.0.\n\nThe license covers this project's contribution (the reading, alignment and processing), not the\nunderlying maps or the DataSF parcels, which keep their own terms. See https://sfzoning.com.\n\nATTRIBUTION\nBased on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org)\nLot lines: DataSF, \"Parcels - Active and Retired\", City and County of San\nFrancisco (https://datasf.org).\n","items":[{"sheet":"2000-digital-su-p01","name":"2000-digital-su-sheet-2000-digital-su-p01.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/28baeca05b7d4af932a22b45f1df6718/2000-digital-su-sheet-2000-digital-su-p01.tif","bytes":3069761,"md5":"28baeca05b7d4af932a22b45f1df6718","updated":"2026-11-04"},{"sheet":"2000-digital-su-p02","name":"2000-digital-su-sheet-2000-digital-su-p02.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/4e816c2ee3fe7e862c2ec372dd9bf625/2000-digital-su-sheet-2000-digital-su-p02.tif","bytes":2961524,"md5":"4e816c2ee3fe7e862c2ec372dd9bf625","updated":"2026-11-04"},{"sheet":"2000-digital-su-p03","name":"2000-digital-su-sheet-2000-digital-su-p03.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/cb64e13bda39cd226ac035e52771b156/2000-digital-su-sheet-2000-digital-su-p03.tif","bytes":2630513,"md5":"cb64e13bda39cd226ac035e52771b156","updated":"2026-11-04"},{"sheet":"2000-digital-su-p04","name":"2000-digital-su-sheet-2000-digital-su-p04.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/36f3796ca1108cb6e68ef2e54d7d8179/2000-digital-su-sheet-2000-digital-su-p04.tif","bytes":1562871,"md5":"36f3796ca1108cb6e68ef2e54d7d8179","updated":"2026-11-04"},{"sheet":"2000-digital-su-p05","name":"2000-digital-su-sheet-2000-digital-su-p05.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/65a9484703d6c636682b4264ed81cb6b/2000-digital-su-sheet-2000-digital-su-p05.tif","bytes":2853498,"md5":"65a9484703d6c636682b4264ed81cb6b","updated":"2026-11-04"},{"sheet":"2000-digital-su-p06","name":"2000-digital-su-sheet-2000-digital-su-p06.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/9107334ea1e64b13ced4a7ee111fcadc/2000-digital-su-sheet-2000-digital-su-p06.tif","bytes":3176324,"md5":"9107334ea1e64b13ced4a7ee111fcadc","updated":"2026-11-04"},{"sheet":"2000-digital-su-p07","name":"2000-digital-su-sheet-2000-digital-su-p07.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/7b2dab806353fa3d0bdba7f3369c418b/2000-digital-su-sheet-2000-digital-su-p07.tif","bytes":3497428,"md5":"7b2dab806353fa3d0bdba7f3369c418b","updated":"2026-11-04"},{"sheet":"2000-digital-su-p08","name":"2000-digital-su-sheet-2000-digital-su-p08.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/9d79beec85a7383b8119186d05a131aa/2000-digital-su-sheet-2000-digital-su-p08.tif","bytes":3026189,"md5":"9d79beec85a7383b8119186d05a131aa","updated":"2026-11-04"},{"sheet":"2000-digital-su-p09","name":"2000-digital-su-sheet-2000-digital-su-p09.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/be41e73766c27764a8d0c071af3b6d6e/2000-digital-su-sheet-2000-digital-su-p09.tif","bytes":1542660,"md5":"be41e73766c27764a8d0c071af3b6d6e","updated":"2026-11-04"},{"sheet":"2000-digital-su-p10","name":"2000-digital-su-sheet-2000-digital-su-p10.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/769b825a802475e9842931e030bf08a2/2000-digital-su-sheet-2000-digital-su-p10.tif","bytes":3483408,"md5":"769b825a802475e9842931e030bf08a2","updated":"2026-11-04"},{"sheet":"2000-digital-su-p11","name":"2000-digital-su-sheet-2000-digital-su-p11.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/d105426648a540a3f08fba95f516df4c/2000-digital-su-sheet-2000-digital-su-p11.tif","bytes":3975544,"md5":"d105426648a540a3f08fba95f516df4c","updated":"2026-11-04"},{"sheet":"2000-digital-su-p12","name":"2000-digital-su-sheet-2000-digital-su-p12.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/f21559092e6867a417159fdb8876162e/2000-digital-su-sheet-2000-digital-su-p12.tif","bytes":3680326,"md5":"f21559092e6867a417159fdb8876162e","updated":"2026-11-04"},{"sheet":"2000-digital-su-p13","name":"2000-digital-su-sheet-2000-digital-su-p13.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/e66d24b61a96b969af8d4b237b691916/2000-digital-su-sheet-2000-digital-su-p13.tif","bytes":1963158,"md5":"e66d24b61a96b969af8d4b237b691916","updated":"2026-11-04"},{"sheet":"2000-digital-su-p16","name":"2000-digital-su-sheet-2000-digital-su-p16.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/13107b5334f58dd9c12b3c002b2b6762/2000-digital-su-sheet-2000-digital-su-p16.tif","bytes":2842336,"md5":"13107b5334f58dd9c12b3c002b2b6762","updated":"2026-11-04"},{"sheet":"2000-digital-su-p17","name":"2000-digital-su-sheet-2000-digital-su-p17.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/ae67a6b35a43c6789a4cac3e4e2dfbca/2000-digital-su-sheet-2000-digital-su-p17.tif","bytes":3074840,"md5":"ae67a6b35a43c6789a4cac3e4e2dfbca","updated":"2026-11-04"},{"sheet":"2000-digital-su-p18","name":"2000-digital-su-sheet-2000-digital-su-p18.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/1d52db6bbfaa32001ae4cba830cc46e2/2000-digital-su-sheet-2000-digital-su-p18.tif","bytes":3396586,"md5":"1d52db6bbfaa32001ae4cba830cc46e2","updated":"2026-11-04"},{"sheet":"2000-digital-su-p19","name":"2000-digital-su-sheet-2000-digital-su-p19.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/8640d1d8f6e73aaaad0068ffc3f66db4/2000-digital-su-sheet-2000-digital-su-p19.tif","bytes":3345177,"md5":"8640d1d8f6e73aaaad0068ffc3f66db4","updated":"2026-11-04"},{"sheet":"2000-digital-su-p20","name":"2000-digital-su-sheet-2000-digital-su-p20.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/9856035c2f834ba6d16939244bccddd8/2000-digital-su-sheet-2000-digital-su-p20.tif","bytes":4539161,"md5":"9856035c2f834ba6d16939244bccddd8","updated":"2026-11-04"},{"sheet":"2000-digital-su-p21","name":"2000-digital-su-sheet-2000-digital-su-p21.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/d05d7c8a8157902fd4abeef9d24b9788/2000-digital-su-sheet-2000-digital-su-p21.tif","bytes":5844798,"md5":"d05d7c8a8157902fd4abeef9d24b9788","updated":"2026-11-04"}]},"2000-digital-zoning":{"updated":"2026-11-04","readme":"sfzoning.com: San Francisco historic zoning (2000-digital-zoning, sheets)\n\nWHAT THIS FILE IS\nThe aligned sheets of the 2000-digital-zoning edition zoning map, one GeoTIFF\nper sheet, each at its own resolution (California State Plane III, feet,\nEPSG:2227). Each sheet was warped onto that grid with GDAL (gdalwarp, thin\nplate spline, cubic resampling) from control points matched to today's street\ncorners. Sheets scanned in 1-bit black and white are tinted to the paper\ncolour, and printed border rules and binding shadows are erased. Nothing is\nvectorized or drawn on the scans.\n\nHOW THE ZONING WAS ASSIGNED\nThe zoning maps were read from the scans, one district label per area, and\neach label was assigned to today's lots. The boundaries in the lot and\ndistrict files are modern lot lines from the DataSF parcels layer. They were\nnever traced from the scan, so a district edge is only as precise as the lot\nit falls on. Where a street has moved since the map was drawn, the scan keeps\nthe historic position and the data follows today's lot lines.\n\nWHAT \"confidence\" MEANS\nA number from 0 to 1 for how sure the reading is that the lot belongs to the\ndistrict shown. Lots set by a person get 1: those whose district was set by an\noverride (inputs/<series>/overrides.csv in the source repository), and those\nwhose label a person added by hand (inputs/<series>/label_fixes.csv). Lots\nread from a sheet flagged for review are capped at 0.6. 0 means no district\ncould be assigned to the lot.\n\nNOT AN OFFICIAL RECORD\nThis is a reconstruction, not an official record of the San Francisco\nPlanning Department. Check the Planning Department's own records before\nrelying on it for any legal purpose.\n\nLAST UPDATED\n2026-11-04 (build 9e740fe)\n\nLICENSE\nCreative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)\n\nThis data is licensed CC BY-NC-SA 4.0: https://creativecommons.org/licenses/by-nc-sa/4.0/\nYou may share and adapt it with attribution, for non-commercial use, under the same license.\nCredit it as:\n\n    Based on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org), licensed CC BY-NC-SA 4.0.\n\nThe license covers this project's contribution (the reading, alignment and processing), not the\nunderlying maps or the DataSF parcels, which keep their own terms. See https://sfzoning.com.\n\nATTRIBUTION\nBased on sfzoning.com by Steven Bacio for GrowSF (https://growsf.org)\nLot lines: DataSF, \"Parcels - Active and Retired\", City and County of San\nFrancisco (https://datasf.org).\n","items":[{"sheet":"2000-digital-zoning-p01","name":"2000-digital-zoning-sheet-2000-digital-zoning-p01.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/bf2fdbc2c1096a286ef631c909f0b4d7/2000-digital-zoning-sheet-2000-digital-zoning-p01.tif","bytes":3232739,"md5":"bf2fdbc2c1096a286ef631c909f0b4d7","updated":"2026-11-04"},{"sheet":"2000-digital-zoning-p02","name":"2000-digital-zoning-sheet-2000-digital-zoning-p02.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/da60dca76cc20d985f2cf87ddcfe924b/2000-digital-zoning-sheet-2000-digital-zoning-p02.tif","bytes":3883142,"md5":"da60dca76cc20d985f2cf87ddcfe924b","updated":"2026-11-04"},{"sheet":"2000-digital-zoning-p03","name":"2000-digital-zoning-sheet-2000-digital-zoning-p03.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/ea7707a3aa05a5ee708a1eb6ddc7d87a/2000-digital-zoning-sheet-2000-digital-zoning-p03.tif","bytes":3074494,"md5":"ea7707a3aa05a5ee708a1eb6ddc7d87a","updated":"2026-11-04"},{"sheet":"2000-digital-zoning-p04","name":"2000-digital-zoning-sheet-2000-digital-zoning-p04.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/584bccdd67501574ad195b384838f547/2000-digital-zoning-sheet-2000-digital-zoning-p04.tif","bytes":1832749,"md5":"584bccdd67501574ad195b384838f547","updated":"2026-11-04"},{"sheet":"2000-digital-zoning-p05","name":"2000-digital-zoning-sheet-2000-digital-zoning-p05.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/505217a79e2ecfa0ac69cfe3fec31a79/2000-digital-zoning-sheet-2000-digital-zoning-p05.tif","bytes":3217032,"md5":"505217a79e2ecfa0ac69cfe3fec31a79","updated":"2026-11-04"},{"sheet":"2000-digital-zoning-p06","name":"2000-digital-zoning-sheet-2000-digital-zoning-p06.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/2c8ff7d496f8a805d004bf1c5d3f1239/2000-digital-zoning-sheet-2000-digital-zoning-p06.tif","bytes":3534772,"md5":"2c8ff7d496f8a805d004bf1c5d3f1239","updated":"2026-11-04"},{"sheet":"2000-digital-zoning-p07","name":"2000-digital-zoning-sheet-2000-digital-zoning-p07.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/10da778c06f03206fcb6521fb1042ab8/2000-digital-zoning-sheet-2000-digital-zoning-p07.tif","bytes":4203948,"md5":"10da778c06f03206fcb6521fb1042ab8","updated":"2026-11-04"},{"sheet":"2000-digital-zoning-p08","name":"2000-digital-zoning-sheet-2000-digital-zoning-p08.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/476469bf0f288682e6fd1fdfbc696d56/2000-digital-zoning-sheet-2000-digital-zoning-p08.tif","bytes":3274547,"md5":"476469bf0f288682e6fd1fdfbc696d56","updated":"2026-11-04"},{"sheet":"2000-digital-zoning-p09","name":"2000-digital-zoning-sheet-2000-digital-zoning-p09.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/f3ce458477ddba84f53bbf1d59236969/2000-digital-zoning-sheet-2000-digital-zoning-p09.tif","bytes":1612441,"md5":"f3ce458477ddba84f53bbf1d59236969","updated":"2026-11-04"},{"sheet":"2000-digital-zoning-p10","name":"2000-digital-zoning-sheet-2000-digital-zoning-p10.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/7f0529a541501cf069436675172822db/2000-digital-zoning-sheet-2000-digital-zoning-p10.tif","bytes":3871618,"md5":"7f0529a541501cf069436675172822db","updated":"2026-11-04"},{"sheet":"2000-digital-zoning-p11","name":"2000-digital-zoning-sheet-2000-digital-zoning-p11.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/d16469d12c0a80ad6c54410940660fa0/2000-digital-zoning-sheet-2000-digital-zoning-p11.tif","bytes":4340950,"md5":"d16469d12c0a80ad6c54410940660fa0","updated":"2026-11-04"},{"sheet":"2000-digital-zoning-p12","name":"2000-digital-zoning-sheet-2000-digital-zoning-p12.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/7af0d1685744e9e67085f98ce3bb9f41/2000-digital-zoning-sheet-2000-digital-zoning-p12.tif","bytes":3933907,"md5":"7af0d1685744e9e67085f98ce3bb9f41","updated":"2026-11-04"},{"sheet":"2000-digital-zoning-p13","name":"2000-digital-zoning-sheet-2000-digital-zoning-p13.tif","url":"https://zwgxwpoxqzfauqfg.public.blob.vercel-storage.com/downloads/sheets/cb21da3ff08a2933f1c533e58ed3534f/2000-digital-zoning-sheet-2000-digital-zoning-p13.tif","bytes":2180095,"md5":"cb21da3ff08a2933f1c533e58ed3534f","updated":"2026-11-04"}]}},"superseded":[]}