Focal Operations and Buffer Tile support#551
Closed
echeipesh wants to merge 11 commits intolocationtech:developfrom
Closed
Focal Operations and Buffer Tile support#551echeipesh wants to merge 11 commits intolocationtech:developfrom
echeipesh wants to merge 11 commits intolocationtech:developfrom
Conversation
RasterRef decoding sometimes produces buffers of 0 when non-zero buffer is requested from DataSource
only square(1) neighborhood is possible with this
Useful for development, will likely move during final review
Member
|
Awesome progress! |
Closed
We need to be able to unwrap RasterRefTile and call realizedTile before wrapping it in ProjectedRasterTile. This allows current version of BufferTile to do its work. ProjectedRasterTile can be a base trait for any kind of eventual tile representation.
This was referenced Sep 16, 2021
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is a draft effort to add focal operations which require use of pixel buffer per tile to provide the cell neighborhood information around tile edges. This PR moves #487 closer to develop and adds Python wrappers for focal operations along with elevation related operations (slope, aspect, hillshade).
Currently this PR brings over
geotrellis.raster.BufferTileimplementation for convenience of iteration. I don't think its in its final form and having it here greatly simplifies the development process. This will be moved to GeoTrellis proper at the end.Notebook Demo
Tasks
Neighborhoodclass and parser to pyrasterframesNotes
Delegate Tiles
The main remaining challenge is to reconcile the design of BufferTile with RasterFrame reliance of the delegate tiles. This is critical because the current pattern in GeoTrellis is to rely on matching argument tile types in order to activate special handling. For instance when combining two buffer tiles operation needs to be applied to "hidden" buffer pixels. This is not possible when both or either of the inputs are wrapped in a delegate tile. Likely pixel buffer information needs to be integrated into
Tileinterface itself.zFactor
For surface calculations critical input is zFactor which is contingent on the resolution and CRS. For a DataFrame of tiles the zFactor can change as the location of the tile shifts relative to the projection distortion. GeoTrellis has some functionality to support this. Some design should be lifted from GeoPySpark API. From user perspective there are three modes that can be helpful:
rf_cellsize)Connects: #441