County Mapping | Climate at a Glance (2023)

County Mapping

County Data Info

County Data Information

(Video) GIS day - a look back at mapping technology

County Data come from the U.S. Climate Divisional Database, which have data from 1895 to the present.

Access Data

Bulk Download All Months/Years: County Mapping | Climate at a Glance (1) County Mapping | Climate at a Glance (2) County Mapping | Climate at a Glance (3)

(Video) The 5 Best Mapping Tools

Download: CSV JSON XML

'; div.setAttribute("style","text-shadow: 1px 1px #fff;"); return div; }; mapTitle.addTo(map); // add map date dateDisplay = L.control({ position: "topright" }); dateDisplay.onAdd = function(map) { var div = L.DomUtil.create("div", "info title"); div.innerHTML = '

'; div.setAttribute("style","text-shadow: 1px 1px #fff;"); return div; }; dateDisplay.addTo(map); // text markers textLayer = L.layerGroup().addTo(map); // control that shows info on hover info = L.control({position: "bottomleft"}); info.onAdd = function(map){ var div = L.DomUtil.create("div", "info values hoverValues"),locationName; div.innerHTML = '

'+getDefaultHighlightInfo()+'

'; this.update(); return div; }; // update info on hover info.update = function(properties){ var content = '',locationName,value; if (properties) { if (scope == 'city') { value = (properties['name'] == missing ? '--' : properties['name']); } else { value = (values[properties.ID]['name'] == missing ? '--' : values[properties.ID]['name']); } content = '

'+value+'

'+ getHighlightValuesText(scope == 'city' ? properties : values[properties.ID]); } else { content = getDefaultHighlightInfo(); } $('#hoverInfo').html(content); }; info.addTo(map); var legend = L.control({ position: "bottomleft" }); legend.onAdd = function(map) { var div = L.DomUtil.create("div", "info legend"); div.innerHTML = '

'; div.setAttribute("style","text-shadow: 1px 1px #fff;"); return div; }; legend.addTo(map); var logo = L.control({position: "bottomright"}); logo.onAdd = function(map){ var div = L.DomUtil.create("div", "logo"); div.innerHTML = '

' + 'County Mapping | Climate at a Glance (4)' + '

(Video) Web Mapping for Every Discipline – How to Use ArcGIS Online (Graduate Student Essentials)

'; return div; }; logo.addTo(map); var resetBoundsControl = L.control({ position: "bottomright" }); resetBoundsControl.onAdd = function(map) { var div = L.DomUtil.create("div", "reset-bounds"); div.innerHTML = ''; return div; }; resetBoundsControl.addTo(map); // zoom controls L.control.zoom({ position:"topleft" }).addTo(map); var printer = L.easyPrint({ title: '', position: 'bottomleft', sizeModes: ['A4Landscape', 'A4Portrait','Current'], defaultSizeTitles: {A4Landscape: 'Export as PNG', A4Portrait: 'A4 Portrait', Current: 'Current Size'}, exportOnly: true, filename: 'map', hidden: false, hideControlContainer: false, hideClasses: ['reset-bounds','leaflet-control-zoom','leaflet-control-attribution','leaflet-control-easyPrint'] }).addTo(map);}function loaderOverlay(loaderOverlayId) { return '

'+ '

'+ 'County Mapping | Climate at a Glance (5)'+ '

'+ '

';}function getDefaultHighlightInfo(){ if (scope != 'city' && Object.keys(values).length < 2) { var locationName = (scope == "national" ? "Contiguous U.S." : $("#region option[value='"+region+"']").text()); var locationId = ((region >= 250 && region <= 265) || (region >= 350 && region <= 365) ? '5'+region.slice(-2) : region); return '

'+locationName+'

'+getHighlightValuesText(values[locationId]); } else { var hoverInstructions = 'Hover over a '; if (scope == 'city' || scope == 'county') hoverInstructions += scope; else if (scope == 'divisional') hoverInstructions += 'climate division'; else if (scope == 'statewide') hoverInstructions += 'state'; else hoverInstructions += 'region'; return '

'+ (scope == "national" ? "Contiguous U.S." : $("#region option[value='"+region+"']").text())+ ' ('+hoverInstructions+')'+ '

'+ getHighlightValuesText(initValues[region]); }}function getHighlightValuesText(highlightValues){ var highlightValuesText = '

'; $('#return input[name="return"]').each(function(){ var thisReturnType = $(this).attr('id'), returnDisplay = (highlightValues ? getValueDisplay(highlightValues[thisReturnType],thisReturnType) : ''); highlightValuesText += '

' + ''+ ( thisReturnType == 'value' ? '' + getParameterAbbr($("#parameter option[value='"+parameter+"']").text()) + '' + '' + $("#parameter option[value='"+parameter+"']").text() + '' : $("label[for='"+thisReturnType+"']").text())+ ': ' + ''+ (thisReturnType == 'rank' ? getRankDisplay(returnDisplay) : returnDisplay) + '' + '

