Mapping La Crosse With GIS: What Actually Works
I spent three weekends last spring layering cadastral parcels over aerial imagery in QGIS just to find that weird little waterfall behind the old flour mill district. Turns out there was a seasonal seep that didn't show up on any tourist map. The data was there in the lidar DEM, but nobody had plotted it as a point of interest. That's the thing about GIS mapping in a midwestern river city like La Crosse — the hidden stuff is already in the public datasets, you just have to know how to pull it out. Here's how I approach this, and where people usually get stuck. Start with the Wisconsin Department of Natural Resources GeoCommunicator. Their 1-meter DEM covers the entire state including the La Crosse metro area. You download the tile covering southeastern La Crosse County, load it into QGIS, and run a slope and aspect raster calculation. Steep south-facing slopes in the Driftless Area tend to have unique microhabitats — wild ginseng patches, remnant prairie, cold-water springs that don't appear on standard maps. The first problem I hit was coordinate reference systems. The WRS data comes in NAD83 / Wisconsin North (EPSG:26914) but if you're stitching it with OSM extracts pulled in Web Mercator, your buffer zones end up way off. I stopped fighting it and just reprojected everything to 26914 before doing any spatial operations. Saved me about four hours of debugging layer alignment.
From there I joined parcel data from the La Crosse County Assessor's office. Most people stop at the tax lot boundaries and call it a day. But if you intersect those parcels with the slope raster, you can flag private steep-slope parcels that might have unpublicized access points or natural features. A few of my best finds — the limestone outcrop off South Avenue, the old railroad grading near Fort McCoy — came from checking parcels that abut River Road but don't have trail markers. There's a catch with this approach though. The county parcel data refreshes quarterly, and there's typically a six to eight week lag. If you're hunting for something that opened recently, you'll miss it. I learned that the hard way when I was looking for a newly marked interpretive trail at Lakeon Park and the shapefile still showed it as undeveloped construction zone. Cross-reference with the city's own OpenStreetMap exports or the Wisconsin DNR's visit data when you can. For water features specifically, the USGS National Hydrography Dataset Plus High Resolution is worth pulling. The La Crosse area has some quirks — groundwater discharge zones around the bluff escarpment create ephemeral streams that only appear during spring melt. The NHD+ flow lines don't always capture these, but if you overlay the SRTM-derived flow accumulation raster and set a threshold below 500 cells, you'll see the drainage patterns that don't show up on Google Maps. One of those revealed a bypassed oxbow near the confluence of the Root and Mississippi that's basically a secret canoe launch if you know how to get there.
I also run a simple land cover classification from the 2021 NAIP imagery through the Semi-Automatic Classification Plugin in QGIS. The supervised classification separates the urban core, the bluff forest cover, and the agricultural fringe pretty cleanly. Filtering for contiguous forest patches under fifty acres within two miles of the downtown core surfaces the smaller ravine woodlots that never make it onto visitor guides. The one off East Avenue near the university is a good example — thirty acres of mature oak-hickory that most people walk past without noticing. Don't bother with ArcGIS Online for this unless you need the story map output for a presentation. The desktop tools give you more control over the preprocessing steps, and the free QGIS setup handles the whole workflow. If you want to share results, export the final points to GeoJSON and load them into Mapbox Studio — the styling options are better and it loads faster on mobile than Esri's viewer. One thing the literature doesn't emphasize enough: attribution quality varies wildly between sources. The DNR parcel data has field notes in some counties but La Crosse County's entries are thin. I've seen coordinates off by forty meters on recorded survey corners. Always verify promising spots against a second source before driving out — whether that's checking the latest aerial photo or calling the county surveyor's office. A wrong coordinate in the Driftless Area means a thirty-minute hike down a steep bluff with no cell service.
Get the Full Details

If you want to replicate this, the basic toolchain is QGIS 3.28, the Processing Toolbox for the slope and aspect rasters, the SCP plugin for classification, and the DB Manager for joining the attribute tables. Download the WRS DEM tile, the NHD+ pour points, and the county parcel shapefile, then follow the sequence I described. The whole thing takes about forty-five minutes once you've got the data loaded, and the output is a set of vector points you can explore in the field. The limitation I keep running into is that GIS can show you where interesting things probably are, but it can't tell you about access rights or recent land use changes. A parcel might look like prime bluff forest on the imagery, but the owner could have clear-cut it six months ago. Or there might be a private road easement that looks like public access on the map. Always do a site visit before committing time to a location, and respect private property markers. The best hidden gems aren't worth trespassing for.