Documentation
LionVu is a web mapping and data portal to assist Penn State Cancer Institute (PSCI) investigators and trainees with developing funding proposals, exploring hypotheses, and contributing to publications. LionVu allows clinical and population researchers to visualize and utilize health data at various levels of aggregation and geographical scales. It has over 400 data variables with separate displays for Pennsylvania and the PSCI’s 28-county catchment area.
- Scroll on Left or Right Display dropdown for changing the dataset and geography. Note: after pressing reset button displays reset back to defaults.
- Pennsylvania:
- Data (Choropleths):
- American Community Survey (County; Default: Left Display; Census Bureau)
- Cancer Incidence Age-Adjusted Rates per 100,000 Population (County; EDDIE)
- Cancer Mortality Age-Adjusted Rates per 100,000 Population (County; EDDIE)
- Cancer 5 year Net Survival % (County; Pennsylvania Department of Health (PADOH))
- County Health Profiles (County; PADOH)
- County Health Ranking (County; County Health Rankings)
- Environmental Quality Index (County; EPA)
- National Environmental Public Health Tracking Radon (County; CDC)
- PLACES: Local Data for Better Health (County; CDC)
- Small Area Health Insurance Estimates (SAHIE; County; Census Bureau)
- Social Vulnerability Index (SVI; County; CDC/ATSDR)
- Environmental Justice Screening and Mapping Tool (EJSCREEN; County; EPA)
- Health Care Facilities and Underserved Areas (ColorBrewer Schema: Qualitative 9-class Set3):
- Penn State Health Providers (Point; PSH)
- Ambulatory Surgery Centers (ASC; Color: #80b1d3 [Slightly Desaturated Blue]; PADOH)
- Federally Qualified Health Centers (FQHC; Points; Color: #fdb462 [Soft Orange]; HRSA)
- Hospitals (Points; Color: #b3de69 [Soft Green]; PADOH)
- Mammography Facilities (Point; Color: #d9d9d9 [Grey85]; FDA)
- Rural Health Centers (RHC; Point; Color: #fccde5 [Light Grayish Pink]; PASDA)
- Dental Underserved Area Component Boundaries (CMPDH; Points; Color: #8dd3c7 [Slightly Desaturated Cyan]; HRSA)
- Medical Underserved Area Component Boundaries (MUA; Color: #ffffb3 [Pale Yellow]; HRSA)
- Mental Health Underserved Area Component Boundaries (CMPMH; Point; Color: #bebada [Light Grayish Blue]; HRSA)
- Primary Care Underserved Area Component Boundaries (CMPPC; Point; Color: #fb8072 [Soft Red]; HRSA)
- Other Datasets:
- Appalachian Regional Commission (Line; ARC)
- County Labels/Centroids (Point; TIGER/Line® Shapefiles)
- Penn State Cancer Institute Catchment Area (Line; PSCI)
- Catchment Area:
- Datasets (Choropleths):
- American Community Survey (Default: Right Display)
- Cancer Incidence Age-Adjusted Rates per 100,000 Population
- Cancer Mortality Age-Adjusted Rates per 100,000 Population
- Cancer Survival 5 year Net Survival %
- County Health Profiles
- County Health Ranking
- Environmental Quality Index
- National Environmental Public Health Tracking Radon
- PLACES: Local Data for Better Health
- Small Area Health Insurance Estimates (SAHIE)
- Social Vulnerability Index (SVI)
- Environmental Justice Screening and Mapping Tool (EJSCREEN)
- Health Care Facilities and Underserved Areas:
- Penn State Health (PSH) Providers
- Ambulatory Surgery Centers (ASC)
- Federally Qualified Health Centers (FQHC)
- Hospitals
- Mammography Facilities
- Rural Health Centers (RHC)
- Dental Underserved Area Component Boundaries
- Medical Underserved Area Component Boundaries (MUA)
- Mental Health Underserved Area Component Boundaries
- Primary Care Underserved Area Component Boundaries
- Other Datasets:
- Appalachian Regional Commission
- County Data
- Penn State Cancer Institute Catchment Area
- Note 1: Missing Data are represented as Zero, for both Pennsylvania and Catchment Area.
- Note 2: Contains three download buttons in both Pennsylvania and Catchment Area that exports the maps as either PNG, JPEG, or PDF.
- On choropleth maps select bin classification, number of classes, ColorBrewer Color Scheme, values, and legend position by using the dropdown boxes (Default: first field, quantile method, 5 bins, orange ColorBrewer Color Scheme, No Reversal of Color Scheme, & Bottom Right Legend Position). Note: after pressing reset button displays reset back to defaults.
- Layers (Default: First Item): Field to be mapped via choropleth maps, also used for X or Y Axes in charts. Varies based on fields in dataset, and limited to selection of one layer at a time, in both Left and Right Displays.
- Methods (Default: Quantile):
- Quantile: Performs a quantile classification and return bounds into an array, using an user-provided bins.
- Natural Breaks: Performs a Natural Breaks classification with Jenks Optimization and return bounds into an array, using an user-provided bins.
- Arithmetic Progression: Performs an arithmetic progression classification and return bounds into an array, using an user-provided bins. This classification method increases the widths of the category intervals at an arithmetic (i.e., additive) rate. For example, if the first category is one unit wide the next categories are incremented one additional unit at a time, resulting in a second category that is two units wide, a third category three units wide, and so forth to the end of the distribution. This method has many of the same strengths and shortcomings as the geometric method, but can provide a nonlinear classification at a different scale, which may be appropriate to different data sets.
- Equal Interval: Performs an equal interval classification and return bounds into an array, using an user-provided bins.
- Geometric Progression: Performs a geometric progression or intervals classification and return bounds into an array, using a user-provided bins. Does not work for arrays that have negative numbers or zeros.
- Maximum Breaks: Performs a Maximum Breaks classification and return bounds into an array, using an user-provided bins. Simplistic method which consider how data are distributed along the dispersion graph and group those that are similar to one another (or, avoid grouping values that are dissimilar). Relatively easy to compute, simply involving subtracting adjacent values.
- Standard Deviation: Performs a standard deviation classification and return bounds into an array, using an user-provided bins. A data classification method that finds the mean value, then places class breaks above and below the mean at intervals of either .25, .5, or 1 standard deviation until all the data values are contained within the classes. Values that are beyond three standard deviations from the mean are aggregated into two classes, greater than three standard deviations above the mean and less than three standard deviations below the mean.
- Unique Values: Performs a unique values classification for each value and return bounds (values) into an array, not using a user-provided bins. Unique values are unclassed choropleth classification, where each unique data value gets a unique color. For example, the unemployment figures for the 50 US states would be ranked from lowest to highest and placed along a continuous color ramp from low to high (see below). If, for example, there is a big numerical gap/jump from the state with the 3rd highest unemployment to the one with the 2nd, there’d be a correspondingly larger jump in color - the data are arranged proportionally along the color ramp.
- Bins (Default: 4): Number of classes/bins in Choropleth Map (Range: 2-12 bins), used in all classification methods, except unique values.
- ColorBrewer Color Scheme (Default: Oranges):
- Oranges: Oranges Sequential ColorBrewer 2.0 Color Scheme
- Blues: Blues Sequential ColorBrewer 2.0 Color Scheme
- Blue Green: BnGn Sequential ColorBrewer 2.0 Color Scheme
- Blue Purple: BuPu Sequential ColorBrewer 2.0 Color Scheme
- Green Blue: GnBu Sequential ColorBrewer 2.0 Color Scheme
- Greens: Greens Sequential ColorBrewer 2.0 Color Scheme
- Greys: Greys Sequential ColorBrewer 2.0 Color Scheme
- Orange Red: OrRd Sequential ColorBrewer 2.0 Color Scheme
- Purple Blue: PuBu Sequential ColorBrewer 2.0 Color Scheme
- Purple Blue Green: PuBuGn Sequential ColorBrewer 2.0 Color Scheme
- Purple Red: PuRd Sequential ColorBrewer 2.0 Color Scheme
- Purples: Purples Sequential ColorBrewer 2.0 Color Scheme
- Red Purple: RdPu Sequential ColorBrewer 2.0 Color Scheme
- Reds: Reds Sequential ColorBrewer 2.0 Color Scheme
- Yellow Green: YlGn Sequential ColorBrewer 2.0 Color Scheme
- Yellow Green Blue: YlGnBu Sequential ColorBrewer 2.0 Color Scheme
- Yellow Orange Brown: YlOrBr Sequential ColorBrewer 2.0 Color Scheme
- Yellow Orange Red: YlOrRd Sequential ColorBrewer 2.0 Color Scheme
- Reverse Color Scheme:
- No (Default except Cancer Survival): No Reversal of Color Scheme.
- Yes (Default for Cancer Survival): Reversal of Color Scheme using the reverse() method, which reverses the color Scheme. The first array element becomes the last, and the last array element becomes the first.
- Legend Position (Default: Bottom Right):
- None: No legend
- Bottom Center: Legend positioned on bottom center, using leaflet-control-topcenter plug-in
- Bottom Left: Legend positioned on bottom left corner
- Bottom Right: Legend positioned on bottom right corner
- Top Center: Legend positioned on bottom center, using leaflet-control-topcenter plug-in
- Top Left: Legend positioned on top left corner
- Top Right: Legend positioned on top right corner
- Transparency (Default: 100%): Slider that changes values of the transparency of the displayed layer, legend, and popups, which are based on Chroma.js color schemas.
- Datatables contains buttons to export to CSV, modify page length, and adjust column visibility. Data are stored as Leaflet JS file format (i.e. GeoJSON to JavaScript) and converted to JQuery DataTables format.
- County Charts button to view two bar charts of displays and a scatter plot.
- Bar Chart 1 (Default: Pennsylvania: Population, #): County names (X Axis) vs. Left Display Layer Value (Y Axis) from a dataset (i.e. Charts only work on County-Level Datasets, else will revert to defaults.)
- Bar Chart 2 (Default: Catchment Area: Population, #): County names (X Axis) vs. Right Display Layer Value (Y Axis) from a dataset (i.e. Charts only work on County-Level Datasets, else will revert to defaults).
- Scatter Plot: Left Display Layer Value (X Axis) vs. Right Display Layer Value (Y Axis) from two Datasets (i.e. Charts only work on County-Level Datasets, else will revert to defaults).
- Contains ability to download chart to PNG, SVG, or CSV.
- Bivariate button to view either a 2x2, 3x3, or 4x4 bivariate map of county-level datasets along with a datatable of data used in the map. Options to change variables, color schema, methods, and bins for each displays for county-level datasets. Contains ability to download map to PDF; datatable to CSV.
- Videos contains a 5 minute video including:
- Available datasets and the different administrative levels (state and catchment areas)
- Accessing the data through the interface
- Manipulating the data (choosing a color scheme, selecting a data classification, etc.)
- Feedback is a form for providing feedback for improvements to the website, using emails. Please do not put emails or hyperlinks in comments section. Includes checkbox to send the email message to the sender for documention purposes.
- Fullscreen Buttons that makes left or right displays Fullscreen, using JQuery Fullscreen 1.1.5. Can cancel fullscreen mode by using the esc button on keyboard, or clicking on the close fullscreen button on the top of the screen.
- Download (▼): Dropdown Menus of codebooks as a comma Separated Values (CSV) file of variable and labels for a given data set, Data to LeafletJS GIS plugin, and GEOJSON files
Methods
County boundaries were taken from the 2022 Tiger Shapefiles and stripped of all variables except NAME. County Data used in choropleth maps was downloaded from the sources website and linked to Pennsylvania and Catchment county geographies GeoJSON files using QGIS 3+ and the data_leafletjs plugin (Instructions to load to QGIS 3+) that merges and transforms the data into GeoJSON and Leaflet JS format. Point-level datasets (i.e., Health Care Facilities and Underserved Areas) were street and zip code geocoded using SAS 9.4 PROC GEOCODE, using lookup data from 2021 (SAS Maps Online). Next the point data are mapped and QGIS 3+, clipped to Pennsylvania and Catchment County Geographies and transfromed to JS using data_leafletjs. National Datasets not County were clipped to GeoJSON using QGIS to both Pennsylvania and Catchment county geographies and converted to JS, using data_leafletjs plugin. City of Bethlehem is in both Lehigh and Northampton counties, need to crosscheck county variable using What County Am I In?. Pennsylvania Census Tract and Catchment Area Census Tract data that excludes Lake Erie are also used for LionVu. Bivariate maps use code that was originated by Leaflet-d3-Bivariate-Choropleth-Map and added 2x2, 3x3, and 4x4 bivariate county mapping, which allows the user to change the data set, variables, color schema, methods, and bins for both variables selected by the user, as well as downloading the map (i.e., PDF) and datatable (i.e., CSV).
Acknowledgments
With support from the Penn State Cancer Institute (PSCI), Penn State University, Penn State Health, and the Social Science Research Institute, LionVu provides the Penn State community with data and its visualization to inform research and education to reduce the risk of cancer and other health conditions in Pennsylvania. Additional thanks to Leaflet.js 1.9.4, Geostats.js 2.1.0, Chroma.js 2.4.2, jQuery Fullscreen 1.1.5, Datatables 1.13.8 and plug-ins (jQuery 3.7.0, jQuery UI 1.13.2, Buttons 2.4.2, Column Visibility 2.4.2, HTML5 export 2.4.2, ColReorder 1.7.0, & Responsive 2.5.0), Leaflet-Betterscale 2.0.1, Dom-To-Image 2.6.0, leaflet-control-topcenter 2.0.1, Leaflet.EasyButton 2.4.0, Leaflet.SvgShapeMarkers 1.4.0, jsPDF.js 2.5.1, html2pdf.js 0.10.1, ApexCharts 3.41.0, and sweetalert2 11.10.1 for providing the plug-ins needed to improve LionVu. Download icons (, ) made by Pixel Perfect and Rizki Ahmad Fauzi from www.flaticon.com. Home button icon (🏠) from emojipedia.org. Trendline in JS were adapted from Draco Blue. Bivariate mapping functionality was adapted from Leaflet-d3-Bivariate-Choropleth-Map, which uses D3 5.9.7, d3-geo-projection.js 2.7.0, topojson.js 3.0.2, and L.D3SvgOverlay.js. Feedback form was adapted from PHP Pot. Website visitor counter was adapted from Hits. JavaScript files were minified using Minify JS Online to save space. Finally, in order to make the website more responsive we used PX to VW Converter, and responsive iframes.