最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

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

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)_全國省、縣界線shp格式矢量圖(精確到縣區(qū)域)\\全國省、縣界線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ù)視圖計算視圖的寬高
        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è)置頁面邊界
        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è)定了刻度線和色階,其他的也很簡單,我在下面說明一下

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

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

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

相關(guān)文章

  • Java基礎(chǔ)之throw和throws的示例詳解

    Java基礎(chǔ)之throw和throws的示例詳解

    throw是用來拋出一個具體的異常實例,而throws是用來聲明方法可能會拋出哪些類型的異常,是對調(diào)用者的一種通知和要求,這篇文章主要介紹了Java基礎(chǔ):throw和throws的詳解,需要的朋友可以參考下
    2024-06-06
  • JavaScript中的isTrusted屬性及其應(yīng)用場景詳解

    JavaScript中的isTrusted屬性及其應(yīng)用場景詳解

    在現(xiàn)代 Web 開發(fā)中,JavaScript 是構(gòu)建交互式應(yīng)用的核心語言,隨著前端技術(shù)的不斷發(fā)展,開發(fā)者需要處理越來越多的復(fù)雜場景,例如事件處理、數(shù)據(jù)傳遞和狀態(tài)管理等,本文將通過一個實際案例,深入探討 isTrusted 屬性的來源、作用,需要的朋友可以參考下
    2025-01-01
  • java實現(xiàn)水果超市管理系統(tǒng)

    java實現(xiàn)水果超市管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了java實現(xiàn)水果超市管理系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • SpringBoot?表單提交全局日期格式轉(zhuǎn)換器實現(xiàn)方式

    SpringBoot?表單提交全局日期格式轉(zhuǎn)換器實現(xiàn)方式

    這篇文章主要介紹了SpringBoot?表單提交全局日期格式轉(zhuǎn)換器,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • 詳解如何在Java中加密和解密zip文件

    詳解如何在Java中加密和解密zip文件

    在本文中,我們來學(xué)習(xí)如何用Zip4j庫創(chuàng)建受密碼保護(hù)的壓縮文件并將其解壓,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,需要的可以參考一下
    2022-09-09
  • Java Swing中的文本框(JTextField)與文本區(qū)(JTextArea)使用實例

    Java Swing中的文本框(JTextField)與文本區(qū)(JTextArea)使用實例

    這篇文章主要介紹了Java Swing中的文本框(JTextField)與文本區(qū)(JTextArea)使用實例,Swing是一個用于開發(fā)Java應(yīng)用程序用戶界面的開發(fā)工具包,需要的朋友可以參考下
    2014-10-10
  • Java實現(xiàn)經(jīng)典俄羅斯方塊游戲

    Java實現(xiàn)經(jīng)典俄羅斯方塊游戲

    俄羅斯方塊是一個最初由阿列克謝帕吉特諾夫在蘇聯(lián)設(shè)計和編程的益智類視頻游戲。本文將利用Java實現(xiàn)這一經(jīng)典的小游戲,需要的可以參考一下
    2022-01-01
  • IDEA創(chuàng)建springboot依賴下載很慢的解決方法

    IDEA創(chuàng)建springboot依賴下載很慢的解決方法

    maven會使用遠(yuǎn)程倉庫來加載依賴,是一個國外的網(wǎng)站,所以會很慢,本文主要介紹了IDEA創(chuàng)建springboot依賴下載很慢的解決方法,具有一定的參考價值,感興趣的可以了解一下
    2023-12-12
  • Java數(shù)組的初始化方法詳解

    Java數(shù)組的初始化方法詳解

    在Java程序開發(fā)中,數(shù)組是一個非常常用的數(shù)據(jù)類型,數(shù)組的初始化是使用數(shù)組來存儲和處理數(shù)據(jù)的關(guān)鍵步驟之一,但是,關(guān)于Java數(shù)組的初始化,經(jīng)常會讓人感到迷惑,本文將詳細(xì)介紹Java數(shù)組的初始化方法,幫助讀者從此告別關(guān)于Java數(shù)組初始化的困惑
    2023-11-11
  • 詳解spring集成mina實現(xiàn)服務(wù)端主動推送(包含心跳檢測)

    詳解spring集成mina實現(xiàn)服務(wù)端主動推送(包含心跳檢測)

    本篇文章主要介紹了詳解spring集成mina實現(xiàn)服務(wù)端主動推送(包含心跳檢測),具有一定的參考價值,與興趣的可以了解一下
    2017-09-09

最新評論

淮南市| 宁波市| 石嘴山市| 新沂市| 南和县| 威宁| 沂源县| 汝南县| 武山县| 巴塘县| 新乐市| 南昌市| 吉安市| 都匀市| 康乐县| 澄城县| 亚东县| 绥滨县| 久治县| 手机| 平昌县| 开远市| 哈巴河县| 石景山区| 汉阴县| 会理县| 延寿县| 长武县| 鹰潭市| 乌拉特后旗| 盘锦市| 阿拉尔市| 雷山县| 分宜县| 革吉县| 井陉县| 南丹县| 东至县| 涞源县| 加查县| 北辰区|