MeteoInfo-Java解析與繪圖教程(二)


MeteoInfo-Java解析與繪圖教程(二)

上節說到了數據的簡單解析,這節則說簡單繪圖

繪圖的前置最重要的就是GridData,有了它,基本可以直接繪制出來

例如我們先放棄簡單的自定義繪圖的操作,直接繪圖

        MeteoDataInfo meteo = new MeteoDataInfo();
        meteo.openAWXData("D:\\Download\\ANI_VIS_R04_20210812_0800_FY2G.AWX");
        GridData grid = meteo.getGridData();
        //繪制圖層
        RasterLayer layer = DrawMeteoData.createRasterLayer(grid, "");
        //創建視圖
        MapView view = new MapView();
        //疊加圖層
        view.addLayer(layer);
        MapLayout layout  = new MapLayout();
        layout.getActiveMapFrame().setMapView(view);
        //繪制
        layout.exportToPicture(PathUtil.getDeskPath()+"/1.png");

我們可以看到簡單的方法,就可以直接生成出衛星雲圖,這一切主要靠的是DrawMeteoData繪圖方法,它包含多種繪圖方式

createContourLayer:等值線圖

createRasterLayer:柵格圖

createShadedLayer:等值面圖(色斑圖)

createGridBarbLayer:風羽圖(風場圖)

createStreamlineLayer:流場圖 

以上是主要繪圖方式,當然DrawMeteoData方式有更多的繪圖方式,這個我們后期再說

選擇繪圖方式需要判斷兩點

第一點,數據屬於什么數據,例如衛星數據就應該用createRasterLayer,這是由於衛星圖的數據量大,已經繪制更加細膩

第二點,所需要的呈現方式,這個容易懂,就不說了

當然繪制成上圖這樣可定不行,氣象一般是有自己的色階標准的,因為我們就需要去選擇色階

像衛星圖我們一般和micaps的標准一致,選擇.pal文件

        MeteoDataInfo meteo = new MeteoDataInfo();
        meteo.openAWXData("D:\\Download\\ANI_VIS_R04_20210812_0800_FY2G.AWX");
        GridData grid = meteo.getGridData();
        //色階文件
        String colorPath = "D:\\apache-tomcat-8.0.50\\alt色階\\V-01.pal";
        //繪制圖層
        RasterLayer layer = DrawMeteoData.createRasterLayer(grid, "",colorPath);
        //創建視圖
        MapView view = new MapView();
        //疊加圖層
        view.addLayer(layer);
        MapLayout layout  = new MapLayout();
        layout.getActiveMapFrame().setMapView(view);
        //繪制
        layout.exportToPicture(PathUtil.getDeskPath()+"/1.png");

我們可以直接給createRasterLayer的方法加上色階地址,這種方式只在createRasterLayer方法中可以使用,而其他繪制方法,需要去讀取als文件,這個我會在第三節說明

下面就是加了色階繪制的圖片


通過不同的色階可以做到不同的衛星雲圖樣式

 補充色階

下節就是簡單自定義繪圖配置講解

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM