欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java MeteoInfo解析與繪圖代碼教程詳解

 更新時(shí)間:2021年10月20日 15:39:45   作者:只待時(shí)光靜好  
這篇文章主要介紹了Java MeteoInfo解析與繪圖代碼教程,對(duì)于后端導(dǎo)出圖片的話,就需要添加色階了,這一文很簡(jiǎn)單,就涉及色階,名稱,網(wǎng)格刻度線,感興趣的朋友一起看看吧

最近太忙了,終于有時(shí)間繼續(xù)寫了,上文說(shuō)到了基本上的繪圖方法,但缺少色階呈現(xiàn),一般圖疊加著地圖上,后端不需要管色階,但也要注意web頁(yè)面色階和我們的生成色階一定要對(duì)的上

對(duì)于后端導(dǎo)出圖片的話,就需要添加色階了,這一文很簡(jiǎn)單,就涉及色階,名稱,網(wǎng)格刻度線

順便對(duì)代碼我進(jìn)行了優(yōu)化,看起來(lái)更直接

MeteoDataInfo meteoDataInfo = new MeteoDataInfo();
        meteoDataInfo.openMICAPSData("D:\\解析數(shù)據(jù)\\cldas\\cldas\\TEM\\20081000.000");
        GridData grid = meteoDataInfo.getGridData();
        //讀取地圖A
        VectorLayer scmap = MapDataManage.readMapFile_ShapeFile("C:\\Users\\Administrator\\Downloads\\好例子網(wǎng)_全國(guó)省、縣界線shp格式矢量圖(精確到縣區(qū)域)\\全國(guó)省、縣界線shp格式矢量圖(精確到縣區(qū)域)\\sichuan.shp");
        //讀取地圖B
        VectorLayer qgmap = MapDataManage.readMapFile_ShapeFile("E:\\shp\\四川\\四川省(3)_市界.shp");

        //描述地圖邊界線
        PolygonBreak pb = (PolygonBreak) qgmap.getLegendScheme().getLegendBreak(0);
        //是否設(shè)置填充
        pb.setDrawFill(false);
        //設(shè)置輪廓顏色
        pb.setOutlineColor(Color.black);

        //讀取色階
        LegendScheme als = LgsUtil.readFromLgs("D:\\apache-tomcat-8.0.50\\alt色階\\TEM.lgs");
        //繪制圖層
        VectorLayer layer = DrawMeteoData.createShadedLayer(grid,als,"","",true);
        //創(chuàng)建視圖
        MapView view = new MapView();
        layer = layer.clip(scmap);
        //疊加圖層
        view.addLayer(layer);
        view.addLayer(qgmap);

        //視圖設(shè)置
        MapLayout layout = new MapLayout();
        //去除圖形邊框
        layout.getActiveMapFrame().setDrawNeatLine(true);
        //抗鋸齒
        layout.getActiveMapFrame().setMapView(view);
        view.setAntiAlias(true);
        layout.setAntiAlias(true);

        //根據(jù)視圖計(jì)算視圖的寬高
        Extent extent = view.getExtent();
        int size = 800;
        Rectangle rectangle = new Rectangle(size, (int) (size * 1D / extent.getWidth() * extent.getHeight()));

        //設(shè)置地圖區(qū)域大小和外邊距
        int width = rectangle.width;
        int left = 50;
        int height = rectangle.height;
        int right = 140;
        int top = 50;
        int bottom = 50;
        //設(shè)置頁(yè)面邊界
        layout.setPageBounds(new Rectangle(0, 0, width + left + right, height + top + bottom));
        //獲取地圖框
        MapFrame frame = layout.getActiveMapFrame();
        //設(shè)置布局邊界
        frame.setLayoutBounds(new Rectangle(left, top, width, height));
        //繪制網(wǎng)格刻度線
        frame.setDrawGridLine(true);
        //設(shè)置網(wǎng)格間隔值
        frame.setGridXDelt(0.5);
        frame.setGridYDelt(0.5);
        //設(shè)置圖例
        Rectangle bounds = layout.getActiveMapFrame().getLayoutBounds();
        LayoutLegend legend = layout.addLegend(bounds.x + bounds.width + 15, 0);
        legend.setLegendStyle(LegendStyles.Normal);
        legend.setTop(bounds.y + (bounds.height - legend.getHeight()) / 2);
        legend.setLegendLayer(layer);

        //導(dǎo)出
        layout.exportToPicture(PathUtil.getDeskPath()+"/1.png");

以上的方法我只設(shè)定了刻度線和色階,其他的也很簡(jiǎn)單,我在下面說(shuō)明一下

標(biāo)題設(shè)定-放到設(shè)定好視圖大小的后面
Rectangle bounds = layout.getActiveMapFrame().getLayoutBounds();
layout.addText(title, bounds.x + bounds.width / 2, y, 18);

到目前簡(jiǎn)單的繪制與設(shè)定就沒有什么可說(shuō)的了,基本上的操作在文章里都有了,都是一些樣式的東西,這些都是繪制已經(jīng)進(jìn)行插值的圖片,但在開發(fā)中,我們也會(huì)遇到天擎和CIMISS直接返回的站點(diǎn)數(shù)據(jù),這個(gè)怎么繪制下一節(jié)說(shuō)明一下,再后面的章節(jié)就是個(gè)別問題的研究了

