def makelegend(source, **kwargs): ''' Make a legend. :param souce: Legend file name or list of the legen breaks. :returns: Created legend. ''' if isinstance(source, basestring): if os.path.exists(source): ls = LegendScheme() ls.importFromXMLFile(source, False) return ls else: source = getcolormap(source) else: if isinstance(source, list): ls = LegendScheme(source) else: values = kwargs.pop('values', None) if values is None: ls = None else: if isinstance(values, MIArray): values = values.aslist() cbs = source.findBreaks(values) ls = LegendScheme(cbs) return ls
def makelegend(source): ''' Make a legend. :param souce: Legend file name or list of the legen breaks. :returns: Created legend. ''' if isinstance(source, basestring): if os.path.exists(source): ls = LegendScheme() ls.importFromXMLFile(source, False) return ls else: source = getcolormap(source) else: ls = LegendScheme(source) return ls
def makelegend(source, **kwargs): ''' Make a legend. :param souce: Legend file name or list of the legen breaks. :returns: Created legend. ''' if isinstance(source, basestring): if os.path.exists(source): ls = LegendScheme() ls.importFromXMLFile(source, False) return ls else: source = getcolormap(source) else: if isinstance(source, list): if isinstance(source[0], ColorBreak): ls = LegendScheme(source) else: colors = getcolors(source) values = kwargs.pop('values', None) if values is None: cbs = [] for c in colors: cb = ColorBreak() cb.setColor(c) cbs.append(cb) ls = LegendScheme(cbs) else: ls = LegendManage.createLegendScheme(values, colors) else: values = kwargs.pop('values', None) if values is None: ls = None else: if isinstance(values, NDArray): values = values.aslist() cbs = source.findBreaks(values) ls = LegendScheme(cbs) return ls
else: sdata = sdata.add(mdi.getStationData('Precipitation6h')) atime = atime + timedelta(hours=6) #---- Interpolate station data to grid data print 'Interpolate station data to grid data...' interpSet = InterpolationSetting(60,140,-20,60,160,160,"IDW_Radius",2,1) #radList = [10.0, 8.0, 6.0, 4.0] #interpSet = InterpolationSetting(60,140,-20,60,160,160,"Cressman",radList) gdata = sdata.interpolateData(interpSet) #---- Set legend scheme ls = LegendScheme(ShapeTypes.Polygon) lsfn = 'D:/Temp/rain1.lgs' ls.importFromXMLFile(lsfn) #---- Create shaded layer print 'Create shaded layer...' layer = DrawMeteoData.createShadedLayer(gdata, ls, 'Rain_shaded', 'Rain', True) layer.setMaskout(True) #---- Add layer mapFrame.addLayer(layer) mapFrame.moveLayer(layer, 0) #---- Set sub title stime = stime + timedelta(hours=-6) subTitle = mapLayout.getTexts().get(1) subTitle.setLabelText(u'(' + stime.strftime('%Y-%m-%d %H:00') + u' 至 ' + etime.strftime('%Y-%m-%d %H:00') + u')')
ylist.append(ymin + ydelt * i) X = jarray.array(xlist, 'd') Y = jarray.array(ylist, 'd') xDim = Dimension(DimensionType.X) xDim.setValues(X) dataInfo.setXDimension(xDim) yDim = Dimension(DimensionType.Y) yDim.setValues(Y) dataInfo.setYDimension(yDim) var = dataInfo.getVariable('Optical_Depth_Land_And_Ocean_Mean_Mean') print var.getName() dimList = [yDim, xDim] var.setDimensions(dimList) gData = mdi.getGridData(var.getName()) #aLS = LegendManage.createLegendSchemeFromGridData(gData, LegendType.GraduatedColor, ShapeTypes.Polygon) aLS = LegendScheme(ShapeTypes.Polygon) aLS.importFromXMLFile(os.path.join(dataDir, 'AOD.lgs')) aLayer = DrawMeteoData.createRasterLayer(gData, "Test_HDF", aLS) mf = miapp.getMapDocument().getActiveMapFrame() mf.addLayer(aLayer) mf.moveLayer(aLayer, 0) mdi = MeteoDataInfo() inf = os.path.join(outDir, 'China_Prec_2010101420.csv') outf = os.path.join(outDir, 'test.csv') mdi.openLonLatData(inf) stData = mdi.getStationData('Precipitation') interData = gData.toStation(stData) interData.saveAsCSVFile(outf, 'AOD') print 'Finished!'