Skip to content

Instantly share code, notes, and snippets.

@bniebuhr
Last active November 4, 2021 09:07
Show Gist options
  • Save bniebuhr/70882e74f705f8a64a395abcd412bd98 to your computer and use it in GitHub Desktop.
Save bniebuhr/70882e74f705f8a64a395abcd412bd98 to your computer and use it in GitHub Desktop.
neighbors_vs_resamp_filter.py
#!/usr/bin/env python3
import grass.script as gscript
def main():
# Define input: roads maps
input = "roadsmajor@PERMANENT"
# Set region - 30m res
gscript.run_command("g.region", raster = input, flags="p")
# Transform roads in binary
input_bin = "roads_bin"
gscript.mapcalc(input_bin+" = "+input, raster = input, flags="p", overwrite = True)
gscript.run_command("r.null", map = input_bin, null = 0)
# Run r.neighbors - size = 11 (or 150m or radius)
output_r_neighbors = "roads_r_neighbors_150m"
gscript.run_command("r.neighbors", input = input_bin,
output = output_r_neighbors, method = "average",
size = 11, overwrite = True)
gscript.run_command("r.colors", map=output_r_neighbors, color="viridis")
# Run r.resamp.filter - radius = 150m (not sure how many pixel are considered here)
output_r_rsp_filt = "roads_r_rsp_filt_150m"
gscript.run_command("r.resamp.filter", input = input_bin,
output = output_r_rsp_filt, filter = "box",
radius = 150, overwrite = True)
gscript.run_command("r.colors", map=output_r_rsp_filt, color = "viridis")
# Info about the output
gscript.run_command("r.info", map = output_r_neighbors)
gscript.run_command("r.info", map = output_r_rsp_filt)
if __name__ == '__main__':
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment