";
for (let ecoregion of level3Eco) {
items.innerHTML += `
${ecoregion.name}
`;
}
div.insertAdjacentHTML(
"beforeend",
""
);
return div;
};
//requested that legend be hidden, so it's commented out
// level3legend.addTo(map);
// if (params.eco3Show !== true && params.eco4Show !== true) {
// const legend = document.querySelector(".legend-items");
// legend.style.display = "none";
// }
}
/*
*eco3Load* will load the level 3 ecoregion data. Must be TRUE in order for eco3Show to work.
*eco3Show* will automatically populate the map with the level 3 ecoregions. If not selected, the ecoregions & legend will load, but will be toggled off & minimized respectively.
*/
if (params.eco3Load === true) {
//initialize ecoregion layer
const level3Layer = new L.layerGroup();
//add loading spinner while ecoregions load
document.querySelector("#ecoregion_map").insertAdjacentHTML(
"afterend",
`
Level 3 Ecoregions Loading
`
);
const loadLevel3Ecos = async () => {
const promises = [];
for (let eco of level3Eco) {
try {
let res = await fetch(
`https://geodata.epa.gov/arcgis/rest/services/ORD/USEPA_Ecoregions_Level_III_and_IV/MapServer/11/query?where=US_L3CODE+%3D+%27${eco.id}%27&f=geojson`
);
let json = await res.json();
//add ecoregion name so it can be bound to tooltip
json.name = eco.name;
json.style = eco.style;
json.info = eco.info;
promises.push(json);
} catch (error) {
console.log(error);
}
}
Promise.all(promises).then((res) => {
document.querySelector(".spinner-container").hidden = true;
document.querySelector("#level-3-loading").style.display = "none";
for (let ecoregion of res) {
L.geoJSON(ecoregion, {
className: "l3-layer-overlay",
fillOpacity: 0.2,
weight: 1,
color: ecoregion.style,
})
//TODO currently uses unsplash filler images, needs to be updated in future with actual ecoregion pictures
.bindTooltip(ecoregion.name, { className: "ecoregion-popup" })
.on("click", function (e) {
l3sidebar.setContent(`
${ecoregion.name}
Level 3 Ecoregion
${ecoregion.info}
Reference: Griffith, Bryce, Omernick & Rodgers (2007). Ecoregions of Texas.`);
l3sidebar.show();
})
.addTo(level3Layer);
}
//add the layer to the map
if (params.eco3Show === true) {
map.addLayer(level3Layer);
}
//add layer to overlay so it can be toggled
layerControl.addOverlay(level3Layer, "Level 3 Ecoregions");
});
};
loadLevel3Ecos();
//initialize sidebar
const l3sidebar = L.control.sidebar("l3sidebar", {
position: "left",
});
//add controls to sidebar
map.addControl(l3sidebar);
}
/*
*eco4Load* will load the level 3 ecoregion data. Must be TRUE in order for eco4Show to work.
*eco4Show* will automatically populate the map with the level 4 ecoregions. If not selected, the ecoregions & legend (for level 3 ecoregions) will load, but will be toggled off & minimized respectively.
*/
if (params.eco4Load === true) {
//initialize ecoregion layer
const level4Layer = new L.layerGroup();
//add loading spinner while ecoregions load
document.querySelector("#ecoregion_map").insertAdjacentHTML(
"afterend",
`
Level 4 Ecoregions Loading
`
);
const loadLevel4Ecos = async () => {
const lvl4Promises = [];
for (let eco of level4Eco) {
try {
let res = await fetch(
`https://geodata.epa.gov/arcgis/rest/services/ORD/USEPA_Ecoregions_Level_III_and_IV/MapServer/7/query?where=US_L4CODE+%3D+%27${eco.id}%27&f=geojson`
);
let json = await res.json();
//add ecoregion name so it can be bound to tooltip
json.name = eco.name;
json.style = eco.style;
json.info = eco.info;
lvl4Promises.push(json);
} catch (error) {
console.log(error);
}
}
Promise.all(lvl4Promises).then((res) => {
if (params.eco3Load === false && params.eco4Load === true) {
document.querySelector(".spinner-container").hidden = true;
}
document.querySelector("#level-4-loading").style.display = "none";
for (let ecoregion of res) {
L.geoJSON(ecoregion, {
className: "l4-layer-overlay",
fillOpacity: 0.4,
weight: 1,
color: ecoregion.style,
})
//TODO currently uses unsplash filler images, needs to be updated in future with actual ecoregion pictures
.bindTooltip(ecoregion.name, { className: "ecoregion-popup" })
.on("click", function (e) {
l4sidebar.setContent(`
${ecoregion.name}
Level 4 Ecoregion
${ecoregion.info}
Reference: Griffith, Bryce, Omernick & Rodgers (2007). Ecoregions of Texas.`);
l4sidebar.show();
})
.addTo(level4Layer);
}
if (params.eco4Show === true) {
//add the layer to the map
map.addLayer(level4Layer);
}
//add layer to overlay so it can be toggled
layerControl.addOverlay(level4Layer, "Level 4 Ecoregions");
});
};
loadLevel4Ecos();
const l4sidebar = L.control.sidebar("l4sidebar", {
position: "right",
});
map.addControl(l4sidebar);
}
/*
*chapterLoad* will load the chapter location pins & chapter counties to create a "heatmap". Must be TRUE in order for chapterShow to work.
*chapterShow* will automatically populate the map with the chapter location pins & chapter counties. If not selected, the chapter location pins & chapter counties will load but will be toggled off.
*/
if (params.chapterLoad === true) {
const loadChapters = async () => {
const chapterOptions = { ...iconOptions };
chapterOptions.borderColor = "#3c5799";
chapterOptions.textColor = "#3c5799";
chapterOptions.icon = "users";
//initialize layer for chapter pins
const chapterPins = new L.LayerGroup();
//initialize layer for chapter counties
const chapterCounties = new L.LayerGroup();
//storage for chapter counties
const countyArr = [];
//add loading spinner while ecoregions load
document.querySelector("#ecoregion_map").insertAdjacentHTML(
"afterend",
`
This table is meant for more advanced users looking to generate CSV or XLSX files. For a more user-friendly version with images and descriptions of plants, visit the Native Plant Database.
Instructions
Quick filters at top of table
Use the fields and buttons at the top of the table to quickly search by size.
Click the “Low Water” button to filter down to all plants that don’t need much water.
Clear button
Click the “Clear Filters” button to clear all selections and start over.
Column headers
Resize the columns
Sort the table by the column header
Type search criteria into the column
Click the 3 vertical dots to turn hide/show columns
Export CSV or XLSX
Once you have the table filtered to your liking, scroll down to see the download buttons. Click the button to download a CSV or XLSX file.