macbio
play

MACBIO Marine and Coastal Biodiversity Management in Pacific Island - PDF document

11/30/2016 MACBIO Marine and Coastal Biodiversity Management in Pacific Island Countries Python Geoprocessing Modules arcpy raster/vector/crs processing module ArcGIS (closed source software) gdal/ogr/osr raster/vector/crs processing


  1. 11/30/2016 MACBIO Marine and Coastal Biodiversity Management in Pacific Island Countries Python Geoprocessing Modules • arcpy raster/vector/crs processing module � ArcGIS (closed source software) • gdal/ogr/osr raster/vector/crs processing modules � QGIS (free open source software) 30.11.2016 MACBIO 1

  2. 11/30/2016 Task: Clip Raster with Polygon EEZ: http://www.marineregions.org/ 30.11.2016 MACBIO SST: http://www.oracle.ugent.be/ Task: Clip Raster with Polygon [ArcMap GUI] 30.11.2016 MACBIO 2

  3. 11/30/2016 Output from ArcMap GUI 30.11.2016 MACBIO ArcGIS Model Builder: design process 30.11.2016 MACBIO 3

  4. 11/30/2016 Output from ArcGIS Model Builder 30.11.2016 MACBIO ArcGIS Model Builder: export python script 30.11.2016 MACBIO 4

  5. 11/30/2016 ArcGIS Model Builder: export python script 30.11.2016 MACBIO Python script from ArcGIS Model Builder Import Module # Import arcpy module import arcpy Assign input/output Import module Import module # Local variables: inFiji_EEZ = r"C:\temp\FIJI_EEZ.shp“ inSST = r"C:\temp\SST.tif" outFiji_SST = r"C:\temp\FIJI_SST.tif" Process Data # Process: Clip arcpy.Clip_management(SST, “#", Fiji_SST, Fiji_EEZ, #", "ClippingGeometry") 30.11.2016 MACBIO 5

  6. 11/30/2016 Output from python script 30.11.2016 MACBIO Task: Clip Raster with Polygon [QGIS GUI] 30.11.2016 MACBIO 6

  7. 11/30/2016 Output from QGIS GUI 30.11.2016 MACBIO Clip Raster with Polygon [QGIS] Console command generated by QGIS 30.11.2016 MACBIO 7

  8. 11/30/2016 Clip Raster with Polygon [GDAL] gdalwarp.exe Call executable program ‐ dstnodata 0 Assign nodata value ‐ q Quiet (no progress reports) ‐ cutline C:/temp/EEZs/FJI.shp Assign clip geometry ‐ crop_to_cutline Write nodata outside clip ‐ of GTiff Assign output format C:/temp/SST.tif Assign input file C:/temp/EEZs/FJI_SST.tif Assign output file Python script from GDAL Command Import Module # Import arcpy module import os Assign input/output Import module Import module # Local variables: inFiji_EEZ = r"C:\temp\FIJI_EEZ.shp“ inSST = r"C:\temp\SST.tif" outFiji_SST = r"C:\temp\FIJI_SST.tif" # Process: Clip command = ['gdalwarp', ' ‐ dstnodata 0', ' ‐ cutline', inFiji_EEZ ' ‐ crop_to_cutline', ' ‐ of GTiff', Process Data inSST, outFiji_SST] os.system(' '.join(command)) 30.11.2016 MACBIO 8

  9. 11/30/2016 Output from command line 30.11.2016 MACBIO Automation of arcpy using python script Import Module # Import modules import os Assign input Import module # Local variables: shapeFolder = r"C:\temp\EEZs" sstRaster = r"C:\temp\SST.tif“ # Set workspace Process list of datasets arcpy.env.workspace = shapeFolder # Process: Clip for ds in arcpy.ListFeatureClasses(): Assign output outRaster = ds.split(‘.')[0] + "_SST.tif" arcpy.Clip_management(sstRaster, "#", outRaster, ds, "#", "ClippingGeometry") Process Data Execution time: 115.5 seconds 30.11.2016 MACBIO 9

  10. 11/30/2016 Output from automated arcpy python script 30.11.2016 MACBIO Automation of GDAL using python script Import Module # Import modules import os Import module Assign input # Local variables: shapeFolder = r"C:\temp\EEZs" sstRaster = r"C:\temp\SST.tif“ Process list of datasets # Process: Clip for ds in os.listdir(shapeFolder): if ds.endswith(‘.shp’): outRaster = ds.split(‘.')[0] + "_SST.tif“ Assign output command = ['gdalwarp', ' ‐ dstnodata 0', ' ‐ cutline', inFiji_EEZ ' ‐ crop_to_cutline', Process Data ' ‐ of GTiff', inSST, outFiji_SST] os.system(' '.join(command)) Execution time: 20.4 seconds 30.11.2016 MACBIO 10

  11. 11/30/2016 Output from automated gdal python script 30.11.2016 MACBIO Further visualization of spatial data # import modules Import Modules Import Modules Import Modules import arcpy import matplotlib.pyplot as plt import numpy as np Import module Assign input # set local variables shapeFolder = r"C:\temp\EEZs" sstRaster = r"C:\temp\SST.tif" Create storage in memory Hold data in memory rasterList = [] countryList = [] # process each shapefile arcpy.env.workspace = shapeFolder Process list of datasets for ds in arcpy.ListFeatureClasses(): outRaster = ds.split('.')[0] + "_SST.tif" Create output rasters arcpy.Clip_management(sstRaster, "#", raster, ds, "#", "ClippingGeometry") array = arcpy.RasterToNumPyArray(outRaster) rasterList.append(np.ma.compressed(np.ma.masked_less_equal(array, 0))) Write data to memory Hold data in memory countryList.append(ds.split('.')[0]) # create boxplots Create boxplot object fig, ax = plt.subplots() Create y ‐ axis label ax.set_ylabel("degrees C", ) bp = plt.boxplot(rasterList) Add data to boxplots plt.xticks(np.arange(1, len(countryList)+1), countryList, rotation='vertical') plt.title('SST values for each country') Add x ‐ axis label plt.show() Add title 30.11.2016 MACBIO 11

  12. 11/30/2016 Output of python script Questions or Comments? Jonah Sullivan Marine and Coastal Biodiversity Management in Pacific Island Countries (MACBIO) Senior GIS Officer Oceania Regional Office (ORO) | The International Union for Conservation of Nature (IUCN) 5 Ma’afu Street, Private Mail Bag, Suva, Fiji Islands. http://www.iucn.org/oceania Jonah.Sullivan@iucn.org 12

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend