An open API service indexing awesome lists of open source software.

https://github.com/ncss-tech/ssurgoondemand-sqlite

Aggregation engine for SSURGO db
https://github.com/ncss-tech/ssurgoondemand-sqlite

Last synced: 3 months ago
JSON representation

Aggregation engine for SSURGO db

Awesome Lists containing this project

README

        

# SSURGOOnDemand-SQLite
NCSS soil survey aggregation engine for SSURGO SQLite or Geopackage databases

This tool uses Python to generate soil property or interpretation information by aggregating the tables in an SQLite or Geopackage SSURGO template database. It leverages the tkinter libraries native to python giving the tools a GUI interface. It is a companion application to SSURGO portal which builds the required template databases. All the information derived from the tools are dependent on what is in the input database and thus an internet connection is not required. Soils data is annually updated around October 1. Any changes made to Web Soil Survey information need to be reacquired to be current. While rare, out-of-cycle refreshes to soil survey areas do happen.

To run the tools a user must have a version of Python 3.x that has includes the tkinter libraries (this option is enabled by default). SSURGO On-Demand is launched by opening the sod.py file.
Important note: SSURGO On-Demand filters results to consider only the major components for map units. The major component flag filter is directly set to yes in the minimum/maximum, weighted average, and dominant condition (interpretations only). It is implied for the dominant component queries.
To properly use these tools a user must understand the concept of soil map unit aggregation.

Supplemental Information - Aggregation Method

Important note: SSURGO On-Demand filters results to consider only the major components for map units. The major component flag filter is directly set to 'Yes' in the minimum/maximum, weighted average, and dominant condition (interpretations only) queries. It is implied elsewhere.

Aggregation is the process by which a set of component attribute values is reduced to a single value to represent the map unit as a whole. A map unit is typically composed of one or more "components". A component is either some type of soil or some nonsoil entity, e.g., rock outcrop. The components in the map unit name represent the major soils within a map unit delineation. Minor components are not considered with the property tool. Great differences in soil properties can occur between map unit components and within short distances. The results of aggregation do not reflect the presence or absence of limitations of the components which are not listed in the database. An on-site investigation is required to identify the location of individual map unit components. Additionally, the aggregation method selected drives the available properties to be queried. For queries of soil interpretations, all components are considered. For each of a map unit's components, a corresponding percent composition is recorded. A percent composition of 60 indicates that the corresponding component typically makes up approximately 60% of the map unit. Percent composition is a critical factor in some, but not all, aggregation methods.
For the attribute being aggregated, the first step of the aggregation process is to derive one attribute value for each of a map unit's components. From this set of component attributes, the next step of the aggregation process derives a single value that represents the map unit as a whole. Once a single value for each map unit is derived, a thematic map for soil map units can be generated. Aggregation must be done because, on any soil map, map units are delineated but components are not.

The aggregation method "Dominant Component" returns the attribute value associated with the component with the highest percent composition in the map unit. If more than one component shares the highest percent composition, the value of the first named component is returned.

The aggregation method "Dominant Condition" first groups like attribute values for the components in a map unit. For each group, percent composition is set to the sum of the percent composition of all components participating in that group. These groups now represent "conditions" rather than components. The attribute value associated with the group with the highest cumulative percent composition is returned. If more than one group shares the highest cumulative percent composition, the value of the group having the first named component of the map unit is returned.

The aggregation method "Weighted Average" computes a weighted average value for all components in the map unit. Percent composition is the weighting factor. The result returned by this aggregation method represents a weighted average value of the corresponding attribute throughout the map unit.

The aggregation method "Minimum or Maximum" returns either the lowest or highest attribute value among all components of the map unit. This method within SSURGO On-Demand evaluates the entirety of the soil profile, not a depth range.