def updateParameters(self, parameters):
        """Modify the values and properties of parameters before internal
        validation is performed.  This method is called whenever a parameter
        has been changed."""
        try:
            
            netCDFSource = parameters[0].valueAsText;
            
            if netCDFSource is not None:

                #Making sure that the layers source is a netCDF file
                if NetCDFFile.isNetCDF(netCDFSource):
                    
                    #NetCDFFile class deteremines the dimensions and variables that 
                    #applies to a lat/lon point
                    netCDFFile = NetCDFFile(netCDFSource)
                    
                    #Getting Avalable Dimensions besides besides lat & lon                                     
                    dimensions = netCDFFile.getDimensions()
                    
                    parameters[2].filter.list = dimensions
                    #if dimensions.count > 0:
                        #parameters[2].value = dimensions[0]    
                    
                    #Getting Variables that apply to lat & lon                  
                    variables = netCDFFile.getVariables()
                    
                    parameters[1].filter.list = variables 
                        
                    #if variables.count > 0:
                        #parameters[1].value = variables[0]  
                    
        except Exception:
            pass
        return
    def updateParameters(self, parameters):
        """Modify the values and properties of parameters before internal
        validation is performed.  This method is called whenever a parameter
        has been changed.
        We want to populate the variables and dimensions dropdown list with all dimensions
        that are not lat, lon and only variables that contain lat/lon dimensions.  The lat
        lon are already going to be represented from the point selected on the map"""
        try:
            
            layer = parameters[0].value;
            
            if layer is not None:
                
                #Getting the netCDF DataSource Path from the netCDF raster layer
                netCDFSource = NetCDFFile.getNetCDFPathfromLayer(layer)            
                
                #Making sure that the layers source is a netCDF file
                if NetCDFFile.isNetCDF(netCDFSource):
                    
                    #NetCDFFile class deteremines the dimensions and variables that 
                    #applies to a lat/lon point
                    netCDFFile = NetCDFFile(netCDFSource)

                    #Getting Avalable Dimensions besides besides lat & lon                                     
                    dimensions = netCDFFile.getDimensions()
                    
                    parameters[2].filter.list = dimensions
                    #if dimensions.count > 0:
                        #parameters[2].value = dimensions[0]    
                    
                    #Getting Variables that apply to lat & lon                  
                    variables = netCDFFile.getVariables()
                    
                    parameters[1].filter.list = variables 
                        
                    #if variables.count > 0:
                        #parameters[1].value = variables[0]                    

        except Exception:
            pass
        return
示例#3
0
    def updateParameters(self, parameters):
        """Modify the values and properties of parameters before internal
        validation is performed.  This method is called whenever a parameter
        has been changed.
        We want to populate the variables and dimensions dropdown list with all dimensions
        that are not lat, lon and only variables that contain lat/lon dimensions.  The lat
        lon are already going to be represented from the point selected on the map"""
        try:

            layer = parameters[0].value

            if layer is not None:

                #Getting the netCDF DataSource Path from the netCDF raster layer
                netCDFSource = NetCDFFile.getNetCDFPathfromLayer(layer)

                #Making sure that the layers source is a netCDF file
                if NetCDFFile.isNetCDF(netCDFSource):

                    #NetCDFFile class deteremines the dimensions and variables that
                    #applies to a lat/lon point
                    netCDFFile = NetCDFFile(netCDFSource)

                    #Getting Avalable Dimensions besides besides lat & lon
                    dimensions = netCDFFile.getDimensions()

                    parameters[2].filter.list = dimensions
                    #if dimensions.count > 0:
                    #parameters[2].value = dimensions[0]

                    #Getting Variables that apply to lat & lon
                    variables = netCDFFile.getVariables()

                    parameters[1].filter.list = variables

                    #if variables.count > 0:
                    #parameters[1].value = variables[0]

        except Exception:
            pass
        return
示例#4
0
import os
import sys
import math
import arcpy

inNetCDF = "C:/Sandbox/python/NetCDF/Data/norfolk_slr_1m.nc"
ncFileProp = arcpy.NetCDFFileProperties(inNetCDF)
variables = ncFileProp.getVariables()
dimensions = ncFileProp.getDimensions()

timeVariable = ncFileProp.getVariablesByDimension("time")

from netCDFFile import NetCDFFile

print NetCDFFile.isNetCDF(inNetCDF)

netcdfFile = NetCDFFile(inNetCDF)

print netcdfFile.getDimensions()
print netcdfFile.getVariables()
print netcdfFile.getLatDimension()
print netcdfFile.getLonDimension()

print str(variables)
import os
import sys
import math
import arcpy

inNetCDF = "C:/Sandbox/python/NetCDF/Data/norfolk_slr_1m.nc"
ncFileProp = arcpy.NetCDFFileProperties(inNetCDF)
variables = ncFileProp.getVariables()
dimensions = ncFileProp.getDimensions()

timeVariable = ncFileProp.getVariablesByDimension("time")

from netCDFFile import NetCDFFile

print NetCDFFile.isNetCDF(inNetCDF)

netcdfFile = NetCDFFile(inNetCDF)


print netcdfFile.getDimensions()
print netcdfFile.getVariables()
print netcdfFile.getLatDimension()
print netcdfFile.getLonDimension()


print str(variables)