'; }); highlightValuesText += '

(Video) Making the Most of Mapping on data.census.gov

'; return highlightValuesText;}function setLowestHighestText() { if (parameter == 'tavg' || parameter == 'tmax' || parameter == 'tmin' || parameter == 'cdd') { lowest = 'Coldest'; highest = 'Warmest'; } else if (parameter == 'hdd') { highest = 'Coldest'; lowest = 'Warmest'; } else { lowest = 'Driest'; highest = 'Wettest'; }}function getParameterAbbr(parameterName){ if (parameterName.match(/\(/)) { return parameterName.split('(')[1].split(')')[0]; } else if (parameter == 'zndx') { return 'Z-Index'; } else if (parameter == 'cdd' || parameter == 'hdd') { return parameter.toUpperCase(); } else if (parameter == 'pcp') { return 'Precip'; } else if (parameter == 'tavg' || parameter == 'tmax' || parameter == 'tmin') { return 'Temp'; } return parameterName;}function getValues(geojsonFile){ return JSON.parse($.ajax({ url: geojsonFile, async: false, }).responseText);}function drawValues(){ if (region != prevLocation) { state = (region < 0 ? '110' : region); mapBounds = states[state]["bounds"]; mapPadding = { paddingTopLeft:states[state]["padding"]["topLeft"], paddingBottomRight:states[state]["padding"]["bottomRight"] }; map.fitBounds(mapBounds, mapPadding); } prevLocation = region; // add color layer first (on bottom) to allow secondary boundaries to be visible (on top) $.ajax({ url: getPrimaryBoundaries(), dataType: "json" }).done(function(primaryBoundariesJson){ primaryBoundaries = primaryBoundariesJson; if (colorLayer && map.hasLayer(colorLayer)) map.removeLayer(colorLayer); colorLayer = L.geoJson(primaryBoundaries, { style: colorsStyle, smoothFactor: 0.5 }).addTo(map); // secondary boundaries if (boundariesLayer && map.hasLayer(boundariesLayer)) map.removeLayer(boundariesLayer); var secondaryBoundariesFile = getSecondaryBoundaries(); if (secondaryBoundariesFile){ $.ajax({ url: secondaryBoundariesFile, dataType: 'json' }).done(function(secondaryBoundariesJson){ $("#map-loader-overlay-2").remove(); boundariesLayer = L.geoJson(secondaryBoundariesJson, { style: boundariesStyle }).addTo(map); // add value layer last (on top), for rolloevers // use no fill colors so all boundaries are visible addValueLayer(primaryBoundaries); }); } else { $("#map-loader-overlay-2").remove(); // add value layer last (on top), for rolloevers // use no fill colors so all boundaries are visible addValueLayer(primaryBoundaries); } mapBounds = map.getBounds(); $('#reset-map-bounds').click(function(){ map.fitBounds(mapBounds); }); }); if ($('#map-loader-overlay-2').length == 0) { $('#dynamic-content').prepend(loaderOverlay('map-loader-overlay-2')); }}function addValueLayer(boundaries) { if (valueLayer && map.hasLayer(valueLayer)) map.removeLayer(valueLayer); textLayer.clearLayers(); valueLayer = L.geoJson(boundaries, { style: valuesStyle, smoothFactor: 0.5, onEachFeature: onEachFeature }).addTo(map);}function getPrimaryBoundaries(){ var src = "/monitoring-content/lib/geojson/"+(scope == 'city' ? 'statewide' : scope)+'/'; if (region == 110 || (scope == 'city' && region <= 48)) src += 'conus'; else if (region == -1) src += 'climate-regions'; else if (region == -2) src += "nws-regions"; else if (region == -3) src += "river-basins"; else if (region == 130) src += 'conus-ak'; else if (region == 132) src += 'us-pr'; else // Ag Belts if (region >= 250 && region < 400) src += $("#region option[value='"+region+"']").text().replace(/ *\([^)]*\) */g, "").replace(/\s+/g,"-").toLowerCase(); else // Miscellaneous Regions if (region >= 111 && region <= 120) src += $("#region option[value='"+region+"']").text().replace(/\s+/g,"-").toLowerCase(); else // Single State if (region <= 48 || region == 50 || region == 51 || region == 66) src += $("#region option[value='"+region+"']").text().replace(/\s+/g,"-").toLowerCase(); else return ''; return src+'.geojson';}function getSecondaryBoundaries(){ var src = '/monitoring-content/lib/geojson/'; // Climate Regions, NWS Regions, River Basins, inividual states, City CONUS: add CONUS state boundaries if ( (scope == 'regional' && region < 0) || (scope == 'city' && region == 110) || region <= 48 ) src += 'statewide/conus'; // Ag Belts: add CONUS divisional boundaries else if (scope == 'regional' && region > 0) src += 'divisional/conus'; else return ''; return src+'.geojson';}function drawCityValues(){ // add CONUS state boundaries if not AK, HI, or PR (else just singe state boundary) if (boundariesLayer && map.hasLayer(boundariesLayer)) map.removeLayer(boundariesLayer); var primaryBoundariesFile = getPrimaryBoundaries(); if (primaryBoundariesFile) { $.ajax({ url: primaryBoundariesFile, dataType: "json" }).done(function(primaryBoundariesJson){ boundariesLayer = L.geoJson(primaryBoundariesJson, { style: boundariesStyle }).addTo(map); // add value layer (cities and colors) and text layer addCityLayers(); }); } else { // add value layer (cities and colors) and text layer addCityLayers(); }}function addCityLayers(){ if (valueLayer && map.hasLayer(valueLayer)) map.removeLayer(valueLayer); valueLayer = L.geoJSON(values, { style: function (feature) { return feature.properties && feature.properties.style; }, onEachFeature: onEachCityFeature, pointToLayer: function (feature, latlng) { return L.circleMarker(latlng, { radius: 5, fillColor: getColor(feature.properties[returnType]), color: "#000", weight: 0.25, opacity: 1, fillOpacity: 1 }); } }).addTo(map); textLayer.clearLayers(); if ($('#show-text').prop("checked")) L.geoJSON(values, { style: function (feature) { return feature.properties && feature.properties.style; }, onEachFeature: onEachCityFeature, pointToLayer: function (feature, latlng) { return L.marker(latlng, { icon: L.divIcon({ html: getValueDisplay(feature.properties[returnType],returnType), className: 'textLabels cityTextLabels', }) }); } }).addTo(textLayer);}function colorsStyle(feature) { return { weight: 0, opacity: 0, color: 'transparent', dashArray: '0', fillOpacity: 1, fillColor: (values[feature.properties.ID] && values[feature.properties.ID][returnType] != missing ? getColor(values[feature.properties.ID][returnType]) : '#7b7b7b') };}function valuesStyle(feature) { return { weight: (scope == 'divisional' || (scope == 'county' && region == 110) ? 0.15 : 0.3), opacity: 1, color: '#000000', dashArray: '0', fillOpacity: 1, fillColor: 'transparent' };}function boundariesStyle(feature) { return { weight: (scope == 'divisional' || scope == 'city' ? 0.25 : 0.1), opacity: 1, color: '#000000', fillOpacity: 0, fillColor: 'transparent' };}function mouseover(e) { highlightFeature(e); if (!L.Browser.ie && !L.Browser.opera && !L.Browser.edge) { e.target.bringToFront(); } info.update(e.target.feature.properties);}function cityMouseover(e) { highlightCityFeature(e); if (!L.Browser.ie && !L.Browser.opera && !L.Browser.edge) { e.target.bringToFront(); } info.update(e.target.feature.properties);}function highlightCityFeature(e) { var layer = e.target; layer.setStyle({ radius: 6, weight: 1 }); if (!L.Browser.ie && !L.Browser.opera && !L.Browser.edge) { layer.bringToFront(); }}function resetCityHighlight(e) { var layer = e.target; layer.setStyle({ radius: 5, weight: 0.5 }); valueLayer.resetStyle(layer); info.update();}function getValueDisplay(val,thisReturnType){ var valDisp = (isNaN(val) || val == missing ? '--' : val.toFixed(getSigDigs(thisReturnType))); // add commas for large numbers if (val > 999) valDisp = valDisp.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); return valDisp+getUnits(thisReturnType);}function onEachFeature(feature,layer) { if ($('#show-text').prop("checked") == true && (scope != 'divisional' && scope != 'county' || region != 110)) { var lat = parseFloat(values[feature.properties.ID]['centroid']['lat']), lon = parseFloat(values[feature.properties.ID]['centroid']['lon']), coords = L.latLng(lat,lon); L.marker(coords, { icon: L.divIcon({ html: (returnType == 'rank' ? getOrdinalSuffix(values[feature.properties.ID][returnType]) : getValueDisplay(values[feature.properties.ID][returnType],returnType)), className: 'textLabels', }) }).addTo(textLayer); } layer.on({ mouseover: mouseover, mouseout: resetHighlight, click: regionClick });}function regionClick(e){ var stateIds = {'AL':'1','AK':'50','AZ':'2','AR':'3','CA':'4','CO':'5','CT':'6','DE':'7','FL':'8','GA':'9','HI':'51','ID':'10','IL':'11','IN':'12','IA':'13','KS':'14','KY':'15','LA':'16','ME':'17','MD':'18','MA':'19','MI':'20','MN':'21','MS':'22','MO':'23','MT':'24','NE':'25','NV':'26','NH':'27','NJ':'28','NM':'29','NY':'30','NC':'31','ND':'32','OH':'33','OK':'34','OR':'35','PA':'36','PR':'66','RI':'37','SC':'38','SD':'39','TN':'40','TX':'41','UT':'42','VT':'43','VA':'44','WA':'45','DC':'49','WV':'46','WI':'47','WY':'48'}; var clickedRegion = e.target.feature.properties.ID; if (region == 110 && scope != 'national') { if (scope == 'county') clickedRegion = stateIds[clickedRegion.slice(0,2)]; else if (scope == 'divisional') clickedRegion = clickedRegion.toString().slice(0,-2); $('#region').val(clickedRegion); updateData(true); } else { window.location.href = "/access/monitoring/climate-at-a-glance/county/time-series/"+clickedRegion+'/'+parameter+'/'+timescale+'/'+month+'/'+begYear+'-'+endYear; }}function cityClick(feature,layer){ window.location.href = "/access/monitoring/climate-at-a-glance/county/time-series/"+feature.target.feature.ghcnId+'/'+parameter+'/'+timescale+'/'+month+'/'+begYear+'-'+endYear;}function getSigDigs(thisReturnType){ if (thisReturnType == 'rank' || parameter == 'cdd' || parameter == 'hdd') return 0; else return (scope == 'national' || parameter == 'pcp' ? 2 : 1);}function onEachCityFeature(feature,layer) { layer.on({ mouseover: cityMouseover, mouseout: resetCityHighlight, click: cityClick });}function highlightFeature(e) { var layer = e.target; layer.setStyle({ weight: 1, color: '#000000', dashArray: '0', fillOpacity: 1 }); if (!L.Browser.ie && !L.Browser.opera && !L.Browser.edge) { layer.bringToFront(); }}function resetHighlight(e) { valueLayer.resetStyle(e.target); info.update();}function setLegendValues(){ if ((returnType == "value" || returnType == "mean") && (parameter == "tavg" || parameter == "tmax" || parameter == "tmin")) { valueBins = [0,10,20,30,40,50,60,70,80,90]; valueColors = ["#2166AC","#67A9CF","#9CC7E0","#D1E5F0","#F5F5F5","#FDDBC7","#F6B395","#EF8A62","#B2182B"]; } else // Precip Values if ((returnType == "value" || returnType == "mean") && parameter == "pcp") { if (timescale < 3) valueBins = [0,0.1,0.5,1,2,4,6,8,10,12,15,20,25]; else if (timescale < 6) valueBins = [0,0.25,0.5,1,3,5,10,15,20,25,30,40,50]; else valueBins = [0,5,8,10,15,20,25,30,40,50,60,80,100]; valueColors = ["#543005","#97601C","#AC7E42","#C19D66","#D6BB8C","#EBD9B0","#B3DDD7","#8CC2BC","#64A8A1","#3C8E86","#15736B","#003C30"]; } else // Cooling Degree Days Values if ((returnType == "value" || returnType == "mean") && parameter == "cdd") { valueBins = getDegreeDayLegendValueBins(parameter); valueColors = ["#F5F5F5","#F9E8DE","#F8CEBA","#F6B395","#F39F7C","#EF8A62","#E06E55","#D15147","#C23539","#B2182B","#590C16"]; } else // Heating Degree Days Values if ((returnType == "value" || returnType == "mean") && parameter == "hdd") { valueBins = getDegreeDayLegendValueBins(parameter); valueColors = ["#F5F5F5","#E3ECF5","#CBDBEC","#B3CBE3","#9ABADA","#82A9D1","#6A98C7","#5288BE","#3977B5","#2166AC","#194D81"]; } else // Palmer Values if ((returnType == "value" || returnType == "mean") && (parameter == "pdsi" || parameter == "phdi" || parameter == "pmdi" || parameter == "zndx")) { valueBins = [-7,-5,-3,-1,1,3,5,7]; valueColors = ["#8C540A","#D8B365","#F6E8C3","#F5F5F5","#C7EAE5","#5AB4AC","#01655E"]; } else // Ranks if (returnType == "rank") { valueBins = getRankBins(); // Temperature and Cooling Degree Day Ranks if (parameter == "tavg" || parameter == "tmax" || parameter == "tmin" || parameter == "cdd") { valueColors = ["#2166AC","#67A9CF","#D1E5F0","#F5F5F5","#FDDBC7","#EF8A62","#B2182B"]; } else // Heating Degree Day Ranks if (parameter == "hdd") { valueColors = ["#B2182B","#EF8A62","#FDDBC7","#F5F5F5","#D1E5F0","#67A9CF","#2166AC"]; } else // Precip and Palmer Ranks if (parameter == "pcp" || parameter == "pdsi" || parameter == "phdi" || parameter == "pmdi" || parameter == "zndx") { valueColors = ["#8C540A","#D8B365","#F6E8C3","#F5F5F5","#C7EAE5","#5AB4AC","#01655E"]; } } else // Temperature Anomalies if (returnType == "anomaly" && (parameter == "tavg" || parameter == "tmax" || parameter == "tmin")) { valueBins = [-9,-7,-5,-3,-1,1,3,5,7,9]; valueColors = ["#2166AC","#67A9CF","#9CC7E0","#D1E5F0","#F5F5F5","#FDDBC7","#F6B395","#EF8A62","#B2182B"]; } else // Precip Anomalies if (returnType == "anomaly" && parameter == "pcp") { if (timescale < 5) valueBins = [-12,-8,-4,-2,-1,-0.5,0.5,1,2,4,8,12]; else valueBins = [-24,-20,-16,-12,-8,-4,4,8,12,16,20,24]; valueColors = ["#543005","#97601C","#AC7E42","#C19D66","#D6BB8C","#F0F0F0","#8CC2BD","#64A8A1","#3C8E86","#15736C","#003C30"]; } else // Cooling Degree Days Anomalies if (returnType == "anomaly" && parameter == "cdd") { valueBins = [-200,-156,-112,-68,-24,24,68,112,156,200]; valueColors = ["#2166AC","#67A9CF","#9CC7E0","#D1E5F0","#F5F5F5","#FDDBC7","#F6B395","#EF8A62","#B2182B"]; } else // Heating Degree Days Anomalies if (returnType == "anomaly" && parameter == "hdd") { valueBins = [-250,-195,-140,-85,-30,30,85,140,195,250]; valueColors = ["#B2182B","#EF8A62","#F6B395","#FDDBC7","#F5F5F5","#D1E5F0","#9CC7E0","#67A9CF","#2166AC"]; } else // Palmer Anomalies if (returnType == "anomaly" && (parameter == "pdsi" || parameter == "phdi" || parameter == "pmdi" || parameter == "zndx")) { valueBins = [-7,-5,-3,-1,1,3,5,7]; valueColors = ["#8C540A","#D8B365","#F6E8C3","#F5F5F5","#C7EAE5","#5AB4AC","#01655E"]; }}function getDegreeDayLegendValueBins(dd){ var ddScales = { "cdd": { "101": { "1": { "begVal": 20, "interval": 13 }, "12": { "begVal": 100, "interval": 120 }, "24": { "begVal": 200, "interval": 230 }, "36": { "begVal": 300, "interval": 320 }, "48": { "begVal": 500, "interval": 450 }, "60": { "begVal": 600, "interval": 540 } }, "102": { "1": { "begVal": 20, "interval": 13 }, "12": { "begVal": 100, "interval": 90 }, "24": { "begVal": 200, "interval": 180 }, "36": { "begVal": 300, "interval": 320 }, "48": { "begVal": 400, "interval": 360 }, "60": { "begVal": 500, "interval": 450 } }, "103": { "1": { "begVal": 20, "interval": 23 }, "12": { "begVal": 200, "interval": 150 }, "24": { "begVal": 300, "interval": 270 }, "36": { "begVal": 500, "interval": 450 }, "48": { "begVal": 700, "interval": 530 }, "60": { "begVal": 300, "interval": 770 } }, "104": { "1": { "begVal": 20, "interval": 48 }, "12": { "begVal": 200, "interval": 380 }, "24": { "begVal": 800, "interval": 720 }, "36": { "begVal": 1000, "interval": 900 }, "48": { "begVal": 1500, "interval": 1350 }, "60": { "begVal": 1200, "interval": 1880 } }, "105": { "1": { "begVal": 20, "interval": 13 }, "12": { "begVal": 50, "interval": 95 }, "24": { "begVal": 200, "interval": 180 }, "36": { "begVal": 200, "interval": 280 }, "48": { "begVal": 500, "interval": 400 }, "60": { "begVal": 500, "interval": 450 } }, "106": { "1": { "begVal": 20, "interval": 53 }, "12": { "begVal": 100, "interval": 290 }, "24": { "begVal": 600, "interval": 540 }, "36": { "begVal": 1000, "interval": 800 }, "48": { "begVal": 1000, "interval": 1200 }, "60": { "begVal": 1500, "interval": 1350 } }, "107": { "1": { "begVal": 20, "interval": 28 }, "12": { "begVal": 50, "interval": 245 }, "24": { "begVal": 500, "interval": 550 }, "36": { "begVal": 500, "interval": 650 }, "48": { "begVal": 1000, "interval": 900 }, "60": { "begVal": 1000, "interval": 1300 } }, "108": { "1": { "begVal": 30, "interval": 3 }, "12": { "begVal": 30, "interval": 57 }, "24": { "begVal": 100, "interval": 90 }, "36": { "begVal": 200, "interval": 180 }, "48": { "begVal": 200, "interval": 180 }, "60": { "begVal": 200, "interval": 280 } }, "109": { "1": { "begVal": 20, "interval": 13 }, "12": { "begVal": 50, "interval": 195 }, "24": { "begVal": 200, "interval": 380 }, "36": { "begVal": 500, "interval": 550 }, "48": { "begVal": 500, "interval": 750 }, "60": { "begVal": 800, "interval": 920 } }, "110": { "1": { "begVal": 20, "interval": 48 }, "12": { "begVal": 300, "interval": 370 }, "24": { "begVal": 500, "interval": 750 }, "36": { "begVal": 700, "interval": 930 }, "48": { "begVal": 700, "interval": 1230 }, "60": { "begVal": 1100, "interval": 1690 } } }, "hdd": { "101": { "1": { "begVal": 50, "interval": 145 }, "12": { "begVal": 700, "interval": 830 }, "24": { "begVal": 2000, "interval": 1500 }, "36": { "begVal": 3000, "interval": 2100 }, "48": { "begVal": 4000, "interval": 3100 }, "60": { "begVal": 5000, "interval": 4300 } }, "102": { "1": { "begVal": 50, "interval": 175 }, "12": { "begVal": 800, "interval": 920 }, "24": { "begVal": 2000, "interval": 1800 }, "36": { "begVal": 3000, "interval": 2200 }, "48": { "begVal": 4000, "interval": 3300 }, "60": { "begVal": 5000, "interval": 4500 } }, "103": { "1": { "begVal": 50, "interval": 125 }, "12": { "begVal": 500, "interval": 650 }, "24": { "begVal": 2000, "interval": 1200 }, "36": { "begVal": 2000, "interval": 1500 }, "48": { "begVal": 3000, "interval": 2300 }, "60": { "begVal": 2000, "interval": 3100 } }, "104": { "1": { "begVal": 50, "interval": 85 }, "12": { "begVal": 500, "interval": 450 }, "24": { "begVal": 1000, "interval": 900 }, "36": { "begVal": 1500, "interval": 1150 }, "48": { "begVal": 2000, "interval": 1700 }, "60": { "begVal": 3000, "interval": 2300 } }, "105": { "1": { "begVal": 50, "interval": 185 }, "12": { "begVal": 800, "interval": 920 }, "24": { "begVal": 2000, "interval": 1800 }, "36": { "begVal": 3000, "interval": 2600 }, "48": { "begVal": 4000, "interval": 3500 }, "60": { "begVal": 4000, "interval": 4600 } }, "106": { "1": { "begVal": 50, "interval": 95 }, "12": { "begVal": 400, "interval": 540 }, "24": { "begVal": 1200, "interval": 980 }, "36": { "begVal": 2000, "interval": 1300 }, "48": { "begVal": 2000, "interval": 1800 }, "60": { "begVal": 3000, "interval": 2400 } }, "107": { "1": { "begVal": 50, "interval": 135 }, "12": { "begVal": 700, "interval": 830 }, "24": { "begVal": 2000, "interval": 1600 }, "36": { "begVal": 3000, "interval": 2200 }, "48": { "begVal": 4000, "interval": 3000 }, "60": { "begVal": 5000, "interval": 4200 } }, "108": { "1": { "begVal": 50, "interval": 145 }, "12": { "begVal": 700, "interval": 830 }, "24": { "begVal": 2000, "interval": 1600 }, "36": { "begVal": 3000, "interval": 2200 }, "48": { "begVal": 4000, "interval": 3000 }, "60": { "begVal": 3500, "interval": 4350 } }, "109": { "1": { "begVal": 50, "interval": 115 }, "12": { "begVal": 600, "interval": 690 }, "24": { "begVal": 2000, "interval": 1300 }, "36": { "begVal": 2000, "interval": 1700 }, "48": { "begVal": 3000, "interval": 2300 }, "60": { "begVal": 4000, "interval": 3300 } }, "110": { "1": { "begVal": 100, "interval": 180 }, "12": { "begVal": 800, "interval": 920 }, "24": { "begVal": 2000, "interval": 1800 }, "36": { "begVal": 3000, "interval": 2700 }, "48": { "begVal": 3000, "interval": 3700 }, "60": { "begVal": 5000, "interval": 4500 } } }}, climateRegionStates = { // Northeast 101: [6,7,17,18,19,27,28,30,36,37,43], // East North Central 102: [13,20,21,47], // Central 103: [11,12,15,23,33,40,46], // Southeast 104: [1,8,9,31,38,44], // West North Central 105: [24,25,32,39,48], // South 106: [3,14,16,22,34,41], // Southwest 107: [2,5,29,42], // Northwest 108: [10,35,45], // West 109: [4,26] }, climateRegion = 110, thisTimescale = parseInt(timescale == "ytd" ? month : timescale), begVal,interval, numBins = 10, bins = [0], bin = 0; $.each(climateRegionStates,function(climRgn,states){ if (jQuery.inArray(parseInt($('#region').val()),states) > -1) climateRegion = climRgn; }); $.each(ddScales[dd][climateRegion],function(ts,stats){ if (thisTimescale <= ts) { begVal = stats['begVal']; interval = stats['interval']; return false; } }); while (bin < numBins) { var value = begVal+(bin*interval); bins.push(value); bin++; } return bins;}function drawLegend(){ var units = getUnits(returnType), colors = '', labels = '', largeValues = (valueBins[valueBins.length-1] > 100 ? true : false); $.each(valueBins,function(ndx,val){ if (ndx <= valueColors.length-1) { colors += ''; } // add commas for large numbers if (val > 999) val = val.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); // display only every other of large values var even = (Math.floor(ndx%2) == 0 ? true : false); var label = (!largeValues || (largeValues && even) ? val+units : ''); var lastLabel = ( ndx == valueColors.length-1 || (largeValues && even && ndx == valueColors.length-2) ? true : false ); labels += ''+ label+ ( (parameter == 'cdd' || parameter == 'hdd') && lastLabel ? ' = Fahrenheit Degree-Days' : '' )+ ''; }); $('#legend').html('

