{"version":1,"generated":"2026-10-09","note":"Context layers for the Fact Lease map. Public data only. Each layer names its source, license, and as-of date. Not a Fact Lease measurement and not a listing-status claim. Some layers are not published.","layers":[{"id":"anchors","title":"Anchors: grocery, hospitals, campuses","group":"business","why":"Marks grocery stores, big-box stores, malls, hospitals, colleges, stadiums, and airports that draw people past a site.","status":"shipped","geometry":"point","cities":{"san-antonio":{"status":"shipped","reason":null,"file":"/layers/anchors/san-antonio.geojson","asOf":"2026-10-08","period":"OpenStreetMap extract 2026-10-08","geography":"OpenStreetMap node, or way or relation center","featureCount":435,"bytes":80509},"houston":{"status":"shipped","reason":null,"file":"/layers/anchors/houston.geojson","asOf":"2026-10-08","period":"OpenStreetMap extract 2026-10-08","geography":"OpenStreetMap node, or way or relation center","featureCount":1306,"bytes":240696}},"sources":[{"name":"OpenStreetMap","shortName":"OSM","requiredCredit":"© OpenStreetMap contributors","url":"https://www.openstreetmap.org/copyright","license":"Open Database License (ODbL) 1.0. This GeoJSON is a derivative database.","licenseUrl":"https://www.openstreetmap.org/copyright","attribution":"© OpenStreetMap contributors","retrieved":"2026-10-08"}],"style":{"kind":"points","field":"cat","breaks":[],"colors":[],"categories":[{"value":"supermarket","label":"Grocery","letter":"G","color":"#f1f5fb","colorLight":"#172033"},{"value":"bigbox","label":"Department store or big-box","letter":"D","color":"#f1f5fb","colorLight":"#172033"},{"value":"mall","label":"Shopping center or mall","letter":"P","color":"#f1f5fb","colorLight":"#172033"},{"value":"hospital","label":"Hospital","letter":"H","color":"#f1f5fb","colorLight":"#172033"},{"value":"campus","label":"University or college","letter":"U","color":"#f1f5fb","colorLight":"#172033"},{"value":"stadium","label":"Stadium or arena","letter":"E","color":"#f1f5fb","colorLight":"#172033"},{"value":"airport","label":"Airport","letter":"A","color":"#f1f5fb","colorLight":"#172033"}],"unit":null,"format":"text","minzoom":11},"popup":[{"field":"name","label":"Name","format":"text"},{"field":"cat","label":"Category","format":"text"},{"field":"osm","label":"OpenStreetMap","format":"text"}],"method":"One Overpass query per metro bbox (San Antonio west -99.15 south 28.95 east -97.9 north 29.95; Houston west -96.2 south 28.9 east -94.6 north 30.4) to https://overpass.openstreetmap.fr/api/interpreter, with the Fact Lease layer user agent, cached, and spaced so the two cities are not sent together. https://overpass-api.de/api/interpreter reset the TLS handshake on this refresh (unexpected EOF), so the extract is the same query against the public Overpass instance that answered. Categories are shop=supermarket (grocery); shop=department_store and shop=wholesale (department or big-box); shop=mall (shopping center or mall); amenity=hospital; amenity=university or amenity=college; leisure=stadium (stadium or arena); aeroway=aerodrome with a 3-letter iata tag. A node uses its coordinate. A way or relation uses the Overpass center. disused=yes, abandoned=yes, and demolished=yes are dropped. The name is the OSM name tag, or name:en when name is absent, otherwise null. No address, brand, or operator is copied. Two features with the same category and the same name within 80 meters collapse to one pin (a way kept ahead of a relation, then a node) so a building outline and its node are not both drawn. This GeoJSON is a derivative database of OpenStreetMap offered under the Open Database License 1.0. Credit © OpenStreetMap contributors, and share any derivative database under the same license.","caveat":"These are OpenStreetMap tags, not a verified tenant list and not a Fact Lease measurement. Coverage depends on what volunteers have mapped. The file is a derivative database under ODbL 1.0; attribute © OpenStreetMap contributors. Names are the OSM name only. Letters on the map are G grocery, D department or big-box, P mall, H hospital, U university or college, E stadium, A airport.","refresh":"scripts/layers/refresh-anchors.mts","ownerHold":false},{"id":"business-mix","title":"Business establishments","group":"business","why":"Shows how many employer establishments sit in each ZIP, and which sectors account for that count.","status":"shipped","geometry":"polygon","cities":{"san-antonio":{"status":"shipped","reason":null,"file":"/layers/business-mix/san-antonio.geojson","asOf":"2023-03-12","period":"2023","geography":"Census ZIP Code Tabulation Area","featureCount":89,"bytes":155966},"houston":{"status":"shipped","reason":null,"file":"/layers/business-mix/houston.geojson","asOf":"2023-03-12","period":"2023","geography":"Census ZIP Code Tabulation Area","featureCount":253,"bytes":378581}},"sources":[{"name":"U.S. Census Bureau ZIP Code Business Patterns","shortName":"Census ZBP","url":"https://www.census.gov/data/datasets/2023/econ/cbp/2023-cbp.html","license":"Public domain (U.S. Government work)","licenseUrl":"https://www.census.gov/topics/research/research-transparency-public-access/open-data.html","attribution":"U.S. Census Bureau, ZIP Code Business Patterns","retrieved":"2026-10-08","cities":["san-antonio","houston"]},{"name":"U.S. Census Bureau 2010 Gazetteer (ZCTA land area)","shortName":"Census Gazetteer","url":"https://www2.census.gov/geo/docs/maps-data/data/gazetteer/Gaz_zcta_national.zip","license":"Public domain (U.S. Government work)","licenseUrl":"https://www.census.gov/topics/research/research-transparency-public-access/open-data.html","attribution":"U.S. Census Bureau, Gazetteer Files","retrieved":"2026-10-08","cities":["san-antonio"]},{"name":"U.S. Census Bureau 2020 Gazetteer (ZCTA land area)","shortName":"Census Gazetteer","url":"https://www2.census.gov/geo/docs/maps-data/data/gazetteer/2020_Gazetteer/2020_Gaz_zcta_national.zip","license":"Public domain (U.S. Government work)","licenseUrl":"https://www.census.gov/topics/research/research-transparency-public-access/open-data.html","attribution":"U.S. Census Bureau, Gazetteer Files","retrieved":"2026-10-08","cities":["houston"]}],"style":{"kind":"choropleth","field":"perSqMi","breaks":[2.8,20.8,49,96.3],"colors":["#440154","#3b528b","#21918c","#5ec962","#fde725"],"colorsLight":["#fde725","#5ec962","#21918c","#3b528b","#440154"],"categories":[],"unit":"per sq mi","format":"dec1","minzoom":0},"popup":[{"field":"name","label":"ZIP","format":"text"},{"field":"perSqMi","label":"Establishments per sq mi","format":"dec1"},{"field":"estab","label":"Establishments","format":"int"},{"field":"top","label":"Top sectors","format":"text"},{"field":"emp","label":"Employees (mid-March)","format":"int"},{"field":"emp_nf","label":"Employment noise flag","format":"text"}],"method":"Figures are U.S. Census Bureau ZIP Code Business Patterns for 2023, the newest reference year whose bulk file was on www2.census.gov when this layer was refreshed. The Census Data API at api.census.gov/data/2023/cbp requires a key and was not called; the script reads the same product's bulk files zbp23totals.zip (total establishments and mid-March employment) and zbp23detail.zip (establishments by NAICS sector). The detail file stores each sector as a 6-character root: 44---- is retail trade (NAICS 44-45), 31---- is manufacturing (31-33), and 42----, 52----, 53----, 54----, 62----, and 72---- are wholesale, finance and insurance, real estate, professional services, health care, and accommodation and food. The national file has no separate 32----, 33----, or 45---- row; 3-digit rows such as 339/// and 445/// sit under those roots and are not added again. A sector count is 0 when Census published the ZIP and omitted that sector. Establishment counts are not suppressed; a sector with no establishments is left out of the file. A ZIP Census does not publish stays null on every count, including the total, rather than zero. A repeated sector row keeps the first count and is not summed. Employment is the published noise-infused count when emp_nf is G (under 2 percent), H (2 percent to under 5 percent), or J (5 percent or more), including a published zero. Flags D, S, and N, and the older A-M suppression letters, withhold the count (Census replaces it with zero) and this layer stores null. Size-class columns are ignored: an N there is not a number, and summing the classes would invent a total the file does not publish. The map classes establishments per square mile of ZCTA land. San Antonio polygons are 2010 ZCTAs, so the denominator is ALAND_SQMI from the 2010 Gazetteer (Gaz_zcta_national.zip, the file whose columns include POP10 and HU10). Houston polygons are 2020 ZCTAs, so the denominator is ALAND_SQMI from the 2020 Gazetteer. The rate is the establishment total divided by the Gazetteer's published ALAND_SQMI, rounded to one decimal. It is not measured from the simplified polygon. A ZIP with no positive land area stays null rather than switching to the raw count. Polygons are the ZCTA shapes already on the rent map, copied here and not edited in public/map. A ZIP code is not the same boundary as a ZCTA. Class breaks are quintiles of the painted values across both cities. The top-sectors line is up to three sectors with a count above zero, written as the sector name, the count, and of the ZIP total.","caveat":"ZIP Code Business Patterns count establishments with paid employees during the week of March 12. They leave out businesses with no paid employees, and they are not a storefront count or a leasing inventory. A ZIP code is not the same area as the ZCTA drawn here. Employment is noise-infused and is blank when Census withholds it. A sector shows 0 only when Census published the ZIP and left that sector out. A ZIP Census does not publish is blank, not zero. Per square mile uses Gazetteer land area for the ZCTA vintage named in the method, not the area of the simplified polygon.","refresh":"scripts/layers/refresh-business-mix.mts","ownerHold":false},{"id":"crime","title":"Reported incidents per sq mi","group":"safety","why":"Official reported-incident counts by area, for a place you might lease.","status":"shipped","geometry":"polygon","cities":{"san-antonio":{"status":"shipped","file":"/layers/crime/san-antonio.geojson","asOf":"2026-09-30","period":"Oct 2025 to Sep 2026","geography":"ZIP","featureCount":61,"bytes":85810,"reason":null,"breaks":[43.4,131.3,272.5,478.7],"coverage":"/layers/crime/san-antonio-coverage.geojson","coverageLabel":"SAPD jurisdiction"},"houston":{"status":"shipped","file":"/layers/crime/houston.geojson","asOf":"2024-12-31","period":"Jan 2024 to Dec 2024","geography":"HPD beat","featureCount":117,"bytes":138725,"reason":null,"breaks":[171.2,349.1,496.4,714.5],"coverage":"/layers/crime/houston-coverage.geojson","coverageLabel":"HPD jurisdiction"}},"sources":[{"name":"City of San Antonio Open Data, SAPD Offenses","shortName":"SAPD offenses","requiredCredit":"City of San Antonio, SAPD Offenses (https://data.sanantonio.gov/dataset/sapd-offenses), licensed CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/).","url":"https://data.sanantonio.gov/dataset/sapd-offenses","license":"Creative Commons Attribution 4.0","licenseUrl":"https://creativecommons.org/licenses/by/4.0/","attribution":"City of San Antonio, SAPD Offenses","retrieved":"2026-10-08","cities":["san-antonio"]},{"name":"US Census Bureau 2010 ZIP Code Tabulation Areas","shortName":"Census ZCTA","url":"https://www.census.gov/geographies/mapping-files/time-series/geo/carto-boundary-file.html","license":"Public domain (US government work)","licenseUrl":"https://www.census.gov/about/policies/open-gov/open-data.html","attribution":"US Census Bureau 2010 ZCTAs, the same polygons as the Fact Lease rent map","retrieved":"2026-10-08","cities":["san-antonio"]},{"name":"City of Houston GIS, HPD NIBRS Yearly Cases (2020-2024)","shortName":"HPD NIBRS","url":"https://services.arcgis.com/NummVBqZSIJKUeVR/arcgis/rest/services/HPD_NIBRS_Yearly_Cases/FeatureServer","license":"Public domain (City of Houston GIS; COHGIS data may be copied without permission)","licenseUrl":"https://www.arcgis.com/home/item.html?id=493390fd87b743e8866e37a993b43c5f","attribution":"Houston Police Department and Houston Information Technology Services (HITS-GIS)","retrieved":"2026-10-08","cities":["houston"]},{"name":"City of Houston GIS, Houston Police Beats","shortName":"HPD beats","url":"https://services.arcgis.com/NummVBqZSIJKUeVR/arcgis/rest/services/COH_Houston_Police_Beats_view/FeatureServer/6","license":"Public domain (City of Houston GIS; COHGIS data may be copied without permission)","licenseUrl":"https://www.arcgis.com/home/item.html?id=f11010a697c844b18e36d126e29791fd","attribution":"Houston Police Department, HITS-GIS. Beat boundaries updated June 2025.","retrieved":"2026-10-08","cities":["houston"]},{"name":"City of San Antonio, city boundary","shortName":"COSA limits","url":"https://services1.arcgis.com/8onVmslF2KXErTHT/ArcGIS/rest/services/CoSABoundary/FeatureServer/2","license":"City of San Antonio GIS warranty disclaimer; the item states no prohibition on copying","licenseUrl":"https://www.arcgis.com/home/item.html?id=5eacb8f2166543c1b673a8484e370c74","attribution":"City of San Antonio Planning and Community Development Department, Comprehensive Division","retrieved":"2026-10-08","cities":["san-antonio"]},{"name":"City of Houston GIS, City Limits (full police service)","shortName":"COH limits","url":"https://services.arcgis.com/NummVBqZSIJKUeVR/arcgis/rest/services/City_Limits/FeatureServer/1","license":"Public domain (City of Houston GIS). This item's license text is blank. Sibling COHGIS HPD layers on the same organization say COHGIS data is in the public domain and may be copied without permission.","licenseUrl":"https://www.arcgis.com/home/item.html?id=4195abc2c4a847fa96b70e5ff0df489d","attribution":"City of Houston Police Department mapping, City Limits (full police service)","retrieved":"2026-10-08","cities":["houston"]}],"style":{"kind":"choropleth","field":"perSqMi","breaks":[43.4,131.3,272.5,478.7],"colors":["#2a2d45","#434766","#63688a","#8f93b0","#c4c7da"],"colorsLight":["#d9dbe7","#babdd0","#9497b4","#6b6e94","#45496f"],"categories":[],"unit":"reported incidents per square mile","format":"dec1","minzoom":0},"popup":[{"field":"label","label":"Area","format":"text"},{"field":"total","label":"Reported incidents, 12 months","format":"int"},{"field":"person","label":"Against person","format":"int"},{"field":"property","label":"Against property","format":"int"},{"field":"society","label":"Against society","format":"int"},{"field":"pop","label":"Residents","format":"int"},{"field":"rate","label":"Per 1,000 residents","format":"dec1"},{"field":"perSqMi","label":"Reported incidents per sq mi","format":"dec1"},{"field":"period","label":"Period","format":"text"}],"method":"San Antonio counts each SAPD offense row whose NIBRS crime-against value is person, property, or society, for Oct 2025 to Sep 2026. A month is included only when the extract's latest report date in that month is the last calendar day, and the twelve months are consecutive. Rows without a five-digit ZIP are omitted. 53 offenses in that window have a ZIP with no polygon in the Census 2010 ZCTA file used here; they are not drawn and not assigned to a neighbor. San Antonio is drawn by ZIP. A ZIP can cross agency lines, so the polygon is not an SAPD boundary. Houston counts Group A offense counts from the City of Houston GIS republish of HPD's public NIBRS yearly file for Jan 2024 to Dec 2024, summed by beat. Month row counts in that file are 17540, 16764, 18074, 18871, 19623, 18561, 18257, 18263, 17930, 17961, 16579, 16708. Group B rows and justifiable homicide are omitted because that file does not give them a crime-against category. 1564 Group A offenses have a blank beat or a code that is not an HPD beat id (including out-of-jurisdiction and campus codes) and are omitted. 4172 Group A offenses sit on a beat id with no polygon in the June 2025 beat file and are omitted. NIBRSPublicView2025.csv returned HTTP 302 to /. NIBRSPublicView2026.csv returned HTTP 302 to /. The map uses the City of Houston GIS republish of the calendar year that could be read here, not those yearly CSV files. The map paints reported incidents per square mile. Quintile breaks are the fifths of areas in that city only, at one decimal. Houston and San Antonio are not placed on one shared threshold. api.census.gov requires a key this refresh does not have, and no beat-population crosswalk is used, so resident population and the per-1,000 rate are left blank. Per square mile uses the city's published beat area when the polygon carries one, otherwise the polygon area. A very small beat can show a large per-square-mile figure because that published area is the denominator. Sheriff, constable, school-district, and university police reports are not in these counts. Houston beats are Houston Police Department geography and do not cover the rest of Greater Houston. FBI and Texas DPS figures are agency-wide only and are not split onto these areas. The San Antonio coverage polygon is the City of San Antonio boundary published by its Planning and Community Development Department. The Houston coverage polygon is the City of Houston limit where the city's police-service field is full.","caveat":"Reported incidents only, published by the San Antonio Police Department (SAPD) or the Houston Police Department (HPD) for the city on the map. Sheriff, constable, school-district, and university police are not included. Not all crime is reported. Counts follow where people are, including daytime populations and retail centers, not only residents. Beats and ZIP areas differ in size. In San Antonio a ZIP can cross agency lines and is not an SAPD service area. Read this alongside other information. A per-resident rate is left blank where resident population is under 1,000 or was not published for that area.","refresh":"scripts/layers/refresh-crime.mts","ownerHold":false},{"id":"demographics","title":"Median household income","group":"people","why":"See the median household income of the census tract around an address, with the published margin of error.","status":"shipped","geometry":"polygon","cities":{"san-antonio":{"status":"shipped","file":"/layers/demographics/san-antonio.geojson","asOf":"2024-12-31","period":"2020-2024","geography":"Census tract","featureCount":449,"bytes":286419,"reason":null},"houston":{"status":"shipped","file":"/layers/demographics/houston.geojson","asOf":"2024-12-31","period":"2020-2024","geography":"Census tract","featureCount":1381,"bytes":715339,"reason":null}},"sources":[{"name":"U.S. Census Bureau, American Community Survey 5-year","shortName":"ACS 5-yr","url":"https://www2.census.gov/programs-surveys/acs/summary_file/2024/table-based-SF/data/5YRData/","license":"U.S. government work, public domain","licenseUrl":"https://www.census.gov/about/policies/open-gov/open-data.html","attribution":"U.S. Census Bureau, American Community Survey 5-year estimates","retrieved":"2026-10-08"},{"name":"U.S. Census Bureau, TIGER/Line 2024 census tracts","shortName":"TIGER/Line","url":"https://www2.census.gov/geo/tiger/TIGER2024/TRACT/tl_2024_48_tract.zip","license":"U.S. government work, public domain","licenseUrl":"https://www.census.gov/about/policies/open-gov/open-data.html","attribution":"U.S. Census Bureau, TIGER/Line","retrieved":"2026-10-08"}],"style":{"kind":"choropleth","field":"mhi","breaks":[49000,66000,84000,114000],"colors":["#123d47","#17656f","#1f8f96","#54bfc0","#a8e8e0"],"colorsLight":["#c6e8e4","#91cfcc","#58b0b2","#2a868d","#0d5a63"],"categories":[],"unit":"US dollars","format":"usd","minzoom":0},"popup":[{"field":"name","label":"Census tract","format":"text"},{"field":"pop","label":"Population","format":"int"},{"field":"hh","label":"Households","format":"int"},{"field":"age","label":"Median age","format":"dec1"},{"field":"mhi","label":"Median household income","format":"usd"},{"field":"mhiMoe","label":"Margin of error (±)","format":"usd"},{"field":"pci","label":"Per capita income","format":"usd"},{"field":"year","label":"ACS end year","format":"int"},{"field":"moeLarge","label":"Large margin of error","format":"text"}],"method":"Population (B01003), households (B11001), median age (B01002), median household income and its 90 percent margin of error (B19013), and per capita income (B19301) are the published ACS 2024 5-year estimates for the census tract. A Census sentinel such as -666666666 is stored as null. moeLarge is true when (margin of error / 1.645) / median household income is over 0.30. The Census data API redirected a keyless request to its missing-key page, so these figures are the same release's table-based summary file. Class breaks are quintiles of median household income for the tracts shipped in both cities, rounded to the nearest $1,000. TIGERweb rejected the request from this network, so tract lines are TIGER/Line 2024 census tracts (NAD83 geographic, about a meter from WGS84 in Texas). Land area is the TIGER ALAND field, not the simplified polygon. Drawn coordinates use Douglas-Peucker tolerance 0.0005 degrees and 5 decimal places.","caveat":"A 5-year estimate is not one year. The margin of error is the published 90 percent margin for median household income, shown as ± that amount. A large margin (coefficient of variation over 30 percent) is flagged. A figure the Census Bureau did not publish is blank, not zero. This is an area figure, not a figure for any suite.","refresh":"scripts/layers/refresh-census.mts","ownerHold":false},{"id":"flood","title":"Flood zones","group":"risk","why":"Shows the effective FEMA flood zone at a site: the regulatory floodway, the 1% annual-chance area, and the 0.2% area.","status":"shipped","geometry":"polygon","cities":{"san-antonio":{"status":"shipped","file":null,"asOf":"2026-06-10","period":"FIRM effective 2005-09-02 to 2026-06-10","geography":"FEMA flood hazard zone","featureCount":8261,"bytes":18579216,"reason":null,"chunks":{"cellDeg":0.1,"cells":["808_1190","808_1191","808_1192","808_1193","808_1194","808_1195","808_1196","808_1197","808_1198","808_1199","809_1190","809_1191","809_1192","809_1193","809_1194","809_1195","809_1196","809_1197","809_1198","809_1199","810_1190","810_1191","810_1192","810_1193","810_1194","810_1195","810_1196","810_1197","810_1198","810_1199","811_1189","811_1190","811_1191","811_1192","811_1193","811_1194","811_1195","811_1196","811_1197","811_1198","811_1199","812_1189","812_1190","812_1191","812_1192","812_1193","812_1194","812_1195","812_1196","812_1197","812_1198","812_1199","813_1189","813_1190","813_1191","813_1192","813_1193","813_1194","813_1195","813_1196","813_1197","813_1198","813_1199","814_1189","814_1190","814_1191","814_1192","814_1193","814_1194","814_1195","814_1196","814_1197","814_1198","814_1199","815_1189","815_1190","815_1191","815_1192","815_1193","815_1194","815_1195","815_1196","815_1197","815_1198","815_1199","816_1189","816_1190","816_1191","816_1192","816_1193","816_1194","816_1195","816_1196","816_1197","816_1198","816_1199","817_1189","817_1190","817_1191","817_1192","817_1193","817_1194","817_1195","817_1196","817_1197","817_1198","817_1199","818_1189","818_1190","818_1191","818_1192","818_1193","818_1194","818_1195","818_1196","818_1197","818_1198","818_1199","819_1189","819_1190","819_1191","819_1192","819_1193","819_1194","819_1195","819_1196","819_1197","819_1198","819_1199","820_1189","820_1190","820_1191","820_1192","820_1193","820_1194","820_1195","820_1196","820_1197","820_1198","820_1199"],"pattern":"/layers/flood/san-antonio/{cell}.geojson"}},"houston":{"status":"shipped","file":null,"asOf":"2021-01-29","period":"FIRM effective 2006-04-05 to 2021-01-29","geography":"FEMA flood hazard zone","featureCount":19774,"bytes":50202627,"reason":null,"chunks":{"cellDeg":0.1,"cells":["837_1189","837_1190","837_1191","837_1192","837_1193","837_1194","837_1195","837_1196","837_1197","837_1198","837_1199","837_1200","837_1201","837_1202","837_1203","837_1204","838_1189","838_1190","838_1191","838_1192","838_1193","838_1194","838_1195","838_1196","838_1197","838_1198","838_1199","838_1200","838_1201","838_1202","838_1203","838_1204","839_1189","839_1190","839_1191","839_1192","839_1193","839_1194","839_1195","839_1196","839_1197","839_1198","839_1199","839_1200","839_1201","839_1202","839_1203","839_1204","840_1189","840_1190","840_1191","840_1192","840_1193","840_1194","840_1195","840_1196","840_1197","840_1198","840_1199","840_1200","840_1201","840_1202","840_1203","840_1204","841_1189","841_1190","841_1191","841_1192","841_1193","841_1194","841_1195","841_1196","841_1197","841_1198","841_1199","841_1200","841_1201","841_1202","841_1203","841_1204","842_1189","842_1190","842_1191","842_1192","842_1193","842_1194","842_1195","842_1196","842_1197","842_1198","842_1199","842_1200","842_1201","842_1202","842_1203","842_1204","843_1189","843_1190","843_1191","843_1192","843_1193","843_1194","843_1195","843_1196","843_1197","843_1198","843_1199","843_1200","843_1201","843_1202","843_1203","843_1204","844_1189","844_1190","844_1191","844_1192","844_1193","844_1194","844_1195","844_1196","844_1197","844_1198","844_1199","844_1200","844_1201","844_1202","844_1203","844_1204","845_1189","845_1190","845_1191","845_1192","845_1193","845_1194","845_1195","845_1196","845_1197","845_1198","845_1199","845_1200","845_1201","845_1202","845_1203","845_1204","846_1189","846_1190","846_1191","846_1192","846_1193","846_1194","846_1195","846_1196","846_1197","846_1198","846_1199","846_1200","846_1201","846_1202","846_1203","846_1204","847_1189","847_1190","847_1191","847_1192","847_1193","847_1194","847_1195","847_1196","847_1197","847_1198","847_1199","847_1200","847_1201","847_1202","847_1203","847_1204","848_1189","848_1190","848_1191","848_1192","848_1193","848_1194","848_1195","848_1196","848_1197","848_1198","848_1199","848_1200","848_1201","848_1202","848_1203","848_1204","849_1189","849_1190","849_1191","849_1192","849_1193","849_1194","849_1195","849_1196","849_1197","849_1198","849_1199","849_1200","849_1201","849_1202","849_1203","849_1204","850_1190","850_1191","850_1192","850_1193","850_1194","850_1195","850_1196","850_1197","850_1198","850_1199","850_1200","850_1201","850_1202","850_1203","850_1204","851_1190","851_1191","851_1192","851_1193","851_1194","851_1195","851_1196","851_1197","851_1198","851_1199","851_1200","851_1201","851_1202","851_1203","851_1204","852_1190","852_1191","852_1192","852_1193","852_1194","852_1195","852_1196","852_1197","852_1198","852_1199","852_1200","852_1201","852_1202","852_1203","852_1204","853_1190","853_1191","853_1192","853_1193","853_1194","853_1195","853_1196","853_1197","853_1198","853_1199","853_1200","853_1201","853_1202","853_1203","854_1190","854_1191","854_1192","854_1193","854_1194","854_1195","854_1196","854_1197","854_1198","854_1199","854_1200","854_1201"],"pattern":"/layers/flood/houston/{cell}.geojson"}}},"sources":[{"name":"FEMA National Flood Hazard Layer","shortName":"FEMA NFHL","url":"https://hazards.fema.gov/arcgis/rest/services/public/NFHL/MapServer","license":"Public domain (U.S. government work)","licenseUrl":"https://hazards.fema.gov/femaportal/resources/flood_map_svc.htm","attribution":"Federal Emergency Management Agency","retrieved":"2026-10-08"}],"style":{"kind":"categorical","field":"cat","breaks":[],"colors":[],"colorsLight":[],"categories":[{"value":"floodway","label":"Floodway","color":"#8fd0ff","colorLight":"#0b5394"},{"value":"1pct","label":"1% annual chance","color":"#3f8fd6","colorLight":"#2a6fb5"},{"value":"0.2pct","label":"0.2% annual chance","color":"#a7b8d1","colorLight":"#7c8fab"}],"unit":null,"format":"text","minzoom":10},"popup":[{"field":"zone","label":"Zone","format":"text"},{"field":"sub","label":"Class","format":"text"},{"field":"sfha","label":"SFHA","format":"text"},{"field":"name","label":"Area","format":"text"}],"method":"Effective FEMA NFHL only (MapServer public/NFHL layer 28, Flood Hazard Zones / S_FLD_HAZ_AR). Preliminary FIRMs, pending layers, and Harris County MAAPnext are not read. Polygons with SFHA_TF = T are kept: a ZONE_SUBTY containing FLOODWAY, ENCROACHMENT, or FLOWAGE EASEMENT is cat floodway; every other SFHA zone (A, AE, AH, AO, A99, V, VE, and any other SFHA code) is cat 1pct. A ZONE_SUBTY containing 0.2 PCT or 0.2 PERCENT is cat 0.2pct (shaded Zone X). Plain Zone X and Zone D are not drawn. The service generalizes at maxAllowableOffset 0.0001 degrees (about 11 m) in WGS84; coordinates are then rounded to 4 decimals. A polygon still over 80 KB, or a cell over 400 KB, is simplified further (up to about 0.003 degrees). Each polygon is copied into every 0.1 degree cell its bounding box touches inside the metro envelope. Polygons are not clipped to the cell, so the same feature id (FLD_AR_ID) can appear in neighboring cells and can be slightly coarser in a dense cell. Dedupe drawn copies by feature id. FIRM panel effective dates are the minimum and maximum EFF_DATE on layer 3 inside the same envelope. A polygon that collapses under generalization is omitted from the map. A suite zone in at-buildings.json is a separate unsimplified point query against the same effective layer.","caveat":"These are regulatory zones on the effective Flood Insurance Rate Map, not a forecast that a building will flood. Confirm a site on the official FIRM or FIRMette at https://msc.fema.gov. Houston has many Letters of Map Revision, and Atlas 14 rainfall studies are not effective on every panel. Shapes on this map are generalized. A zone stored for a suite comes from a separate unsimplified point query and can still disagree with the building when the Census address point sits in the street.","refresh":"scripts/layers/refresh-flood.mts","ownerHold":false},{"id":"incentives","title":"Opportunity Zones and TIRZ","group":"incentives","why":"A tenant can see whether a site sits in a 2018 designated Opportunity Zone or a tax increment reinvestment zone.","status":"shipped","geometry":"polygon","cities":{"san-antonio":{"status":"shipped","file":"/layers/incentives/san-antonio.geojson","asOf":"2026-06-11","period":"Designated 2018; TIRZ boundaries as of 11 Jun 2026","geography":"Census tract (Opportunity Zone) and TIRZ boundary","featureCount":45,"bytes":40553,"reason":null},"houston":{"status":"shipped","file":"/layers/incentives/houston.geojson","asOf":"2023-05-24","period":"Designated 2018; TIRZ boundaries as of 24 May 2023","geography":"Census tract (Opportunity Zone) and TIRZ boundary","featureCount":174,"bytes":163251,"reason":null}},"sources":[{"name":"CDFI Fund Opportunity Zones (HUD map of tracts designated in 2018)","shortName":"CDFI Fund OZ","url":"https://services.arcgis.com/VTyQ9soqVukalItT/arcgis/rest/services/Opportunity_Zones/FeatureServer/13","license":"Public domain (U.S. Government work, 17 U.S.C. § 105).","licenseUrl":null,"attribution":"U.S. Department of Housing and Urban Development","retrieved":"2026-10-08"},{"name":"City of San Antonio — Tax Increment Reinvestment Zones","shortName":"COSA TIRZ","url":"https://services.arcgis.com/g1fRTDLeMgspWrYp/ArcGIS/rest/services/TIRZ/FeatureServer/11","license":"City of San Antonio Open Data Policy: data is open and free to reuse, republish, or manipulate without restriction, including commercial use. Portal terms grant a non-exclusive, revocable, as-is license.","licenseUrl":"https://www.sanantonio.gov/Portals/0/Files/ITSD/OpenData-Policy.pdf","attribution":"City of San Antonio GIS","retrieved":"2026-10-08","cities":["san-antonio"]},{"name":"City of Houston — Tax Increment Reinvestment Zones","shortName":"COH TIRZ","url":"https://geohwp.houstontx.gov/arcgis/rest/services/02_BaseData_Boundaries/COH/FeatureServer/9","license":"Public domain. COHGIS information may be copied without permission; citation of the source is appreciated. No warranty.","licenseUrl":"https://www.arcgis.com/home/item.html?id=7237db114eeb416cb481f4450d8a0fa6","attribution":"City of Houston, HITS-GIS","retrieved":"2026-10-08","cities":["houston"]},{"name":"City of Houston Mayor's Office of Economic Development — TIRZ roster","shortName":"COH TIRZ roster","url":"https://www.houstontx.gov/ecodev/tirz_info.html","license":"City of Houston public web page. Zone numbers are the published roster. The page is not a geometry source.","licenseUrl":null,"attribution":"City of Houston, Mayor's Office of Economic Development","retrieved":"2026-10-08","cities":["houston"]}],"style":{"kind":"outline","field":"kind","breaks":[],"colors":["#f1f5fb"],"colorsLight":["#172033"],"categories":[{"value":"oz","label":"Opportunity Zone (designated 2018)","color":"#f1f5fb","colorLight":"#172033"},{"value":"tirz","label":"TIRZ","color":"#f1f5fb","colorLight":"#172033"}],"unit":null,"format":"text","minzoom":9},"popup":[{"field":"name","label":"Name","format":"text"},{"field":"id","label":"Number","format":"text"},{"field":"kind","label":"Kind","format":"text"}],"method":"Opportunity Zone polygons are the HUD Opportunity Zones layer of tracts designated in 2018 (IRS Notice 2018-48, updated by Notice 2019-42; layer coverage date December 2019). The geometry edit date on that layer is not the designation date. Nominations for the 2027 round, including the Texas nominations sent to Treasury on 4 September 2026, are not drawn. A feature is kept only when the GEOID is 11 digits. The name is Census tract plus that GEOID. San Antonio keeps Bexar County (029). Houston keeps Harris (201), Fort Bend (157), Montgomery (339), Brazoria (039), Galveston (167), Waller (473), Liberty (291), Chambers (071), and Austin (015). A tract is kept whole when its bounding box intersects the city map frame. San Antonio TIRZ polygons are the City of San Antonio TIRZ layer. The id is the integer zone number and the name is the published name. That city's as-of date is the TIRZ layer's own dataLastEditDate. Houston TIRZ polygons are the COHGIS TIRZ layer, which stores a name and not a number. The number is joined from the Mayor's Office of Economic Development roster. The FY2026 adopted budget lists the same roster, records that TIRZ 4 Village Enclaves terminated on 31 December 2013, and records that TIRZ 28 Texas Medical Center was created on 14 December 2022. TIRZ 28 is not in the GIS file, so it is not on this map. One GIS polygon has a null name and ships with a null id rather than a guessed number. Any other unmatched name also keeps a null id. Houston's as-of date is the date printed in the layer description, which is the boundary file's own date. The map label is TIRZ plus the number, then the name. Both kinds are one FeatureCollection per city, Opportunity Zones first, then TIRZ, drawn as an outline overlay with no hue. Polygons are simplified and rounded to 4 decimals, and a ring that would collapse is kept. There is no city-limits coverage mask on this layer, because that mask would hide county Opportunity Zone tracts.","caveat":"These outlines are Opportunity Zones designated in 2018 (IRS Notice 2018-48, updated by Notice 2019-42), in effect through 31 December 2028, and city TIRZ boundaries. This map does not show tracts nominated for the 2027 round. Being inside a designated tract or a TIRZ is not a guarantee of any tax benefit or incentive. Houston's GIS file does not include Texas Medical Center (TIRZ 28).","refresh":"scripts/layers/refresh-incentives.mts","ownerHold":false},{"id":"permits","title":"Commercial building permits","group":"development","why":"Shows where the city has issued commercial building permits, a sign of construction activity around a site.","status":"shipped","geometry":"polygon","cities":{"san-antonio":{"status":"shipped","file":"/layers/permits/san-antonio.geojson","asOf":"2026-09-30","period":"Oct 2025 through Sep 2026","geography":"ZIP Code Tabulation Area","featureCount":89,"bytes":140136,"reason":null},"houston":{"status":"coming_soon","file":null,"asOf":null,"period":null,"geography":null,"featureCount":0,"bytes":0,"reason":"data.houstontx.gov publishes a citywide monthly residential permit summary under its open-data terms, not commercial permits by ZIP. The Houston Permitting Center publishes weekly Permit Activity Report workbooks (new construction, remodel, and change of use by ZIP) at https://www.houstonpermittingcenter.org/sold-permits-search but states no license that allows a redistributed derived layer. Individual commercial permits are behind a search page and Texas Public Information Act requests. This city is not shipped."}},"sources":[{"name":"City of San Antonio Development Services, PERMITS ISSUED","shortName":"COSA permits","requiredCredit":"City of San Antonio Development Services Department","url":"https://data.sanantonio.gov/dataset/building-permits/resource/c21106f9-3ef5-4f3a-8604-f992b4db7512","license":"Dataset license_id cc-by (Creative Commons Attribution), labeled on the Building Permits package. COSA Open Data Portal Terms of Use (last modified January 8, 2020) grant a non-exclusive revocable license to use and distribute, and require attribution to the department plus a citation of the webpage and the date. The ZIP counts are a modified aggregation, not official government data.","licenseUrl":"https://www.sanantonio.gov/Portals/0/Files/ITSD/COSA-OpenDataPortalTermsofUs.pdf","attribution":"City of San Antonio Development Services Department","retrieved":"2026-10-08","cities":["san-antonio"]}],"style":{"kind":"choropleth","field":"count","breaks":[5,14,26,37],"colors":["#0b2b5e","#35456c","#666970","#948e77","#c8b866"],"colorsLight":["#e9dd8f","#c8b866","#948e77","#4f5a75","#00224e"],"categories":[],"unit":"permits","format":"int","minzoom":0},"popup":[{"field":"name","label":"ZIP","format":"text"},{"field":"count","label":"Commercial permits","format":"int"},{"field":"valuation","label":"Declared valuation","format":"usd"},{"field":"valued","label":"Permits with a valuation","format":"int"}],"method":"Counts City of San Antonio building permits issued in the last 12 complete calendar months whose PERMIT TYPE and WORK TYPE are one of: Comm New Building Permit / New, Comm Addition Permit / New, Comm Remodel Permit / Existing, Comm Shell Permit / New (a new building shell), Comm Finish Out Permit / New (commercial interior finish-out). Trade permits, minor commercial repair, sitework, fences, and residential permits are not counted, so one project is not counted once per trade. The ZIP is the five-digit group at the end of the published address. A permit whose ZIP is not in the city's ZCTA file is left out. Duplicate permit numbers count once. Declared valuation is the sum of figures the city published on those permits; a blank is left out of the sum and is not stored as zero. The same project valuation is sometimes repeated on related permits, so the sum is not a de-duplicated construction cost. ZIPs with no matching permit keep count 0, which was observed, not estimated. Class breaks are quintiles of ZIPs with at least one counted permit. A count of 0 is not a quintile class. The ZIP counts and valuation sums are a Fact Lease aggregation of the city's permit file, not an official city table.","caveat":"Issued permits are not completed buildings and not a forecast. Declared valuation is the applicant's figure as the city published it. A blank valuation is omitted from the sum, and the same figure can appear on more than one permit for one project. Addresses and owner names are not shown.","refresh":"scripts/layers/refresh-permits.mts","ownerHold":false},{"id":"workforce","title":"Daytime workers per sq mi","group":"people","why":"See how many jobs are located in the tract, all jobs (JT00), per square mile of land.","status":"shipped","geometry":"polygon","cities":{"san-antonio":{"status":"shipped","file":"/layers/workforce/san-antonio.geojson","asOf":"2023-12-31","period":"2023","geography":"Census tract","featureCount":449,"bytes":281501,"reason":null},"houston":{"status":"shipped","file":"/layers/workforce/houston.geojson","asOf":"2023-12-31","period":"2023","geography":"Census tract","featureCount":1381,"bytes":700051,"reason":null}},"sources":[{"name":"U.S. Census Bureau, LEHD Origin-Destination Employment Statistics (LODES)","shortName":"LEHD LODES","url":"https://lehd.ces.census.gov/data/lodes/LODES8/tx/wac/tx_wac_S000_JT00_2023.csv.gz","license":"U.S. government work, public domain","licenseUrl":"https://www.census.gov/about/policies/open-gov/open-data.html","attribution":"U.S. Census Bureau, Longitudinal Employer-Household Dynamics, LODES 2023, all jobs (JT00)","retrieved":"2026-10-08"},{"name":"U.S. Census Bureau, TIGER/Line 2024 census tracts","shortName":"TIGER/Line","url":"https://www2.census.gov/geo/tiger/TIGER2024/TRACT/tl_2024_48_tract.zip","license":"U.S. government work, public domain","licenseUrl":"https://www.census.gov/about/policies/open-gov/open-data.html","attribution":"U.S. Census Bureau, TIGER/Line","retrieved":"2026-10-08"}],"style":{"kind":"choropleth","field":"jpsm","breaks":[220,530,1200,2800],"colors":["#3a1f4f","#5c2f78","#8446a0","#b071c6","#e0b3ea"],"colorsLight":["#ead5f0","#d5aee2","#b67fcc","#8f53ad","#62307f"],"categories":[],"unit":"all jobs (JT00) per square mile","format":"int","minzoom":0},"popup":[{"field":"name","label":"Census tract","format":"text"},{"field":"jobs","label":"All jobs (JT00)","format":"int"},{"field":"jpsm","label":"All jobs (JT00) per square mile","format":"int"},{"field":"retail","label":"Retail jobs","format":"int"},{"field":"food","label":"Accommodation and food jobs","format":"int"},{"field":"prof","label":"Professional services jobs","format":"int"},{"field":"health","label":"Health care jobs","format":"int"},{"field":"mfg","label":"Manufacturing jobs","format":"int"},{"field":"year","label":"LODES year","format":"int"}],"method":"All jobs (JT00), segment S000, from LEHD LODES 2023 workplace-area characteristics for Texas. Block rows (15-digit w_geocode) are summed to the census tract (first 11 digits): total jobs C000, manufacturing CNS05, retail CNS07, professional services CNS12, health care CNS16, and accommodation and food CNS18. Jobs per square mile is C000 divided by land area in square miles (TIGER ALAND in square meters / 2,589,988.110336), rounded to the nearest job. Blocks with no jobs are absent from LODES, so a tract in a county that was read and that has no rows is zero jobs. Class breaks are quintiles of jobs per square mile for the tracts shipped in both cities, rounded to 2 significant figures. TIGERweb rejected the request from this network, so tract lines are TIGER/Line 2024 census tracts (NAD83 geographic, about a meter from WGS84 in Texas). Land area is the TIGER ALAND field, not the simplified polygon. Drawn coordinates use Douglas-Peucker tolerance 0.0005 degrees and 5 decimal places.","caveat":"Counts are jobs located in the tract (the workplace, not the worker's home) and cover all jobs (JT00). LODES adds statistical noise, so a small count is not an exact job total. A tract with no rows is zero jobs because LODES omits blocks that have none. A tract with no land area has no jobs-per-square-mile figure. The vintage lags the calendar. This is an area figure, not a figure for any suite.","refresh":"scripts/layers/refresh-census.mts","ownerHold":false},{"id":"zoning","title":"Zoning","group":"land","why":"A tenant can see whether the city's base district is commercial, office, industrial, mixed use, residential, or special.","status":"shipped","geometry":"polygon","cities":{"san-antonio":{"status":"shipped","file":null,"asOf":"2026-10-04","period":"City GIS base districts","geography":"City of San Antonio base zoning district","featureCount":57140,"bytes":27118837,"reason":null,"chunks":{"cellDeg":0.025,"cells":["3243_4780","3243_4781","3244_4779","3244_4780","3244_4781","3245_4778","3245_4779","3245_4780","3245_4781","3246_4779","3246_4780","3246_4781","3247_4779","3247_4780","3247_4781","3247_4782","3248_4780","3248_4781","3248_4782","3248_4783","3248_4784","3249_4775","3249_4780","3249_4781","3249_4782","3249_4783","3249_4784","3250_4778","3250_4779","3250_4780","3250_4781","3250_4782","3250_4783","3250_4784","3251_4775","3251_4777","3251_4778","3251_4779","3251_4780","3251_4781","3251_4782","3251_4783","3251_4784","3252_4775","3252_4776","3252_4777","3252_4778","3252_4779","3252_4780","3252_4781","3252_4782","3252_4783","3252_4784","3253_4772","3253_4773","3253_4775","3253_4776","3253_4777","3253_4778","3253_4779","3253_4780","3253_4781","3253_4782","3253_4783","3253_4784","3253_4785","3254_4771","3254_4772","3254_4773","3254_4774","3254_4775","3254_4776","3254_4777","3254_4778","3254_4779","3254_4780","3254_4781","3254_4782","3254_4783","3254_4784","3254_4785","3254_4786","3254_4787","3255_4770","3255_4771","3255_4772","3255_4773","3255_4774","3255_4775","3255_4776","3255_4777","3255_4778","3255_4779","3255_4780","3255_4781","3255_4782","3255_4783","3255_4784","3255_4785","3255_4786","3255_4787","3256_4770","3256_4771","3256_4772","3256_4773","3256_4774","3256_4775","3256_4776","3256_4777","3256_4778","3256_4779","3256_4780","3256_4781","3256_4782","3256_4783","3256_4784","3256_4785","3257_4768","3257_4769","3257_4770","3257_4771","3257_4772","3257_4773","3257_4774","3257_4775","3257_4776","3257_4777","3257_4778","3257_4779","3257_4780","3257_4781","3257_4782","3257_4783","3257_4784","3257_4785","3258_4768","3258_4769","3258_4770","3258_4771","3258_4772","3258_4773","3258_4774","3258_4775","3258_4776","3258_4777","3258_4778","3258_4779","3258_4780","3258_4781","3258_4782","3258_4783","3258_4784","3258_4785","3259_4768","3259_4769","3259_4770","3259_4771","3259_4772","3259_4773","3259_4774","3259_4775","3259_4776","3259_4777","3259_4778","3259_4779","3259_4780","3259_4781","3259_4782","3259_4783","3259_4784","3259_4785","3259_4786","3259_4787","3260_4769","3260_4770","3260_4771","3260_4772","3260_4773","3260_4774","3260_4775","3260_4776","3260_4777","3260_4778","3260_4779","3260_4780","3260_4781","3260_4782","3260_4783","3260_4784","3260_4785","3260_4786","3260_4787","3261_4767","3261_4769","3261_4770","3261_4771","3261_4772","3261_4773","3261_4774","3261_4775","3261_4776","3261_4777","3261_4778","3261_4779","3261_4780","3261_4781","3261_4782","3261_4783","3261_4784","3261_4785","3261_4786","3261_4787","3261_4788","3262_4766","3262_4767","3262_4768","3262_4769","3262_4770","3262_4771","3262_4772","3262_4773","3262_4774","3262_4775","3262_4776","3262_4777","3262_4778","3262_4779","3262_4780","3262_4781","3262_4782","3262_4783","3262_4784","3262_4785","3262_4786","3262_4787","3262_4788","3263_4767","3263_4768","3263_4769","3263_4770","3263_4771","3263_4772","3263_4773","3263_4774","3263_4775","3263_4776","3263_4777","3263_4778","3263_4779","3263_4780","3263_4781","3263_4782","3263_4783","3263_4784","3263_4785","3264_4767","3264_4768","3264_4769","3264_4770","3264_4771","3264_4772","3264_4773","3264_4774","3264_4775","3264_4776","3264_4777","3264_4778","3264_4779","3264_4780","3264_4781","3264_4782","3264_4783","3264_4784","3264_4785","3265_4769","3265_4770","3265_4771","3265_4773","3265_4774","3265_4775","3265_4776","3265_4777","3265_4778","3265_4779","3265_4780","3265_4781","3265_4782","3265_4783","3265_4784","3265_4785","3265_4786","3266_4773","3266_4776","3266_4777","3266_4778","3266_4779","3266_4780","3266_4782","3266_4783","3266_4784","3266_4785","3266_4786","3267_4777","3267_4778","3267_4780","3267_4782","3267_4783","3267_4784","3268_4778","3268_4779","3269_4778","3269_4779","3270_4779","3271_4779"],"pattern":"/layers/zoning/san-antonio/{cell}.geojson"},"coverage":"/layers/zoning/san-antonio-coverage.geojson","coverageLabel":"San Antonio city limits"},"houston":{"status":"cut","file":null,"asOf":null,"period":null,"geography":null,"featureCount":0,"bytes":0,"reason":"Houston has no zoning ordinance"}},"sources":[{"name":"City of San Antonio — Zoning","shortName":"COSA zoning","url":"https://services.arcgis.com/g1fRTDLeMgspWrYp/ArcGIS/rest/services/COSA_Zoning/FeatureServer/12","license":"City of San Antonio Open Data Policy: data is open and free to reuse, republish, or manipulate without restriction, including commercial use. Portal terms grant a non-exclusive, revocable, as-is license.","licenseUrl":"https://www.sanantonio.gov/Portals/0/Files/ITSD/OpenData-Policy.pdf","attribution":"City of San Antonio GIS / Planning and Community Development","retrieved":"2026-10-08","cities":["san-antonio"]}],"style":{"kind":"categorical","field":"letter","breaks":[],"colors":["#e8dc62","#f0ad2a","#d68fb6","#2fbf93","#4a9de0"],"colorsLight":["#F0E442","#E69F00","#CC79A7","#009E73","#0072B2"],"categories":[{"value":"R","label":"Residential","color":"#e8dc62","colorLight":"#F0E442","letter":"R"},{"value":"C","label":"Commercial and office","color":"#f0ad2a","colorLight":"#E69F00","letter":"C"},{"value":"I","label":"Industrial","color":"#d68fb6","colorLight":"#CC79A7","letter":"I"},{"value":"M","label":"Mixed use","color":"#2fbf93","colorLight":"#009E73","letter":"M"},{"value":"S","label":"Special and other","color":"#4a9de0","colorLight":"#0072B2","letter":"S"}],"unit":null,"format":"text","minzoom":12},"popup":[{"field":"name","label":"District","format":"text"},{"field":"code","label":"Base code","format":"text"},{"field":"letter","label":"Family","format":"text"},{"field":"spec","label":"Special district","format":"text"}],"method":"San Antonio features come from the City of San Antonio COSA Zoning layer. Each polygon keeps the exact Base code. The family letter follows the base code when Base is present: SpecDistrict does not repaint it, and overlay districts are not painted. When Base is blank, the Zoning label is classified; if that is also blank, SpecDistrict is classified. R-*, RM-*, MF-*, RE, and RP are Residential (R). C-1, C-2, and C-3, including suffixes such as C-2NA, C-2P, and C-3R, plus NC, NC-, O-1, O-1.5, and O-2, are Commercial and office (C). OCL is not office. L, I-1, and I-2 are Industrial (I). MI-1 and MI-2 are Special and other (S), as are MH, DR, FR, RD, PUD, ED, AE, OCL, UZROW, and UNKNOWN. OCL and UZROW are not written as fills. OCL means outside the city limit, which the coverage mask explains. UZROW means unzoned right-of-way, so those street polygons are omitted. Both still classify as S. Exact D and UD, and codes starting with MXD, IDZ, TOD, or FBZ, are Mixed use (M). DR is Development Reserve, not Downtown D. The GIS spells the form-based district FBZ (for example FBZ T4 and FBZ T6-2). FBZD in the design spec is that same family, and the feature keeps the GIS spelling. Anything unrecognized is S and the source spelling is kept. No code is invented. Polygons are copied into every 0.025° cell the bounding box touches, inside the San Antonio map frame. The cell id is floor((lng+180)/0.025)_floor((lat+90)/0.025). A 0.05° cell cannot stay under 400 KB without deleting small districts: one downtown 0.05° cell is about 18,000 parcels and about 8 MB raw, and dissolving it still leaves shapes that fit 400 KB only by collapsing those lots. Cells at or under 400 KB ship as parcel polygons. A ring that would collapse under simplification is kept at the rounded original. A cell over 400 KB is clipped to the cell and dissolved with mapshaper on code, spec, letter, cat, and name, so different codes are not merged, then simplified the same way. featureCount counts written features, including a parcel listed in each cell its box touches. Coordinates are rounded to 5 decimals, or 4 after a dissolve. Houston is cut because the city has no zoning ordinance. The City of Houston land-use layer (appraisal-district use codes, COHGIS public domain, item 06b9106fb025429888d05f2602148a54) is existing use, not a legal district, so it is not drawn as zoning. HCAD parcels are not used. Deed restrictions have no citywide public GIS layer. A separate land-use layer would be an owner decision. The coverage polygon is the City of San Antonio boundary from COSABoundary, simplified, labeled San Antonio city limits. Incentive zones do not use a city-limits mask, because Opportunity Zone tracts extend into the county.","caveat":"Fills are the city's base zoning district on the as-of date. Overlay districts may also apply. Pending cases and specific use permits are not shown. Confirm the district with the city. The City of Houston has no zoning ordinance. Development follows Chapter 42 (subdivision rules) and private deed restrictions, which are recorded with the county clerk and are not mapped here.","refresh":"scripts/layers/refresh-zoning.mts","ownerHold":false}]}