from datetime import timedelta from java.awt import Color from java.awt import Font from javax.swing import JFrame #---- Set directories print 'Set directories...' baseDir = 'D:/MyProgram/Distribution/java/MeteoInfo/MeteoInfo' dataDir = os.path.join(baseDir, 'sample/MICAPS') mapDir = os.path.join(baseDir, 'map') #---- Create MapLayout object mapLayout = MapLayout() mapFrame = mapLayout.getActiveMapFrame() mapView = mapFrame.getMapView() layoutMap = mapLayout.getActiveLayoutMap() #---- Load layers print 'Load layers...' bou2Layer = MapDataManage.loadLayer(os.path.join(mapDir, 'bou2_4p.shp')) lb = bou2Layer.getLegendScheme().getLegendBreaks().get(0) lb.setDrawFill(False) lb.setOutlineColor(Color.gray) mapFrame.addLayer(bou2Layer) bou1Layer = MapDataManage.loadLayer(os.path.join(mapDir, 'bou1_4l.shp')) lb = bou1Layer.getLegendScheme().getLegendBreaks().get(0) lb.setColor(Color.blue) mapFrame.addLayer(bou1Layer) bou1Layer_1 = MapDataManage.loadLayer(os.path.join(mapDir, 'bou1_4l.shp')) lb = bou1Layer_1.getLegendScheme().getLegendBreaks().get(0) lb.setColor(Color.blue)
#---- Create pressure shaded layer print 'Create pressure shaded layer...' pressLayer = DrawMeteoData.createShadedLayer(gdata, 'Pressure', 'PS', True) #---- Add layer mapFrame.addLayer(pressLayer) #--- Move pressure layer to bottom mapFrame.moveLayer(pressLayer, 0) #---- Add title title = mapLayout.addText('MeteoInfo script demo', 350, 30, 'Arial', 16) #---- Zoom layout map print 'Zoom layout map...' mapLayout.getActiveLayoutMap().zoomToExtentLonLatEx(Extent(0, 360, -90, 90)) #---- Set mapframe mapFrame.setGridXDelt(30) mapFrame.setGridYDelt(30) #---- Add legend legend = mapLayout.addLegend(150, 440) legend.setLegendStyle(LegendStyles.Bar_Horizontal) legend.setLegendLayer(pressLayer) #---- Output figure print 'Output figure...' mapLayout.paintGraphics() mapLayout.exportToPicture(os.path.join(figDir, 'pressure_test.ps'))
vdata = mdi.getGridData('V') #---- Create wind vector layer from the U/V grid data layer = DrawMeteoData.createGridVectorLayer(udata, vdata, 'UV_Vector', True) #layer = DrawMeteoData.createGridBarbLayer(udata, vdata, 'UV_Barb', True) #layer = DrawMeteoData.createStreamlineLayer(udata, vdata, 'Z_Streamline', True) #---- Add layer mapFrame.addLayer(layer) #--- Move pressure layer to bottom mapFrame.moveLayer(layer, 0) #---- Add title title = mapLayout.addText('MeteoInfo script demo', 350, 30, 'Arial', 16) #---- Add wind arrow windArrow = mapLayout.addWindArrow(660, 420) #---- Zoom layout map print 'Zoom layout map...' mapLayout.getActiveLayoutMap().zoomToExtentLonLatEx(Extent(70, 140, 15, 55)) #---- Set mapframe mapFrame.setGridXDelt(10) mapFrame.setGridYDelt(10) frame = JFrame('MeteoInfo Script Sample', size = (800, 600)) frame.add(mapLayout) frame.visible = True print 'Finished!'
from org.meteoinfo.global import Extent import os.path from java.awt import Color from javax.swing import JFrame #---- Set directories print 'Set directories...' baseDir = 'D:/MyProgram/Distribution/java/MeteoInfo/MeteoInfo' dataDir = os.path.join(baseDir, 'sample/GrADS') mapDir = os.path.join(baseDir, 'map') figDir = 'D:/Temp/test' #---- Create MapLayout object mapLayout = MapLayout() mapFrame = mapLayout.getActiveMapFrame() mapLayout.getActiveLayoutMap().setWidth(650) mapLayout.getActiveLayoutMap().setHeight(380) #---- Load country layer print 'Load country layer...' countryLayer = MapDataManage.loadLayer(os.path.join(mapDir, 'country1.shp')) lb = countryLayer.getLegendScheme().getLegendBreaks().get(0) lb.setDrawFill(False) lb.setOutlineColor(Color.blue) mapFrame.addLayer(countryLayer) #---- Open GrADS data print 'Open GrADS data...' mdi = MeteoDataInfo() mdi.openGrADSData(os.path.join(dataDir, 'model.ctl'))