'+colors+'

'+labels+'

'); return false;}function drawRankLegend(){ var color; color = valueColors[0]; var rankLegend = ''+lowest+'' + ''; $.each(valueBins,function(ndx,val){ var label='',arrow = (ndx < 3 ? '⇣' : '⇡'); if (ndx == 0 || ndx == valueBins.length-1) { return; } else if (ndx == 1 || ndx == valueBins.length-2) { label = ''+arrow+'⅒'; } else if (ndx == 2 || ndx == valueBins.length-3) { label = ''+arrow+' ⅓'; } else { label = 'Near Normal'; } rankLegend += ''+label+''; }); color = valueColors[valueColors.length-1]; rankLegend += '' + ''+highest+''; $('#legend').html(rankLegend); return false;}function getRankBins(){ numYears = getNumYears(); // determine percentile boundaries var bottom10th = Math.round(numYears/10), bottom3rd = Math.round(numYears/3), normal3rd = Math.round(numYears*2/3), top3rd = Math.round(numYears*9/10); return [1,2,bottom10th+1,bottom3rd+1,normal3rd+1,top3rd+1,numYears];}function getRankDisplay(rank){ if (!rank) return ''; rank = parseInt(rank); if (rank == 1) return lowest; else if (rank == numYears) return highest; else if (rank == numYears/2) return getOrdinalSuffix(rank); else if (rank > numYears/2) return getOrdinalSuffix(numYears-rank+1)+' '+highest; else return getOrdinalSuffix(rank)+' '+lowest;}function getOrdinalSuffix(integer){ if (isNaN(integer)) return '--'; else if (!Number.isInteger(integer)) return integer; var ordinalSuffix; /* check if ends in 11, 12, or 13 */ if (integer%100 > 10 && integer%100 < 14) { ordinalSuffix = 'th'; } else { /* check last digit */ switch(String(integer).slice(-1)) { case "1": ordinalSuffix = 'st'; break; case "2": ordinalSuffix = 'nd'; break; case "3": ordinalSuffix = 'rd'; break; default: ordinalSuffix = 'th'; } } return integer+ordinalSuffix;}function getColor(value){ for (var ndx = valueBins.length-1; ndx >= 0; ndx--) { if (value >= valueBins[ndx]) { // value exceeds last color/value // return really dark color halfway between last color and black if (!valueColors[ndx]) return blendColors(valueColors[valueColors.length-1],'#000000',0.5); else return valueColors[ndx]; } } // value less than first color/value // return really dark color halfway between first color and black return blendColors(valueColors[0],'#000000',0.5);}function blendColors(colorA, colorB, amount) { const [rA, gA, bA] = colorA.match(/\w\w/g).map((c) => parseInt(c, 16)); const [rB, gB, bB] = colorB.match(/\w\w/g).map((c) => parseInt(c, 16)); const r = Math.round(rA + (rB - rA) * amount).toString(16).padStart(2, '0'); const g = Math.round(gA + (gB - gA) * amount).toString(16).padStart(2, '0'); const b = Math.round(bA + (bB - bA) * amount).toString(16).padStart(2, '0'); return '#' + r + g + b;}function getUnits(thisReturnType){ if (!thisReturnType) thisReturnType = returnType; var units = ''; if (thisReturnType != "rank") { if (parameter == "tavg" || parameter == "tmin" || parameter == "tmax") units = "°F"; else if (parameter == "pcp") units = '"'; else if (parameter == "cdd" || parameter == "hdd") units = "°Df"; } return units;}function getDateDisplay() { var dateDisplay = '', thisTimescale = parseInt(timescale == "ytd" ? month : timescale); if (thisTimescale > 1) { var dateObj = new Date(year,month-1), begDate = new Date(dateObj); begDate.setMonth(begDate.getMonth()-(thisTimescale-1)); var thisBegYear = begDate.getFullYear(), begMonth = begDate.getMonth()+1, begMonthName = monthNames[begMonth-1]; if (returnType == 'mean' && thisTimescale > 12) { dateDisplay = thisTimescale+"-Month Period Ending in "; } else { dateDisplay = begMonthName; if (thisBegYear < year && returnType != 'mean') dateDisplay += " "+thisBegYear dateDisplay += " - "; } } dateDisplay += monthNames[month-1]; if (returnType != 'mean') dateDisplay += " "+year; return dateDisplay;}function createDataTable(){ var locationHeaders = { "national": "Location", "regional": "Region", "statewide": "State", "divisional": "Climate Division", "county": "County", "city": "City" }; var table = '

