";
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",
`
The following classes are currently scheduled. This information is subject to change. Check back later for additional classes. Fall 2023 Class Registration will begin August 1st at 8am. The schedules will be posted in the week prior.
Classes are consistent across the state but focus on the characteristics and plants of the region in which they are taught. Please register for classes located in the region in which you wish to landscape.
Classes are posted on February 1st (spring/summer) and August 1st (fall/winter).
All on-line classes are via Zoom unless noted. Please install the Zoom app and make sure you know how to use it before the appointed meeting time. Classes are live on the scheduled date. Recordings are not available on-demand.
Location refers to the approximate area for which the class has been customized. Plants discussed and other details may not be suitable for other areas.
Level 1 must be taken prior to 2 and 3 levels. Level 1 not required for Level 4. Levels 2, 3, 4 may be taken in any order.
Native Landscapes for Birds is a companion class that may be taken by anyone. Level 1 is not a pre-requisite.
While Level 4 is part of the Certification program, it can also be taken by anyone as a stand-alone class for those interested in conservation but not landscaping.
Level 1 registration fee is $45.
For all classes other than Level 1 the registration fee is $50 for Native Plant Society members or $65 for non-members. Become a member now.
For more information or to complete a mail-in registration, contact Linda Foss at linda.foss@npsot.org or (830) 218-7211.