Geovisualizing the modifiable areal unit problem Interactive Google Earth Engine Application https://cartoscience.users.earthengine.app/view/maup Google Earth Engine Code var img = ee.Image('MODIS/055/MOD17A3/2014_01_01').select('Npp').divide(10000).rename('NPP'); Map.setCenter(30, 20, 2).setOptions('HYBRID'); var bounds = ee.Geometry(Map.getBounds(true)); var res = Map.getScale()*10; var colors = ['e0470e','e6ad0c','ffffc3','13ff92','079b5d']; var vis = {min: 1, max: 5, palette: colors}; var design = { fontSize: 10, legend: {position: 'none'}, backgroundColor: '080c16', series: {0: {color: 'e8e8e8', textStyle: {color: 'e8e8e8'}}}, hAxis: {format: 'short', textStyle: {color: 'e8e8e8'}}, vAxis: {format: 'short', textStyle: {color: 'e8e8e8'}} }; var histogram = ui.Chart.image.histogram(img, bounds, res).setOptions(design); var legend = ui.Panel( [ ui.Label('Low', {fontSize: '10px', fontWeight: 'bold', color: 'e8e8e8', stretch: 'horizontal', textAlign: 'center', backgroundColor: '080c16'}), ui.Label({style: {backgroundColor: 'e0470e', padding: '8px', margin: '6px 0 0 0'}}), ui.Label({style: {backgroundColor: 'e6ad0c', padding: '8px', margin: '6px 0 0 0'}}), ui.Label({style: {backgroundColor: 'ffffc3', padding: '8px', margin: '6px 0 0 0'}}), ui.Label({style: {backgroundColor: '13ff92', padding: '8px', margin: '6px 0 0 0'}}), ui.Label({style: {backgroundColor: '079b5d', padding: '8px', margin: '6px 0 0 0'}}), ui.Label('High', {fontSize: '10px', fontWeight: 'bold', color: 'e8e8e8', stretch: 'horizontal', textAlign: 'center', backgroundColor: '080c16'}), ], ui.Panel.Layout.flow('horizontal'), {width: '200px', position: 'bottom-left', backgroundColor: '080c16', margin: '-5px 0 10px 24px'} ); var panel = ui.Panel( [ ui.Label('Geovisualizing the Modifiable Areal Unit Problem', {fontSize: '20px', fontWeight: 'bold', color: 'e8e8e8', stretch: 'horizontal', textAlign: 'center', margin: '20px 0 10px 0', backgroundColor: '080c16'}), ui.Label('Pan, zoom, and adjust the browser window to reclassify.', {fontSize: '13px', color: 'e8e8e8', stretch: 'horizontal', textAlign: 'center', margin: '4px 25px 4px 25px', backgroundColor: '080c16'}), ui.Label('NASA MODIS Net Primary Productivity', {fontSize: '10px', color: 'e8e8e8', stretch: 'horizontal', textAlign: 'center', margin: '4px 20px 1px 20px', backgroundColor: '080c16'}), ui.Label('MOD17A3/055 • 2014', {fontSize: '10px', color: 'e8e8e8', stretch: 'horizontal', textAlign: 'center', margin: '1px 20px 1px 20px', backgroundColor: '080c16'}), ui.Label('kg C / m^2', {fontSize: '9px', color: 'e8e8e8', stretch: 'horizontal', textAlign: 'center', margin: '10px 20px 0 20px', backgroundColor: '080c16'}), histogram, legend, ui.Label('Recategorizes using percentile thresholds (0-20-40-60-80-100) from the data distribution captured in the frame. Zoom in to reveal heterogeneity at local scales.', {fontSize: '10px', color: 'e8e8e8', stretch: 'horizontal', textAlign: 'center', margin: '1px 20px 1px 20px', backgroundColor: '080c16'}), ui.Label('© 2019 Cartoscience', {fontSize: '10px', color: 'e8e8e8', stretch: 'horizontal', textAlign: 'center', margin: '20px 20px 0 20px', backgroundColor: '080c16'}), ui.Label('cartoscience.com', {fontSize: '10px', color: 'e8e8e8', stretch: 'horizontal', textAlign: 'center', margin: '1px 85px 20px 85px', backgroundColor: '080c16'}, 'http://cartoscience.com') ], ui.Panel.Layout.flow('vertical'), {width: '250px', position: 'bottom-left', backgroundColor: '080c16'} ); ui.root.insert(0, panel); Map.layers().set(0, ui.Map.Layer(ee.Image(0), {palette:'000000', opacity: 0.8}, 'Dark')); Map.onChangeBounds(function() { var bounds = ee.Geometry(Map.getBounds(true)); var res = Map.getScale()*10; var params = img.reduceRegion({ reducer: ee.Reducer.percentile([0,20,40,60,80,100]), geometry: bounds, scale: res }); var p0 = ee.Number(params.get('NPP_p0')); var p20 = ee.Number(params.get('NPP_p20')); var p40 = ee.Number(params.get('NPP_p40')); var p60 = ee.Number(params.get('NPP_p60')); var p80 = ee.Number(params.get('NPP_p80')); var p100 = ee.Number(params.get('NPP_p100')); var quintiles = img.gt(p0).add(img.gt(p20)).add(img.gt(p40)) .add(img.gt(p60)).add(img.gt(p80)).add(img.gt(p100)); var histogram = ui.Chart.image.histogram(img, bounds, res).setOptions(design); panel.widgets().set(5,histogram); Map.layers().set(1, ui.Map.Layer(quintiles, vis, 'Quintiles')); Map.layers().set(2, ui.Map.Layer(img, {min: 0.13, max: 0.79}, 'MODIS/055/MOD17A3', false)); }); This content is made possible by the support of the American People provided to the Feed the Future Innovation Lab for Sustainable Intensification through the United States Agency for International Development (USAID). The contents are the sole responsibility of the authors and do not necessarily reflect the views of USAID or the United States Government. Program activities are funded by USAID under Cooperative Agreement No. AID-OAA-L-14-00006.
This feature service is derived from the Esri "United States Zip Code Boundaries" layer, queried to only CA data.For the original data see: https://esri.maps.arcgis.com/home/item.html?id=5f31109b46d541da86119bd4cf213848Published by the California Department of Technology Geographic Information Services Team.The GIS Team can be reached at ODSdataservices@state.ca.gov.U.S. ZIP Code Boundaries represents five-digit ZIP Code areas used by the U.S. Postal Service to deliver mail more effectively. The first digit of a five-digit ZIP Code divides the United States into 10 large groups of states (or equivalent areas) numbered from 0 in the Northeast to 9 in the far West. Within these areas, each state is divided into an average of 10 smaller geographical areas, identified by the second and third digits. These digits, in conjunction with the first digit, represent a Sectional Center Facility (SCF) or a mail processing facility area. The fourth and fifth digits identify a post office, station, branch or local delivery area.As of the time this layer was published, in January 2025, Esri's boundaries are sourced from TomTom (June 2024) and the 2023 population estimates are from Esri Demographics. Esri updates its layer annually and those changes will immediately be reflected in this layer. Note that, because this layer passes through Esri's data, if you want to know the true date of the underlying data, click through to Esri's original source data and look at their metadata for more information on updates.Cautions about using Zip Code boundary dataZip code boundaries have three characteristics you should be aware of before using them:Zip code boundaries change, in ways small and large - these are not a stable analysis unit. Data you received keyed to zip codes may have used an earlier and very different boundary for your zip codes of interest.Historically, the United States Postal Service has not published zip code boundaries, and instead, boundary datasets are compiled by third party vendors from address data. That means that the boundary data are not authoritative, and any data you have keyed to zip codes may use a different, vendor-specific method for generating boundaries from the data here.Zip codes are designed to optimize mail delivery, not social, environmental, or demographic characteristics. Analysis using zip codes is subject to create issues with the Modifiable Areal Unit Problem that will bias any results because your units of analysis aren't designed for the data being studied.As of early 2025, USPS appears to be in the process of releasing boundaries, which will at least provide an authoritative source, but because of the other factors above, we do not recommend these boundaries for many use cases. If you are using these for anything other than mailing purposes, we recommend reconsideration. We provide the boundaries as a convenience, knowing people are looking for them, in order to ensure that up-to-date boundaries are available.
CC0 1.0 Universal Public Domain Dedicationhttps://creativecommons.org/publicdomain/zero/1.0/
License information was derived automatically
This dataset contains most GIS data files and scripts from McKnight (2020) and McKnight et al. (2022). Birth outcome data for Central Appalachia are protected by IRB agreements and must be obtained from the health departments of Kentucky, Tennessee, Virginia, and West Virginia. Data for active surface mines greater than 40 acres from 1989 to 2015 include annual shapefiles for each year and centroids of those mines in a separate zip file. Scripts are provided to model airsheds and conduct statistical analyses.McKnight, Molly X. 2020. Examining the Modifiable Areal Unit Problem: Associations Between Surface Mining and Birth Outcomes in Central Appalachia at Multiple Spatial Scales. Master’s Thesis. Virginia Tech.McKnight, M.X., K.N. Kolivras, L.G. Buttling, J.M. Gohlke, L.C. Marr, T.J. Pingel, and S. Ranganathan. 2022. Associations between surface mining airsheds and birth outcomes in Central Appalachia at multiple spatial scales. GeoHealth. doi: 10.1029/2022GH000696
Description: This is aggregated data of individuals or households. The data originates from the South African censuses of 1991, 1996, 2001 and 2011, as well as the community survey of 2007. The geographical units were standardised to the 2005 municipal boundaries so that spatial measuring was consistent. The data therefore covers the whole country at a municipal level for different time periods. The major variables focus on employment status. The data set consists of 156 variables and 257 cases. It contains the same socio-economic variables for different time periods, namely 1991, 1996, 2001, 2007 and 2011. Combined ranking - municipalities were ranked for each year, i.e. 1991, 1996, 2001, 2007 and 2011, in terms of unemployment rate and assigned a rank value. The combined unemployment ranking is calculated by adding up the ranking per individual year. Population density - this was calculated by dividing the total population of a municipality in 1991 by the area and the answer is expressed as number of people per square kilometer. Urban - the number of urban people in an area in a specific year. Rural - the number of rural people in an area in a specific year. Per capita income - the per capita income in a specific area and year. The linking of different census geographies was done by using areal interpolation to transfer data from one set of boundaries to another. The 2005 municipality boundaries were used as the common denominator and it is part of a spatial hierarchy developed by Statistics SA for the 2001 census. Abstract: Global unemployment has risen in the past few years and spatial data is required to address the problem effectively. South African unemployment literature focused mostly on a national level of spatial analysis. Some literature refers to spatial aspects that affect unemployment trends, but does not assign a location, e.g. a suburb or municipality. The research was conducted to obtain an understanding of geographical unemployment changes in South Africa over time. The data sets from the South African censuses of 1991, 1996, 2001 and 2011, as well as the community survey of 2007 were compared by spatial extent and associated attributes. The representation of change over time was explored and aggregation to a common boundary, such as municipalities was suggested to overcome modifiable areal unit problems. Census data is spatially more detailed than labour force survey data, and census data from pre-1991 might not reflect the post-apartheid labour trends effectively. To determine which unemployment data set is useful for a spatial understanding of unemployment in South Africa, the attributes of various datasets were compared, the completeness of the spatial data, as well as the geographic scale of presentation. South African census data represents employment statistics at the most detailed spatial level. Census data is collected every five to ten years. Initial data capture for censuses was usually at Enumerator Area (EA) level. Prior to 1991 the spatial data (EA and census district boundaries) were represented on hard copy maps only and no digital spatial data were captured. In the 1991 census, unemployment statistics were not directly calculated at EA level. To generate these statistics the number of employed people was subtracted from the economically active population. In the 1996 census, the number of unemployed, employed and economically active people per small area layer (SAL) was provided by Stats SA. The data were re-aggregated by the Human Sciences Research Council (HSRC), which could then be compared with EA data from other years. The 2001 census attribute data was not released at an EA level, and this consequently made comparisons with the previous two censuses very difficult. However, the spatial boundaries for the EAs were made available, and statistical modelling techniques were used by the HSRC to compute unemployment statistics for these boundaries. CS 2007 released statistics only at a municipality level. The linking of different census geographies was done by using areal interpolation to transfer data from one set of boundaries to another. The 2005 municipality boundaries were used as the common denominator and it is part of a spatial hierarchy developed by Statistics SA for the 2001 census. Municipalities were ranked for each year in terms of unemployment rate and assigned a rank value. There is also a combined unemployment rank value for all years and all municipalities. This resulted in a new data set of aggregated data of individuals or households. The geographical units were standardised to the 2005 municipal boundaries so that spatial measuring was consistent. The data therefore covers the whole country at a municipal level for different time periods. The major variables focus on employment status. All people in South Africa on the date of the census in 1991, 1996, 2001 and 2011, as well as the households at the time when the 2007 Community Survey (CS) was conducted. The South African Census 1996 covered every person present in South Africa on Census Night, 9-10 October 1996 (except foreign diplomats and their families). The South African Census 2001 and 2011 covered every person present in South Africa on Census Night, 9-10 October 2001 or 9-10 October 2011 respectively, including all de jure household members and residents of institutions. The South African Census 1991 was enumerated on a de facto basis, that is, according to the place where persons were located during the census. All persons who were present on Republic of South African territory during census night (i.e. at midnight between 7 and 8 March 1991) were therefore enumerated and included in the data. Visitors from abroad who were present in the RSA on holiday or business on the night of the census, as well as foreigners (and their families) who were studying or economically active were enumerated and included in the figures. The Diplomatic and Consular Corps of foreign countries were not included. Crews and passengers of ships were also not enumerated, except those who were present at the harbours of the RSA on census night. Similarly, residents of the RSA who were absent from the night were not enumerated. Personnel of the South African Government stationed abroad and their families were, however enumerated. Such persons were included in the Transvaal (Pretoria). The South African Community Survey 2007 covered all de jure household members (usual residents) in South Africa. The survey excluded collective living quarters (institutions) and some households in EAs classified as recreational areas or institutions. However, an approximation of the out-of-scope population was made from the 2001 Census and added to the final estimates of the CS 2007 results. Sampling is not applicable since the data used here refers to aggregated data of the universe.
Not seeing a result you expected?
Learn how you can add new datasets to our index.
Geovisualizing the modifiable areal unit problem Interactive Google Earth Engine Application https://cartoscience.users.earthengine.app/view/maup Google Earth Engine Code var img = ee.Image('MODIS/055/MOD17A3/2014_01_01').select('Npp').divide(10000).rename('NPP'); Map.setCenter(30, 20, 2).setOptions('HYBRID'); var bounds = ee.Geometry(Map.getBounds(true)); var res = Map.getScale()*10; var colors = ['e0470e','e6ad0c','ffffc3','13ff92','079b5d']; var vis = {min: 1, max: 5, palette: colors}; var design = { fontSize: 10, legend: {position: 'none'}, backgroundColor: '080c16', series: {0: {color: 'e8e8e8', textStyle: {color: 'e8e8e8'}}}, hAxis: {format: 'short', textStyle: {color: 'e8e8e8'}}, vAxis: {format: 'short', textStyle: {color: 'e8e8e8'}} }; var histogram = ui.Chart.image.histogram(img, bounds, res).setOptions(design); var legend = ui.Panel( [ ui.Label('Low', {fontSize: '10px', fontWeight: 'bold', color: 'e8e8e8', stretch: 'horizontal', textAlign: 'center', backgroundColor: '080c16'}), ui.Label({style: {backgroundColor: 'e0470e', padding: '8px', margin: '6px 0 0 0'}}), ui.Label({style: {backgroundColor: 'e6ad0c', padding: '8px', margin: '6px 0 0 0'}}), ui.Label({style: {backgroundColor: 'ffffc3', padding: '8px', margin: '6px 0 0 0'}}), ui.Label({style: {backgroundColor: '13ff92', padding: '8px', margin: '6px 0 0 0'}}), ui.Label({style: {backgroundColor: '079b5d', padding: '8px', margin: '6px 0 0 0'}}), ui.Label('High', {fontSize: '10px', fontWeight: 'bold', color: 'e8e8e8', stretch: 'horizontal', textAlign: 'center', backgroundColor: '080c16'}), ], ui.Panel.Layout.flow('horizontal'), {width: '200px', position: 'bottom-left', backgroundColor: '080c16', margin: '-5px 0 10px 24px'} ); var panel = ui.Panel( [ ui.Label('Geovisualizing the Modifiable Areal Unit Problem', {fontSize: '20px', fontWeight: 'bold', color: 'e8e8e8', stretch: 'horizontal', textAlign: 'center', margin: '20px 0 10px 0', backgroundColor: '080c16'}), ui.Label('Pan, zoom, and adjust the browser window to reclassify.', {fontSize: '13px', color: 'e8e8e8', stretch: 'horizontal', textAlign: 'center', margin: '4px 25px 4px 25px', backgroundColor: '080c16'}), ui.Label('NASA MODIS Net Primary Productivity', {fontSize: '10px', color: 'e8e8e8', stretch: 'horizontal', textAlign: 'center', margin: '4px 20px 1px 20px', backgroundColor: '080c16'}), ui.Label('MOD17A3/055 • 2014', {fontSize: '10px', color: 'e8e8e8', stretch: 'horizontal', textAlign: 'center', margin: '1px 20px 1px 20px', backgroundColor: '080c16'}), ui.Label('kg C / m^2', {fontSize: '9px', color: 'e8e8e8', stretch: 'horizontal', textAlign: 'center', margin: '10px 20px 0 20px', backgroundColor: '080c16'}), histogram, legend, ui.Label('Recategorizes using percentile thresholds (0-20-40-60-80-100) from the data distribution captured in the frame. Zoom in to reveal heterogeneity at local scales.', {fontSize: '10px', color: 'e8e8e8', stretch: 'horizontal', textAlign: 'center', margin: '1px 20px 1px 20px', backgroundColor: '080c16'}), ui.Label('© 2019 Cartoscience', {fontSize: '10px', color: 'e8e8e8', stretch: 'horizontal', textAlign: 'center', margin: '20px 20px 0 20px', backgroundColor: '080c16'}), ui.Label('cartoscience.com', {fontSize: '10px', color: 'e8e8e8', stretch: 'horizontal', textAlign: 'center', margin: '1px 85px 20px 85px', backgroundColor: '080c16'}, 'http://cartoscience.com') ], ui.Panel.Layout.flow('vertical'), {width: '250px', position: 'bottom-left', backgroundColor: '080c16'} ); ui.root.insert(0, panel); Map.layers().set(0, ui.Map.Layer(ee.Image(0), {palette:'000000', opacity: 0.8}, 'Dark')); Map.onChangeBounds(function() { var bounds = ee.Geometry(Map.getBounds(true)); var res = Map.getScale()*10; var params = img.reduceRegion({ reducer: ee.Reducer.percentile([0,20,40,60,80,100]), geometry: bounds, scale: res }); var p0 = ee.Number(params.get('NPP_p0')); var p20 = ee.Number(params.get('NPP_p20')); var p40 = ee.Number(params.get('NPP_p40')); var p60 = ee.Number(params.get('NPP_p60')); var p80 = ee.Number(params.get('NPP_p80')); var p100 = ee.Number(params.get('NPP_p100')); var quintiles = img.gt(p0).add(img.gt(p20)).add(img.gt(p40)) .add(img.gt(p60)).add(img.gt(p80)).add(img.gt(p100)); var histogram = ui.Chart.image.histogram(img, bounds, res).setOptions(design); panel.widgets().set(5,histogram); Map.layers().set(1, ui.Map.Layer(quintiles, vis, 'Quintiles')); Map.layers().set(2, ui.Map.Layer(img, {min: 0.13, max: 0.79}, 'MODIS/055/MOD17A3', false)); }); This content is made possible by the support of the American People provided to the Feed the Future Innovation Lab for Sustainable Intensification through the United States Agency for International Development (USAID). The contents are the sole responsibility of the authors and do not necessarily reflect the views of USAID or the United States Government. Program activities are funded by USAID under Cooperative Agreement No. AID-OAA-L-14-00006.