' + '

' + '' + ''; $('#return input[name="return"]').each(function(){ var thisReturnType = $(this).attr('id'); table += ''; }); table += ''; $.each((scope == 'city' ? values.features : values),function(region,regionValues){ var regionId,name; if (scope == 'city') { regionId = regionValues['ghcnId']; name = regionValues['properties']['name']; } else { regionId = region; name = regionValues['name']; } table += '' + ''; $('#return input[name="return"]').each(function(){ var thisReturnType = $(this).attr('id'), thisValue = (scope == 'city' ? regionValues['properties'][thisReturnType] : regionValues[thisReturnType] ); table += ''; }); table += ''; }); table += '
' + (scope == 'county' && region == 16 ? "Parish" : locationHeaders[scope]) + ''; if (thisReturnType == 'mean') { table += '1901-2000 '; } table += $("label[for='"+thisReturnType+"']").text(); if (thisReturnType == 'rank' && scope != 'city') { table += '
'+getNumYears()+' Years'; } table += '
' + '' + name + '' + '' + getValueDisplay(thisValue,thisReturnType) + '

'; $('#data-table').html(table); $('#dataTableLabel').html(getDataTableTitle()); usMappingValuesTableSorter();}function getDataTableTitle(){ var dataTableTitle = getDateDisplay()+ '
' + (scope == 'national' ? 'Contiguous U.S.' : $('#region option[value="'+region+'"]').text()) + '
'; if (scope != 'national' && scope != 'regional') { dataTableTitle += 'County '; } dataTableTitle += $('#parameter option[value="'+parameter+'"]').text().split(' (')[0]; return dataTableTitle;}function setBreadcrumb() { $(".app-breadcrumb-item:last-of-type").remove(); $(".app-breadcrumbs").append( '

  • Climate at a Glance
  • ' + '

    (Video) Community Asset Mapping with NCFH (National Center for Farmworker Health)

  • ' + '' + 'County Mapping' + '' + '
  • ' ); $('.product-name h1').text('Climate at a Glance County Mapping');}

    Citing This Page

    • NOAA National Centers for Environmental information, Climate at a Glance: County Mapping, published November 2022, retrieved on December 3, 2022 from https://www.ncei.noaa.gov/access/monitoring/climate-at-a-glance/county/mapping

    Videos

    1. Strategies for Gardening with Limited Water: Weathering the Drought in California
    (CoCoMGUC)
    2. Comprehensive Planning 101 Webinar - July 14th, 2022
    (Thurston Climate Action Team)
    3. Mapping the Maps: Deep Mapping of Historical Cartography and Documentary Sources in NE Wales
    (Clwyd Powys Archaeological Trust)
    4. Making the Most of Mapping on data.census.gov
    (U.S. Census Bureau)
    5. ArcGIS Online: Using Smart Mapping
    (Esri Events)
    6. Climate Data: Where to find it. How to use it.
    (climatecentral)
    Top Articles
    Latest Posts
    Article information

    Author: Kieth Sipes

    Last Updated: 10/07/2022

    Views: 6470

    Rating: 4.7 / 5 (67 voted)

    Reviews: 82% of readers found this page helpful

    Author information

    Name: Kieth Sipes

    Birthday: 2001-04-14

    Address: Suite 492 62479 Champlin Loop, South Catrice, MS 57271

    Phone: +9663362133320

    Job: District Sales Analyst

    Hobby: Digital arts, Dance, Ghost hunting, Worldbuilding, Kayaking, Table tennis, 3D printing

    Introduction: My name is Kieth Sipes, I am a zany, rich, courageous, powerful, faithful, jolly, excited person who loves writing and wants to share my knowledge and understanding with you.