surface-area-computations | Slope-Adjusted Surface Area Computations in Digital Terrain
kandi X-RAY | surface-area-computations Summary
kandi X-RAY | surface-area-computations Summary
surface-area-computations is a Python library. surface-area-computations has no bugs, it has no vulnerabilities, it has a Permissive License and it has low support. However surface-area-computations build file is not available. You can download it from GitHub.
Area is an integral part of any spatial database and has a significant role in many geographic analyses and applications. Planar algorithms that are widely used to calculate area ignore the slope and curvature of the terrain and result in under-estimation, particularly as pixel size increases or in uneven terrain. Calculating surface area using a regular DEM can overcome this issue by considering localized variations on the terrain surface. This paper investigates the scale- and algorithm-dependence of surface area calculations. The expectation is that for any individual pixel, the improvement in measurements can be relatively small, however, the additive effects across the study area can become significant. The method of dividing each DEM pixel into eight 3D triangles is commonly used to calculate surface area. In this research, the elevation of triangle vertices are estimated using different interpolation methods to establish rates of under-estimation for progressively larger pixels. These methods are validated against vertex elevations on a 3 meter lidar data benchmark. Bi-Cubic interpolation outperforms other interpolation methods for calculating DEM surface areas, with Linear, Bi-Linear and Jenness methods performing nearly as well, especially at coarser resolution. Coding and statistical analysis are conducted in Python using open source modules (e.g., GDAL, Geopandas, numpy, scipy, and multiprocessing). The Amazon Web Services (AWS) is needed as a cloud computing service to handle large sets of DEM data, reduce time-to-results, and increases the speed of this research using high performance computers. In one of our study areas as an example, there are 25,500,000 pixels in the 10 m DEM. The surface area for each pixel should be calculated based on six different methods. This process is compute-intensive and very time-consuming, and the code needs to be parallelized to speed up the process. A virtual servers on AWS is used with 32 CPUs and 224 GB of RAM. This instance calculates surface area of 32 rows of DEM concurrently. Also, all of the computations are carried out in RAM and very large numpy arrays are saved in the memory. Here is the strategy we consider to process larger data sets in AWS. A single DEM at a single resolution is partitioned into strips covering 5 rows and all columns to create a task pool. The justification for 5 rows is that the interpolation methods using 3rd order polynomials require 5*5 neighborhoods. Once uploaded, each strip is processed by one CPU to estimate surface area by all interpolation methods, storing the results in a numpy array. Therefore, the strips can be executed concurrently to calculate the surface area for the entire DEM. The calculate surface area raster for all methods and DEM resolutions are saved into disk and are subsequently downloaded for validation against the surface area calculate from the LiDAR benchmark. Referrence: Mehran Ghandehari, and Barbara P. Buttenfield (2018). 'Slope-Adjusted Surface Area Computations in Digital Terrain', Proceedings of Geomorphometry 2018 conference, the 5th International Conference of the ISG, Boulder, Colorado, August 13-17. Mehran Ghandehari, Barbara P. Buttenfield, Carson J. Q. Farmer (2018). Comparing the Accuracy of Interpolated Terrain Elevations Across Spatial Resolution, the International Journal of Remote Sensing, pp. 1-25.
Area is an integral part of any spatial database and has a significant role in many geographic analyses and applications. Planar algorithms that are widely used to calculate area ignore the slope and curvature of the terrain and result in under-estimation, particularly as pixel size increases or in uneven terrain. Calculating surface area using a regular DEM can overcome this issue by considering localized variations on the terrain surface. This paper investigates the scale- and algorithm-dependence of surface area calculations. The expectation is that for any individual pixel, the improvement in measurements can be relatively small, however, the additive effects across the study area can become significant. The method of dividing each DEM pixel into eight 3D triangles is commonly used to calculate surface area. In this research, the elevation of triangle vertices are estimated using different interpolation methods to establish rates of under-estimation for progressively larger pixels. These methods are validated against vertex elevations on a 3 meter lidar data benchmark. Bi-Cubic interpolation outperforms other interpolation methods for calculating DEM surface areas, with Linear, Bi-Linear and Jenness methods performing nearly as well, especially at coarser resolution. Coding and statistical analysis are conducted in Python using open source modules (e.g., GDAL, Geopandas, numpy, scipy, and multiprocessing). The Amazon Web Services (AWS) is needed as a cloud computing service to handle large sets of DEM data, reduce time-to-results, and increases the speed of this research using high performance computers. In one of our study areas as an example, there are 25,500,000 pixels in the 10 m DEM. The surface area for each pixel should be calculated based on six different methods. This process is compute-intensive and very time-consuming, and the code needs to be parallelized to speed up the process. A virtual servers on AWS is used with 32 CPUs and 224 GB of RAM. This instance calculates surface area of 32 rows of DEM concurrently. Also, all of the computations are carried out in RAM and very large numpy arrays are saved in the memory. Here is the strategy we consider to process larger data sets in AWS. A single DEM at a single resolution is partitioned into strips covering 5 rows and all columns to create a task pool. The justification for 5 rows is that the interpolation methods using 3rd order polynomials require 5*5 neighborhoods. Once uploaded, each strip is processed by one CPU to estimate surface area by all interpolation methods, storing the results in a numpy array. Therefore, the strips can be executed concurrently to calculate the surface area for the entire DEM. The calculate surface area raster for all methods and DEM resolutions are saved into disk and are subsequently downloaded for validation against the surface area calculate from the LiDAR benchmark. Referrence: Mehran Ghandehari, and Barbara P. Buttenfield (2018). 'Slope-Adjusted Surface Area Computations in Digital Terrain', Proceedings of Geomorphometry 2018 conference, the 5th International Conference of the ISG, Boulder, Colorado, August 13-17. Mehran Ghandehari, Barbara P. Buttenfield, Carson J. Q. Farmer (2018). Comparing the Accuracy of Interpolated Terrain Elevations Across Spatial Resolution, the International Journal of Remote Sensing, pp. 1-25.
Support
Quality
Security
License
Reuse
Support
surface-area-computations has a low active ecosystem.
It has 1 star(s) with 1 fork(s). There are 1 watchers for this library.
It had no major release in the last 6 months.
surface-area-computations has no issues reported. There are no pull requests.
It has a neutral sentiment in the developer community.
The latest version of surface-area-computations is current.
Quality
surface-area-computations has no bugs reported.
Security
surface-area-computations has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
License
surface-area-computations is licensed under the MIT License. This license is Permissive.
Permissive licenses have the least restrictions, and you can use them in most projects.
Reuse
surface-area-computations releases are not available. You will need to build from source code and install.
surface-area-computations has no build file. You will be need to create the build yourself to build the component from source.
Top functions reviewed by kandi - BETA
kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of surface-area-computations
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of surface-area-computations
surface-area-computations Key Features
No Key Features are available at this moment for surface-area-computations.
surface-area-computations Examples and Code Snippets
No Code Snippets are available at this moment for surface-area-computations.
Community Discussions
No Community Discussions are available at this moment for surface-area-computations.Refer to stack overflow page for discussions.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install surface-area-computations
You can download it from GitHub.
You can use surface-area-computations like any standard Python library. You will need to make sure that you have a development environment consisting of a Python distribution including header files, a compiler, pip, and git installed. Make sure that your pip, setuptools, and wheel are up to date. When using pip it is generally recommended to install packages in a virtual environment to avoid changes to the system.
You can use surface-area-computations like any standard Python library. You will need to make sure that you have a development environment consisting of a Python distribution including header files, a compiler, pip, and git installed. Make sure that your pip, setuptools, and wheel are up to date. When using pip it is generally recommended to install packages in a virtual environment to avoid changes to the system.
Support
For any new features, suggestions and bugs create an issue on GitHub.
If you have any questions check and ask questions on community page Stack Overflow .
Find more information at:
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page