到此這篇關(guān)于Java MeteoInfo解析與繪圖代碼教程詳解的文章就介紹到這了,更多相關(guān)Java MeteoInfo繪圖教程內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 深度deepin安裝以及jdk、tomcat、Nginx安裝教程

    深度deepin安裝以及jdk、tomcat、Nginx安裝教程

    這篇文章主要給大家介紹了關(guān)于深度deepin安裝以及jdk、tomcat、Nginx安裝的相關(guān)資料,按照文中介紹的方法可以輕松的實(shí)現(xiàn)安裝,對(duì)大家的工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2024-01-01
  • Java實(shí)現(xiàn)對(duì)一行英文進(jìn)行單詞提取功能示例

    Java實(shí)現(xiàn)對(duì)一行英文進(jìn)行單詞提取功能示例

    這篇文章主要介紹了Java實(shí)現(xiàn)對(duì)一行英文進(jìn)行單詞提取功能,結(jié)合實(shí)例形式分析了java基于StringTokenizer類進(jìn)行字符串分割的相關(guān)操作技巧,需要的朋友可以參考下
    2017-10-10
  • 基于Java Swing制作一個(gè)Pong小游戲

    基于Java Swing制作一個(gè)Pong小游戲

    《Pong》是美國(guó)雅達(dá)利公司(ATARI)開發(fā)的視頻游戲,該作模擬了兩個(gè)打乒乓球的人,就是在兩條線中間有一個(gè)點(diǎn)在動(dòng),操縱器就是一個(gè)搖桿上有一個(gè)按鈕的那種。本文就來(lái)用Java Swing制作一個(gè)Pong小游戲吧
    2023-01-01
  • Java 超詳細(xì)講解hashCode方法

    Java 超詳細(xì)講解hashCode方法

    在 Java 應(yīng)用程序執(zhí)行期間,在同一對(duì)象上多次調(diào)用 hashCode 方法時(shí),必須一致地返回相同的整數(shù),前提是對(duì)象上 equals 比較中所用的信息沒有被修改。從某一應(yīng)用程序的一次執(zhí)行到同一應(yīng)用程序的另一次執(zhí)行,該整數(shù)無(wú)需保持一致
    2022-04-04
  • 詳解spring中的Aware接口功能

    詳解spring中的Aware接口功能

    Spring的依賴注入的最大亮點(diǎn)是所有的Bean對(duì)Spring容器的存在是沒有意識(shí)的,我們可以將Spring容器換成其他的容器,Spring容器中的Bean的耦合度因此也是極低的,本文重點(diǎn)給大家介紹spring中的Aware接口,感興趣的朋友一起看看吧
    2022-02-02
  • java基于C/S結(jié)構(gòu)實(shí)現(xiàn)多線程聊天室

    java基于C/S結(jié)構(gòu)實(shí)現(xiàn)多線程聊天室

    這篇文章主要為大家詳細(xì)介紹了java基于C/S結(jié)構(gòu)實(shí)現(xiàn)多線程聊天室,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • java中并發(fā)Queue種類與各自API特點(diǎn)以及使用場(chǎng)景說(shuō)明

    java中并發(fā)Queue種類與各自API特點(diǎn)以及使用場(chǎng)景說(shuō)明

    這篇文章主要介紹了java中并發(fā)Queue種類與各自API特點(diǎn)以及使用場(chǎng)景說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • 劍指Offer之Java算法習(xí)題精講字符串與二叉搜索樹

    劍指Offer之Java算法習(xí)題精講字符串與二叉搜索樹

    跟著思路走,之后從簡(jiǎn)單題入手,反復(fù)去看,做過之后可能會(huì)忘記,之后再做一次,記不住就反復(fù)做,反復(fù)尋求思路和規(guī)律,慢慢積累就會(huì)發(fā)現(xiàn)質(zhì)的變化
    2022-03-03
  • Java實(shí)現(xiàn)批量操作Excel的示例詳解

    Java實(shí)現(xiàn)批量操作Excel的示例詳解

    在操作Excel的場(chǎng)景中,通常會(huì)有一些針對(duì)Excel的批量操作,以GcExcel為例,為大家詳細(xì)介紹一下Java是如何實(shí)現(xiàn)批量操作Excel的,需要的可以參考一下
    2023-07-07
  • java后端調(diào)用第三方接口返回圖片流給前端的具體代碼實(shí)現(xiàn)

    java后端調(diào)用第三方接口返回圖片流給前端的具體代碼實(shí)現(xiàn)

    在前后端分離的開發(fā)中,經(jīng)常會(huì)遇到需要從后端返回圖片流給前端的情況,下面這篇文章主要給大家介紹了關(guān)于java后端調(diào)用第三方接口返回圖片流給前端的具體代碼實(shí)現(xiàn),需要的朋友可以參考下
    2024-02-02

最新評(píng)論